DOSYA VE DİZİN İŞLEMLERİ
9.1. CurDir, ChDir, MkDir ve RmDir Deyim ve Fonksiyonları
Bu deyim ve fonksiyonlar sayesinde çalışma
anında geçerli dizin veya klasörün adını öğrenebilir, başka bir dizine
geçebilir, istediğiniz dizini silebilir veya yeni bir dizin oluşturabilirsiniz.
Bu fonksiyonların işlevlerini anlatmak için önce yeni bir proje hazırladım ve
projenin Form_Click yordamını Şekil 9.1'deki gibi düzenledim.
Şekil 9.1
Şekil 9.2
Şekil 9.3
Şekil 9.4
Şekil 9.5
Burada kullanılan CurDir fonksiyonuna dikkat ediniz. Eğer CurDir ile başka bir sürücüdeki geçerli dizinin adını öğrenmek istiyorsanız CurDir'ı fonksiyon olarak kullanmalısınız. Şekil 9.5'te verilen CurDir() fonksiyonunu kullanma örneği ile "D:" sürücüsündeki geçerli dizinin adı öğrenilebilir. Diğer yandan ChDrive() fonksiyonunu kullanarak Şekil 9.6'daki gibi geçerli sürücüyü değiştirebilirsiniz.Şekil 9.6
Şimdi ise MkDir() deyimi ile çalışma anında "A:" sürücüsünde kök dizininin altında bir dizin hazırlayacağım. Bu amaçla Form_Click yordamını Şekil 9.7'deki gibi değiştirdim.Şekil 9.7
Şekil 9.8
9.2. FileCopy Deyimi
Bu deyimle bir sürücüden başka bir sürücüye, bir dizinden başka bir dizine dosya kopyalayabilir veya aynı dizin içinde dosyanın adını değiştirerek başka bir kopyasını hazırlayabilirsiniz. Şimdi örnek olması için "C:\VB5\Menü.Vbp dosyasını A: sürücüsüne kopyalayacağım. Bu amaçla üzerinde çalıştığım projenin formuna "Kopyala" adına sahip bir düğme yerleştirdim ve düğmenin Click yordamına Şekil 9.9'daki program satırını ekledim.
Şekil 9.9
9.3. Kill Deyimi
Şekil 9.10
Çalışma sırasında Sil düğmesine basılırsa belirtilen dosya A: sürücüsünden silinir. Silinecek dosya veya dosyaların adlarını yukarıda yapıldığı şekilde doğrudan yazmak yerine, önce bir değişkene aktarıp, dosya adını içeren değişken adını Kill deyimine parametre olarak verebilirsiniz.9.4. Name Deyimi
Name deyimi dosya ismi değiştirmek için kullanılır. Bu deyimin çalışmasını göstermek için hazırladığım projenin formuna Şekil 9.11'de görüldüğü gibi iki tane metin kutusu nesnesi yerleştirdim. İlk metin kutusuna çalışma anında adı değiştirilecek dosyanın adı, ikinci metin kutusuna ise dosyaya verilmek istenen yeni ad yazılacak.
Şekil 9.11
Çalışma sırasında önce,
ilk metin kutusuna adı değiştirilmek istenen dosyanın adı, ardından dosyaya
verilmek istenen yeni ad ikinci metin kutusuna yazılıp "Ad Değiştir" düğmesine
tıklama yapılacak. Bu düğmeye basılması ile Şekil 9.12'deki program satırları
işletilerek isim değiştirme işlemi gerçekleştirilmiş olacak.
Şekil 9.12
9.5. FileLen() ve FileDataTime() Fonksiyonları
Diskte bulunan bir dosyanın byte olarak büyüklüğünü öğrenmek istiyorsanız FileLen() fonksiyonundan yararlanabilirsiniz. Bu fonksiyon parametre olarak büyüklüğü öğrenilmek istenen dosyanın adını almaktadır. Dosya geçerli sürücü veya dizinde değilse, dosyanın yer aldığı dizini dosya adına ekleyebilirsiniz.
Bir dosyanın en son ne zaman değiştirildiğini öğrenmek istiyorsanız FileDateTime() fonksiyonundan yararlanabilirsiniz. Bu fonksiyona parametre olarak son değiştirildiği tarihi öğrenilmek istenen dosyanın adı verilir.
9.6. GetAttr() ve SetAttr() Fonksiyonları
GetAttr() fonksiyonu ile çalışma anında istediğiniz dosyanın öz
niteliklerini öğrenebilirsiniz. GetAttr() fonksiyonu dışardan parametre olarak öz niteliği öğrenilmek istenen dosyanın adını almaktadır. Eğer Getattr() fonksiyonu kendisine parametre olarak verilen dosyanın öz niteliği Normal ise geriye 0 sayısal değerini döndürür. GetAttr() fonksiyonunun geriye döndürebildiği değerler Tablo 9.1'de verilmiştir. Ancak bir dosyanın birden fazla niteliği olabilir. Örneğin bir dosyanın hem gizli hem de yalnız okunur özelliği varsa GetAttr() fonksiyonu o dosya ile ilgili olarak geriye 3 değerini döndürür.
Geriye döndürülen değer |
Dosyanın öz niteliği |
0 |
Normal |
1 |
Read only |
2 |
Hidden |
4 |
System |
16 |
Directory |
Tablo 9.1: Getattr fonksiyonunun geri dönderdiği değerlerin Tablosu
Şekil 9.13
Çalışma anında öz niteliğinde değişiklik yapılmak istenen dosyanın adı metin kutusuna yazılacak ve dosyaya verilmek istenen özellikle ilgili olarak istenen düğme tıklanacak. "Sistem dosyası" düğmesi için hazırladığım program satırını Şekil 9.14'te verdim.Şekil 9.14
9.7. Dir() Fonksiyonu
Bu fonksiyon DOS'un DIR komutu ile benzer işleve
sahiptir. Bu fonksiyon sayesinde istediğiniz klasördeki istediğiniz özelliklere
sahip dosyaları bir formun üzerine yazabilir veya Liste kutusu nesnesine
listeleyebilirsiniz. Şekil 9.15'de ekran görüntüsü verilen program satırları ile
aktif dizindeki ilk dosyanın adı formun üzerine yazılır.
Şekil 9.15
Şekil 9.16
Şekil 9.17
Çalışma anında formun üzerinde tıklama yapılacak olunursa, belirtilen dizindeki EXE uzantılı bütün dosyalar aşağıdaki (Şekil 9.18) gibi listelenir.Şekil 9.18