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
© Copyright 2024 Paperzz