Visual Basic Dosyalama İşlemleri
Visual Basic'de bir dosya 5 farklı biçimde açılabilir.
* Input
* Random
* Output
* Append
* Binary
Şimdi bu modları nasıl kullanacağımızı görelim.
Input Erişim Modu
Input modunda dosya, üzerinde değişiklik yapılmadan sadece okunmak için açılır.
Örnek olarak:
Private Sub Form_Load()
Open "c:\deneme.txt" For Input As #1
Input #1, a
MsgBox a
Close #1
End Sub
Burada "deneme.txt" dosyası sadece okunmak için 1 numaralı dosya olarak açıldı. Input komutuyla 1 numaralı dosyanın 1. satırı okundu. Birinci satırı "a" harfi ile simgeledik. Ve Msgbox'ta 1. satır görüntülendi. Close komutu ile de 1 numaralı dosya kapatıldı.
Random Erişim Modu
Bu modda her kayıta belirli bir uzunluk verilerek sadece bu uzunluktaki alana yazılması sağlanır. Yani bir kaydın uzunluğunu 10 karakter olarak belirlediysek, 9 karakter bile yazar isek bu kayda 10 karakter olarak geçer. Eksik olan her bir karakter için boşluk atanacaktır.
Mesela; Her kayıtın uzunluğu 10 karakter olsun. Şöyle bir örnek verebiliriz.
Private Sub Form_Load()
Dim ad As String * 10, isim 'Her bir kayıt 10 karakter olacak
isim = "c:\deneme.txt"
Open isim For Random As #1 Len = 10 'Dosyamızı açıyoruz
ad = "İnternette"
Put #1, 1, ad
"İnternette" kelimesini 1 nolu kayda yazıyoruz
ad = "Online"
Put #1, 2, ad
'"Online" kelimesini 2 nolu kayda yazıyoruz.
Close #1 'Dosyamızı kapatıyoruz.
End Sub
Bu kodu çalıştırdığımızda "deneme.txt" dosyasına şu şekilde yazılacaktır.
İnternetteOnline****
Görüldüğü gibi "Online" kelimesi 10 karakteri tamamlamadığı için kelimeden sonra 10'a kadar olanlar yerine boşluk vuruldu. Ayrıca bu modda her kayda bir kayıt numarası verildiği için daha sonra okunmak istendiğinde kayıt numarası verilerek okunma işlemi gerçekleştirilebilir. Random modda Dosyadan okuma yapılırken "Get", dosyaya yazılırken "Put" komutları kullanılır.
Output Modu
Bir dosyaya yazılmak için dosya sıralı erişim modunda açılır.
Örnek olarak:
Private Sub Form_Load()
Dim no1, no2, no3
Open "c:\deneme.txt" For Output As #1
no1 = "Aklın"
no2 = "Kalemi"
no3 = "Online"
Print #1, no1, no2, no3
Close #1End Sub
Bu kodu çalıştırdığımızda "c:\deneme.txt" dosyasına şu şekilde yazma işlemi yapılır.
'Aklın Kalemi Online'
Bu kodda dosyaya yazma için "Print" komutunu kullandık. "Write" komutuda aynı "Print" komutu gibidir ancak her kaydı tırnak içine alır ve kayıtlar arasına virgül koyulmasını sağlar.
"Aklın","Kalemi","Online"
Bu modun bir dezanavtajı ise her yeni kayıtta eski kaydın üzerine yazılmasıdır.
Append Modu
Aynı Output modu gibi çalışır fakat Output modundaki gibi eski kaydın üzerine yazmak yerine yeni kaydı eski kaydın altına ekleyerek çalışır.
Örnek olarak yukarıdaki örneği Append modunda açalım.
Private Sub Form_Load()
Dim no1, no2, no3
Open "c:\deneme.txt" For Append As #1
no1 = "Aklın"
Print #1, no1
no2 = "Kalemi"
Print #1, no2
no3 = "Online"
Print #1, no3
Close #1
End Sub
Bu kodu çalıştırdığımızda dosyaya şu şekilde yazılacaktır:
'AklınKalemiOnline'
Binary Modu
Binary modunda dosya içerisindeki her karaktere, karakter numarası verilerek ulaşılabilir. Hatırlarsanız Random modda her bir kayda bütün olarak ulaşabilirken, Binary modda her bir karaktere ulaşmamız mümkündür. Aynı şekilde bu modda da okuma ve yazma için "Put" ve "Get" komutları kullanılır.
0 yorum:
Yorum Gönder