Page 1 of 1

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

Posted: Wed 18/03/2009 5:24 pm
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!

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

Posted: Thu 19/03/2009 9:20 am
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

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

Posted: Thu 19/03/2009 10:11 am
by newbi
vậy thì thử trước đi. :D

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

Posted: Thu 19/03/2009 10:23 am
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

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

Posted: Thu 19/03/2009 5:56 pm
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 ....

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

Posted: Thu 19/03/2009 6:49 pm
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ứ.

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

Posted: Fri 20/03/2009 6:29 pm
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.

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

Posted: Fri 20/03/2009 8:05 pm
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

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

Posted: Sun 22/03/2009 12:24 pm
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à.

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

Posted: Sun 22/03/2009 3:19 pm
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

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

Posted: Mon 23/03/2009 1:01 am
by newbi
. Thử tạo ra file mới trong thư mục path unicode..

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

Posted: Mon 23/03/2009 1:11 am
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

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

Posted: Mon 23/03/2009 5:41 am
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

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

Posted: Sun 19/04/2009 8:48 pm
by newbi
Cảm ơn bác nha.