21 Ekim 2011 Cuma

3. Path içerisindeki dizin isimlerini vektöre aktarmak

Sık sık kullandığım ve işlerimi oldukça pratikleştiren bir fonksiyon. Bir klasörün tam yolunu (path) verdiğinizde, tek boyutlu bir dizi içerisinde tüm klasör adlarını geri döndüren basit bir fonksiyon.


Bu işlem için aşağıda hazırladığım fonksiyon kullanılabilir. Kendisi işte burada;

    Private Function get_folders_from_path_to_array(ByVal yol As String
        Dim klasor_adları() As String = {}
        Dim klasöradı As String = ""
            For i = 0 To yol.Length - 1
                If yol(i) = "\" Then
                    ReDim Preserve klasor_adları(klasor_adları.Length)
                    klasor_adları(klasor_adları.Length - 1) = klasöradı
                    klasöradı = ""
                Else
                    klasöradı = klasöradı + yol(i).ToString
                End If
            Next
            If klasöradı <> "" Then
                ReDim Preserve klasor_adları(klasor_adları.Length)
                klasor_adları(klasor_adları.Length - 1) = klasöradı
            End If
        Return klasor_adları
    End Function 


Fonksiyonun çağrılmasını da yazayım tam olsun;

Dim klasorler() As String = get_folders_from_path_to_array(path)



Böylece klasorler() adındaki vektör içerisine path adlı stringde verdiğimiz klasör yolunda bulunan tüm klasörler hiyerarşik sırayla atılacaklar. 




Örneğin;

        Dim dirs_array() As String = get_folders_from_path_to_array("D:\Ders\Veri Tabanı\Final Notları")



aşağıdaki şekilde bir vektör (tek boyutlu array) oluşturacaktır:

        dirs_array(0) = "D:"
        dirs_array(1) = "Ders"
        dirs_array(2) = "Veri Tabanı"
        dirs_array(3) = "Final Notları"


Hiç yorum yok:

Yorum Gönder

Her türlü eleştiri, görüş, öneri, soru ve açıklamanızı yazmaktan çekinmeyin. (You might write in English, too)