Hỏi về thay đổi thuộc tính file/folder

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Moderator: tungblt

Post Reply
newbi
Thành viên chính thức
Thành viên chính thức
Posts: 46
Joined: Thu 20/11/2008 8:01 am

Hỏi về thay đổi thuộc tính file/folder

Post by newbi »

Làm sao để thao tác với file/folder có đường dẫn unicode (copy, xóa, đổi tên, setattrib, mở, tạo file/folder con)? Ai biết chỉ dùm nha !Thank!
User avatar
kienhd
Thành viên năng nổ
Thành viên năng nổ
Posts: 65
Joined: Mon 06/10/2008 2:43 pm

Re: Hỏi về thay đổi thuộc tính file/folder

Post by kienhd »

thửi dùng system.io.file và system.io.directory mình cũng đang mò , được gì post lên cho mình xem với
Để tiền trong túi làm chi
Mua liều thuốc chuột phòng khi thất tình
newbi
Thành viên chính thức
Thành viên chính thức
Posts: 46
Joined: Thu 20/11/2008 8:01 am

Re: Hỏi về thay đổi thuộc tính file/folder

Post by newbi »

vậy thì thử trước đi. :D
DoMinhTho
Thành viên tích cực
Thành viên tích cực
Posts: 108
Joined: Sun 11/01/2009 11:40 am
Has thanked: 2 times
Been thanked: 1 time

Re: Hỏi về thay đổi thuộc tính file/folder

Post by DoMinhTho »

có một số bài về việc quản lý file và folder nè bạn:
http://www.caulacbovb.com/forum/viewtop ... f=28&t=510
http://www.caulacbovb.com/forum/viewtop ... &t=18#p204
Hàm bỏ thuộc tính:

Code: Select all

 Function BoTTinh(PathFile As String)Dim BoThuoctinh As Byte BoThuoctinh = GetAttr(PathFile) BoThuoctinh = BoThuoctinh And Not vbReadOnly  'b? thu?c tính ch? d?c BoThuoctinh = BoThuoctinh And Not vbHidden   'b? thu?c tính ?n BoThuoctinh = BoThuoctinh And Not vbSystem   'b? thu?c tính ?n h? th?ng SetAttr PathFile, BoThuoctinhEnd Function 
http://www.caulacbovb.com/forum/viewtop ... f=28&t=488
Dispirited Fact
newbi
Thành viên chính thức
Thành viên chính thức
Posts: 46
Joined: Thu 20/11/2008 8:01 am

Re: Hỏi về thay đổi thuộc tính file/folder

Post by newbi »

Anh này cũng vui tính.Anh thử thay path bằng chuỗi unicode xem? nếu không báo lỗi ....
DoMinhTho
Thành viên tích cực
Thành viên tích cực
Posts: 108
Joined: Sun 11/01/2009 11:40 am
Has thanked: 2 times
Been thanked: 1 time

Re: Hỏi về thay đổi thuộc tính file/folder

Post by DoMinhTho »

mình đã từng làm 1 project cũng có thao tác trên unicode.Và mọi việc đều ok.ban dùng kết hợp các cách mới đạt đc kết quả chứ.
Dispirited Fact
newbi
Thành viên chính thức
Thành viên chính thức
Posts: 46
Joined: Thu 20/11/2008 8:01 am

Re: Hỏi về thay đổi thuộc tính file/folder

Post by newbi »

Vậy thì up lên đi.Thực ra tui đang làm cái khác cần thao tác tên path unicode nhưng giờ tìm được cách khác rồi.Không cần nữa.
User avatar
truongphu
VIP
VIP
Posts: 4781
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 525 times

Re: Hỏi về thay đổi thuộc tính file/folder

Post by truongphu »

Tôi đã hướng dẫn bạn rồi, sao bạn không thực hiện?
Re: Duyệt File/Folder theo chiều rộng (không Đệ Quy)

làm theo bài trên thì unicode cũng bình thường
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
newbi
Thành viên chính thức
Thành viên chính thức
Posts: 46
Joined: Thu 20/11/2008 8:01 am

Re: Hỏi về thay đổi thuộc tính file/folder

Post by newbi »

Bác hiểu lầm ý em rồi thì phải. Hiện unicode thì được nhưng mà không thể nào thao tác được đâu. Em đã tham khảo bài của bác rồi. Thử tạo ra file mới trong thư mục path unicode, mặc dù không báo lỗi nhưng mà không thể nào tạo ra được. Các thao tác khác với Folder đó cũng như vậy thôi. Chứ còn dùng unicode thì có nhiều bài rồi mà.
User avatar
truongphu
VIP
VIP
Posts: 4781
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 525 times

