Skip to main content

AccessTr.neT


Kodda Klasörleri Listeletme

Kodda Klasörleri Listeletme

Çözüldü #13

Private Sub Form_Load()
Dim sCurFile As String
Dim sCurDir As String
Dim colDir As Collection

If Right$(StartDir, 1) <> "\" Then StartDir = StartDir & "D:\deneme\"
Set colDir = New Collection
Set ListDir = New Collection

colDir.Add StartDir
While colDir.Count

sCurDir = colDir.Item(1)
colDir.Remove 1

sCurFile = Dir$(sCurDir, vbDirectory)

While Len(sCurFile)
If (sCurFile <> ".") And (sCurFile <> "..") Then
If GetAttr(sCurDir & sCurFile) = vbDirectory Then
Me.List0.AddItem sCurDir & sCurFile & "\"
Me.List2.AddItem sCurFile
End If
End If
sCurFile = Dir$
Wend
DoEvents
Wend
End Sub
sadece klasörleri buluyor. Sonunda buldumImg-grin Belki benden başkalarınında işine yarar. Herkese çok tşk ederim.
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #14
Çok teşekkürler Sayın erdem55. Mutlaka birilerinin işine yarayacaktır. Bir de izninle bir şey sormak istiyorum. Collection nasıl bir değişken türüdür.? Eklenen bir modüle veya ocx e referans mı veriliyor?
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 26/11/2010, 02:16, Düzenleyen: Hayri16.
Cevapla
Çözüldü #15
(26/11/2010, 02:15)Hayri16 yazdı: Collection nasıl bir değişken türüdür.? Eklenen bir modüle veya ocx e referans mı veriliyor?

Hayır.

Collection'lar, içerisinde birden fazla veri depolayabilen, gerektiğinde(benzersiz) veri ekleme, silme gibi işlemlere olanak sağlayan sanal nesnelerdir.

Örneğin Excel'de hazırladığım alttaki function ile bir aralığı benzersiz listeleyebiliyorum.
Aralıktaki veriler ilk önce benzersiz olarak Collection nesnesine alınmıştır, daha sonra oradan tek tek Dizi() adındaki başka bir sanal diziye alınmış ve sıralanmıştır.

Function Benzersiz_Listele(ByVal Aralik As Variant) As Variant
Dim Col As New Collection
Dim i As Long
Dim Dizi As Variant
Dim Hucre As Variant

On Error Resume Next
For Each Hucre In Aralik
Col.Add CStr(Hucre), CStr(Hucre)
Next
On Error GoTo 0

If Col.Count = 1 And Col.Item(1) = vbNullString Then
Benzersiz_Listele = Null
Exit Function
End If

ReDim Dizi(1 To Col.Count)
For i = 1 To Col.Count
Dizi(i) = Col.Item(i)
Next
Benzersiz_Listele = Dizi
End Function

Klasör listelemek için ben de bir örnek vereyim:

Sub Klasor_Listele()
'Microsoft Scripting Runtime referansını gerektirir
Dim FSO As FileSystemObject
Dim Yol As String, Klasor As Folder, Alt_Klasor As Folder
Yol = "C:\Documents and Settings\KLasörAdı\Desktop\"

Set FSO = New FileSystemObject
With FSO
Set Klasor = .GetFolder(Yol)
For Each Alt_Klasor In Klasor.SubFolders
Call MsgBox(Alt_Klasor.Name)
Next Alt_Klasor
End With
End Sub
Mesajlarımızı Türkçe yazım kurallarına uygun yazalım.
Emeğe saygı gösterelim, bir teşekkürü çok görmeyelim.
Cevapla
Çözüldü #16
Sayın erdem55;

Günaydın..

Rica etsem dosyanızın son halini ekleyebilir misiniz?

İlgi ve yardımınız için teşekkürler..

Bu arada konuya ilişkin katkı veren hocalarım ve forum dostlarına da teşekkürler.
Cevapla
Çözüldü #17
Sayın maytas;
Öğretici açıklamalarınız için teşekkür ederim.
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #18
(26/11/2010, 11:27)assenucler yazdı: Sayın erdem55;

Günaydın..

Rica etsem dosyanızın son halini ekleyebilir misiniz?

İlgi ve yardımınız için teşekkürler..

Bu arada konuya ilişkin katkı veren hocalarım ve forum dostlarına da teşekkürler.

Syn assenucler Dosyam şuan daha hazırlık aşamasında olduğundan eklemiyorum. Bititiğide int cafecilerin işine yarayacağını düşündüğüm biir program olacağına inanıyorum. Treeview bağlantılarını bitirdikten sonra çok bi işlemi kalmıyor. Zaman bulursam en kısa zamanda bitirip en son halini ekleyeceğim. Herkese yardımları için çok tşk ederim.
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da