Bilgisayar Programlama Dersi Visual Basic 6.0 Ders Notları

1
Anadolu Üniversitesi
Endüstri Mühendisliği Bölümü
Dosyalama İşlemleri
Visual Basic 6.0
Ders Notları
Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul,
2
Dosyalama İşlemleri
• Programda kullandığımız bazı bilgilerin kalıcı olarak
saklanması için dosyalama işlemlerinden yararlanılır.
• Bir dosyadan kayıt okumak veya dosyaya kayıt yapmak için
önce dosya açılır, üzerinde işlem yapıldıktan sonra da
kapatılır.Eğer açık olan bir dosya tekrar açılmaya çalışılırsa VB
hata verecektir.
• Dosyalar yapılan işe göre temelde iki türde açılır:
– Rasgele Erişimli
• Rasgele erişimli dosyalarda istenen kayda numarası verilerek ulaşılabilir.
– Sıralı Erişimli
• Sıralı işlemli dosyalarda bütün kayıtlar işlendikten sonra istenen kayda
ulaşılabilir.
3
Dosya Açmak
• İster sıralı erişimli olsun ister rasgele erişimli olsun, bir dosyayı
açmak veya oluşturmak için open komutu kullanılır.
Open “Dosya Adı” [For Açmamodu] [Access ErişimModu] [lock]
[#]dosyano [Len=kayituzunlugu]
As
– DosyaAdi: Açılacak veya oluşturulacak dosyanın adı
– AçmaModu : Dosyanın açma modunu belirler
• Random, Dosyadaki her kayıt kayıt uzunluğu ile belirtilen uzunluktaki alanlara
yazılır.Dosyadaki istenen kayda numarası ile erişilebilir.
• Binary, Dosya içindeki her karaktere karakterin numarası verilerek ulaşılabilir.
• Input, dosya okunmak için açılır
• Output, dosya yazmak için açılır
• Append, dosyaya yeni kayıt eklemek için açılır. Output modu gibidir ancak
dosyanın göstericisi dosyanın sonunda yer alır.
Input, Output ve Append modu ile açılan dosyalara sıralı erişimli dosyalar denir.
4
Dosya Açmak (devam)
Open “Dosya Adı” [For Açmamodu] [Access ErişimModu] [lock]
[#]dosyano [Len=kayituzunlugu]
As
– Erişim Modu:Dosya açılırken dosyanın hangi amaçla açıldığı belirtilebilir
• Read, dosya sadece okumak için açılır
• Write, dosya sadece yazmak için açılır
• Read Write, dosya hem okumak hem de yazmak için açılır
– Lock : Dosya açılırken istenirse diğer programların dosyaya erişimi
engellenebilir.
•
•
•
•
Shared, açılan dosyaya diğer uygulamalar tarafından okuma ve yazma yapılabilir
Read, sadece okumaya karşı kilitlenir
Write, sadece yazmaya karşı kilitlenir
ReadWrite, hem okumaya hem de yazmaya karşı kilitlenir.
– Dosyano: dosya açılırken o dosyaya 1 ile 255 arasında bir numara verilir ve
dosyada yapılan işlemlerde bu numara kullanılır.
• Aynı anda birden çok dosya açılıyorsa numaralar farklı olmalıdır.
5
Dosya Açmak (devam)
Open “Dosya Adı” [For Açmamodu] [Access ErişimModu] [lock]
[#]dosyano [Len=kayituzunlugu]
As
– Dosyano: dosya açılırken o dosyaya 1 ile 255 arasında bir numara verilir ve
dosyada yapılan işlemlerde bu numara kullanılır.
• Aynı anda birden çok dosya açılıyorsa numaralar farklı olmalıdır.
– Kayituzunlugu: dosyanın açım moduna göre bu parametrenin iki farklı anlamı
vardır ve 32767 den büyük olamaz.
• Binary açılan dosyalar için bu parametrenin anlamı yoktur
• Dosya random açılmışsa
– bu sayı her kaydın uzunluğunu belirler
– varsayılan değeri 128 dir
• Dosya random modundan farklı bir modda açılmışsa bu sayı karakter buferının
boyutunu belirler.
– Verilmezse 512 karakter olarak belirlenir.
– Bufer bir seferde okunacak ve yazılacak karakter sayısını belirler
6
Rasgele erişimli dosyaya yazma ve okuma
• Random veya Binary modu ile açılan dosyalara kayıtlar
put komut ile yazılar ve get komutu ile okunur
Put [#] dosyano, [kayitno], degisken
Get [#] dosyano, [kayitno], degisken
– Degisken : içeriği yazılacak veya kaydın alınacağı değişken
– dosyano : yazılacak veya okunacak dosyanın numarası
– Kayitno : yazılacak veya okunacak değişkenin dosya içindeki
kayıt numarası
• Bu numara dosyadaki ilk kayıt için birdir.
7
Rasgele erişimli dosyaya yazma ve okuma
Örnek
8
Sıralı erişimli dosyaya yazma ve okuma
• Output ve Append modu ile açılan dosyalara write veya
print komutu ile yazma yapılır
• Input modu ile açılan dosyadan input veya line input
komutları ile değişkenlere değer okunur
Write [#] dosyano, [,degiskenler]
Print [#] dosyano, [,degiskenler]
Input [#] dosyano, [,degiskenler]
Line Input [#] dosyano, [,degiskenler]
Input (karakter Sayısı, dosyano)
– Degiskenler : dosyaya yazılacak olan değişken listesi araya virgül
konarak yazılır.
– dosyano : yazılacak dosyanın numarası
Write ile dosyaya yazılan değişkenler tırnak içerisinde ve araya virgül konarak
yazılırlar. Son değişkenden sonra satır sonu karakteri konur.
9
Sıralı erişimli dosyaya yazma
Örnek
10
Sıralı erişimli dosyaya okuma
Örnek
11
Dosyaları Kapatmak
• Hangi modda açılırsa açılsın dosya close komutu ile
numarası verilerek kapatılır
Close [#] dosyano, [;#DosyaNo]…
• Açık olan bütün dosyaları kapatmak için reset
komutu kullanılır.
Reset
12
Dosya Sonu Kontrolü
EOF(dosyano)
• Numarası verilen dosyanın sonuna gelinmişse true
değeri geri çevirir
• Sıralı erişimli dosyalarda dosya sonu tespiti için
kullanılır
13
Örnek