Re: Hỏi về thay đổi thuộc tính file/folder

Post by truongphu »

Code: Select all

Private Sub Command1_Click() ' Cách 1, Nho' Windows làmOn Error Resume NextSet PathFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Select a folder:", 0)TextBox1 = PathFolder.Self.PathEnd Sub Private Sub Command2_Click() ' Cách 2, thuâ`n CodeOn Error Resume NextIf TextBox2.Text = "" Then Exit SubSet fso = CreateObject("Scripting.FileSystemObject")  Set f = fso.CreateFolder(TextBox2.Text)MsgBox "Ðã Xong!"MsgBox f.PathEnd Sub
Attachments
Tao file và Folder tên Unicode.rar
(1.69 KiB) Downloaded 384 times
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
newbi
Thành viên chính thức
Thành viên chính thức
Posts: 46
Joined: Thu 20/11/2008 8:01 am

Re: Hỏi về thay đổi thuộc tính file/folder

Post by newbi »

. Thử tạo ra file mới trong thư mục path unicode..
newbi
Thành viên chính thức
Thành viên chính thức
Posts: 46
Joined: Thu 20/11/2008 8:01 am

Re: Hỏi về thay đổi thuộc tính file/folder

Post by newbi »

Chứ không phải tạo file unicode trong path thường.Hic.
Em dùng thử code của bác bằng cách sửa lại:

Private Sub Command2_Click() ' Cách 2, thuâ`n Code
On Error Resume Next
If TextBox2.Text = "" Then Exit Sub
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder(TextBox2.Text)
MsgBox f.Path
ChDir f.Path
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateFolder(TextBox2.Text)
End Sub

Mục đích là sau khi tạo thư mục unicode xong nó sẽ tạo tiếp một thư mục mói cùng tên và nằm trong thư mục vừa tạo. Nếu tạo được thì mới đúng ý em. Cái của bác chỉ tạo được 1 folder unicode thôi. Còn tạo bên trong path unicode thì không được.

Còn cách 1 thì được rồi. Nhưng bác thử nghĩ khi chương trình đang chạy, duyệt cỡ vài trăm thư mục mà mở ra vài trăm dialog thì treo máy rồi còn gì.
Dù sao cũng cảm ơn bác đã tận tình giúp đỡ em. Chắc bác bực mình lắm. Nhưng em là dân không chuyên mà. Thấy hay nên tự mò thôi, không có sách vở gì cả. :D
User avatar
truongphu
VIP
VIP
Posts: 4781
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 525 times

Re: Hỏi về thay đổi thuộc tính file/folder

Post by truongphu »

newbi wrote:Mục đích là sau khi tạo thư mục unicode xong nó sẽ tạo tiếp một thư mục mói cùng tên và nằm trong thư mục vừa tạo. Nếu tạo được thì mới đúng ý em. Cái của bác chỉ tạo được 1 folder unicode thôi. Còn tạo bên trong path unicode thì không được.
..
Chắc bác bực mình lắm. Nhưng em là dân không chuyên mà. Thấy hay nên tự mò thôi, không có sách vở gì cả.
- Cũng chẳng bực mình gì, đôi khi yêu cầu của bạn lại là ý hay cần giải quết
- Ai đầu tiên học mò mà không thế
- Code tôi đưa ra là dạng căn bản, trên cơ sở đó bạn PHẢI VẬN DỤNG sao cho hợp yêu cầu mình

Giả sử có đường dẫn Unicode:
C:\Đường dẫn\Bạn newbi\Đang học Y\Tự mò
* mà chả có folder nào hiện diện, bạn hãy cắt chuỗi trên (Split) với dấu "\"
Dùng vòng lặp mà tạo Folder tuần tự
và chỉ cần khai một lần đối tượng Set fso = CreateObject("Scripting.FileSystemObject") là đủ
vì đúng ra, để giải phóng bộ nhớ, bạn còn phải viết khi đã xong việc đó, qua việc khác:

Code: Select all

Set fso = nothing
* trường hợp có một vài folder hiện diện thì:
- hoặc xác định đã có folder đó chưa
- hoặc on error resume next

Chúc thành công
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
newbi
Thành viên chính thức
Thành viên chính thức
Posts: 46
Joined: Thu 20/11/2008 8:01 am

Re: Hỏi về thay đổi thuộc tính file/folder

Post by newbi »

Cảm ơn bác nha.
Post Reply

Return to “Visual Basic 6 và Visual Basic Script (VB & VBS)”