5 Eylül 2006 Salı

Visual Basic 6 ile Dosya İşlemleri

Merhaba Webkolog takipçileri!

Bugün sizlere, Visual Basic 6 (VB6) ile dosya işlemleri hakkında kapsamlı bir rehber sunacağım. Bu makale, dosya ve klasör yönetimi konusunda ihtiyaç duyacağınız temel bilgileri ve pratik kod örneklerini içerecek.


Dosya ve Klasör Oluşturma, Silme ve Kopyalama

Dosya sisteminde işlem yaparken en sık kullandığımız komutlar, dosya ve klasör oluşturma, silme ve kopyalama işlemleridir. VB6'da bu işlemleri oldukça basit komutlarla gerçekleştirebiliriz.

Klasör İşlemleri

Yeni bir klasör oluşturmak için MkDir komutunu, mevcut bir klasörü silmek için ise RmDir komutunu kullanırız. Ancak dikkat! RmDir komutu sadece boş klasörleri silebilir.

MkDir "C:\YeniKlasorum" ' Yeni bir klasör oluşturur
RmDir "C:\EskiKlasorum" ' Boş bir klasörü siler
Dosya Silme ve Kopyalama

Bir dosyayı silmek için Kill komutunu kullanırız. Dosyaları kopyalamak için ise FileCopy komutu imdadımıza yetişir. Hedef dosya mevcutsa üzerine yazılacağını unutmayın.

Kill "C:\Raporlar\rapor.txt" ' Belirtilen dosyayı siler
FileCopy "C:\Resimler\foto.jpg", "D:\Yedekler\foto_yedek.jpg" ' Dosyayı bir yerden başka bir yere kopyalar

Dosya Bilgilerini Edinme ve Değiştirme

Bazen bir dosyanın boyutu, oluşturulma tarihi veya öznitelikleri gibi bilgilere ihtiyacımız olabilir. VB6, bu bilgileri edinmek ve hatta değiştirmek için bize güçlü araçlar sunar.

Dosya Boyutu ve Tarihi

Bir dosyanın boyutunu öğrenmek için FileLen fonksiyonunu, oluşturulma tarih ve saatini öğrenmek için ise FileDateTime fonksiyonunu kullanırız.

Dim dosyaBoyutu As Long
dosyaBoyutu = FileLen("C:\Belgelerim\deneme.docx") ' Dosya boyutunu byte cinsinden alır

Dim olusturmaTarihi As Date
olusturmaTarihi = FileDateTime("C:\Belgelerim\deneme.docx") ' Dosyanın oluşturulma tarih ve saatini alır
Dosya Adını Değiştirme ve Taşıma

Bir dosyanın adını değiştirmek veya farklı bir konuma taşımak için Name komutunu kullanırız. Bu komut hem yeniden adlandırma hem de taşıma işlemini yapabilir.

Name "C:\EskiAdim.txt" As "C:\YeniAdim.txt" ' Dosyanın adını değiştirir
Name "C:\Belgelerim\resim.jpg" As "D:\Arşiv\resim.jpg" ' Dosyayı başka bir dizine taşır

Dosya Öznitelikleri (Attributes)

Dosyaların okunabilir, gizli, sistem dosyası gibi belirli öznitelikleri bulunur. Bu öznitelikleri öğrenmek ve değiştirmek, dosya yönetimi açısından oldukça önemlidir.

Öznitelikleri Öğrenme

Bir dosyanın mevcut özniteliklerini öğrenmek için GetAttr fonksiyonunu kullanırız. Bu fonksiyon, dosyanın özniteliklerini temsil eden bir sayı döndürür. Bu sayıyı aşağıdaki sabitlerle karşılaştırarak dosyanın hangi özniteliklere sahip olduğunu anlayabiliriz:

  • vbReadOnly: 1 (Salt okunur)
  • vbHidden: 2 (Gizli)
  • vbSystem: 4 (Sistem dosyası)
  • vbVolume: 8 (Sürücü etiketi - genellikle kullanılmaz)
  • vbDirectory: 16 (Klasör)
  • vbArchive: 32 (Arşiv)
  • vbNormal: 0 (Normal dosya)
Dim attributes As Integer
attributes = GetAttr("C:\Dosyam.txt")

If (attributes And vbReadOnly) = vbReadOnly Then
    MsgBox "Dosya salt okunur."
End If

If (attributes And vbHidden) = vbHidden Then
    MsgBox "Dosya gizli."
End If
Öznitelikleri Değiştirme

Bir dosyanın özniteliklerini değiştirmek için SetAttr komutunu kullanırız. Birden fazla özniteliği ayarlamak için bu sabitleri toplamanız yeterlidir.

SetAttr "C:\GizliDosyam.txt", vbHidden ' Dosyayı gizli yapar
SetAttr "C:\Yedek.txt", vbReadOnly + vbArchive ' Dosyayı salt okunur ve arşiv öznitelikli yapar
SetAttr "C:\AcikDosyam.txt", vbNormal ' Dosyanın tüm özel özniteliklerini kaldırır (normal yapar)

Dizin ve Sürücü İşlemleri

Programınızın çalıştığı aktif dizini veya sürücüyü değiştirmek, bazı durumlarda oldukça işlevsel olabilir.

Aktif Dizin ve Sürücü

Mevcut aktif dizini öğrenmek için CurDir fonksiyonunu, aktif sürücüyü değiştirmek için ise ChDrive komutunu kullanırız. Aktif dizini değiştirmek için ChDir komutunu kullanabilirsiniz.

Dim mevcutDizin As String
mevcutDizin = CurDir("C") ' C sürücüsündeki aktif dizini gösterir

ChDrive "D" ' Aktif sürücüyü D'ye değiştirir
ChDir "D:\Projeler\VBProjem" ' D sürücüsündeki aktif dizini değiştirir

Ek İşlemler: Program Çalıştırma ve Resim Kaydetme

Dosya işlemleri sadece dosya kopyalamak veya silmekle sınırlı değildir. VB6 bize başka yetenekler de sunar.

Program Çalıştırma

Harici bir programı veya dosyayı çalıştırmak için Shell komutunu kullanırız. Bu, farklı uygulamaları programımızdan tetiklemek için oldukça kullanışlıdır.

Shell "C:\Program Files\Adobe Reader\AcroRd32.exe C:\Belgelerim\rapor.pdf", vbNormalFocus ' Bir PDF dosyasını Adobe Reader ile açar
Shell "notepad.exe", vbNormalFocus ' Not defterini açar
Resim Kaydetme

Eğer formunuzda bir Picture Box kontrolünüz varsa, içindeki resmi bir dosyaya kaydetmek için SavePicture komutunu kullanabilirsiniz. Bu, anlık ekran görüntülerini veya dinamik olarak oluşturulmuş resimleri kaydetmek için idealdir.

SavePicture Picture1.Picture, "C:\KaydedilenResim.bmp" ' Picture1 kontrolündeki resmi BMP olarak kaydeder

Umarım bu makale, Visual Basic 6 ile dosya işlemlerini daha iyi anlamanıza ve projelerinizde uygulamanıza yardımcı olmuştur. VB6 her ne kadar eski bir dil olsa da, bazı senaryolarda hala güçlü ve işlevsel olabiliyor.

Webkolog'u takipte kalın!

Hepinize bol kodlu ve başarılı projeler dilerim!

0 yorum:

Yorum Gönder