V.Basic ve programlama-51
Dosya İşlemleri
Bilgilerin kalıcı olarak saklanması gerekmektedir. Bunun için dosyalar kullanılır. Bu dosyalara veri dosyaları denir. Bu dosyaların formatı
genelde text dir. Daha önce de belirtildiği gibi dosyaların bir ismi ve uzantısı vardır. Veri dosyalarında genelde uzantı “txt” yada “dat”
kullanılmaktadır.
Örnek ogrenci.txt dosyasında bilgiler şöyle yer almaktadır.
V.Basic ve programlama-52
Dosya İşlemleri ogrenci.txt dosyası
Bu dosyada gizli bazı işaretler vardır. Satır sonu karakteri , dosya sonu karakteri ve hareket eden imleç (kursor) vardır. Dosya içinde imleç hareketlidir, bu hareketi aşağı doğru tek-tek hareket eder. Yukarı doğru hareketi sabittir ve ilk kayda gider, yukarı doğru tek tek gitmez.
Ogr_no Adi Soyadi Dogum_tarihi Bilgi alanları başlığı
(Bu kısım dosyada yer almaz)
91050099 Yahya Demircan 08/05/1970 1.kayıt
92050015 Banu Demirel 01/01/1982 2.kayıt
99050001 Murat Köseçavuş 03/04/1975 3.kayıt
….. …. …. …. N. Kayıt
V.Basic ve programlama-53
Dosyaya Erişim
Dosyalardaki kayıtları kullanmak için onlara erişmek gerekmektedir. Erişilen veriler üzerinde yapılacak işlemler şunlardır.
• Kayıtları sorgulama (arama, göz atma, kayıtları saymak, vs)
• Kayıtları güncellemek
• Kayıt silmek
• Yeni bir kayıt eklemek
Bu işlemlere veri işleme denilmektedir. Veri işlemek için dosyalara erişmek gereklidir.
V.Basic ve programlama-54
Sıralı Erişimde Dosya açma Durumları
Veri işlemede 3 farklı metot vardır, bunlara kipismini vereceğiz.
• Output kipi: Dosya bu modda açılmış ise sadece kayıt yazdırılabilir. Bu mod ile açılan dosyada, daha önceden bulunan kayıtlar yok olacak ve boş bir dosya oluşacaktır. Eğer açılan dosya yok ise oluşturulacak, var ise içi boşaltılacaktır. Dikkatli kullanılmaz ise tehlikeli bir mod olacaktır.
• Input Kipip: Bu kip ile ancak okuma işlemi yapılabilir. Bu nedenle var olan bir dosya ancak bu kiple açılabilir.
• Append Kipi: Bu kiple açılan dosyaya yeni kayıt eklemek için kullanılır. Eğer dosya daha önceden var ise , yeni kayıt bu dosyanın en altına ilave edilecektir, dosya yok ise, dosya oluşacak ve ilave edilecek kayıt bu dosyaya yazdırılacaktır.
V.Basic ve programlama-55
Sıralı Erişimde Dosya açma Durumları Bir dosya şu şekilde açılır.
OPEN “dosya_adi” FOR <kip> AS #n
dosya_adi : veri işleyeceğimiz dosyanın adı örnek “ogrenci.txt”. Eğer yapılan uygulama ile veri dosyası farklı klasörde ise, dosya adından önce dosyanın yoluda belirtilmelidir.
“c:\a205\ogrenci.txt” ifadesinde “c:\a205\” dosyanın harddiskteki yerini göstermektedir.
kip: Output, Input yada Append olabilir
n : integer sayı, açılan dosyaya verilen numaradır. Dosyanın rumuzu olarakta anılabilir. Artık ilgili dosya daha sonra bu rumuzla anılacaktır. Verilen numaralar her dosya için farklı
olmalıdır. Bu rumuzlar Close komutunu yazana kadar geçerlidir.
V.Basic ve programlama-56
Sıralı Erişimde Dosya açma Durumları Örnek:
Open “ogrenci.txt” FOR output AS #1 ---
---
CLOSE #1
Şeklinde açılır gerekli işlemlerden sonra close ile kapatılır.
V.Basic ve programlama-57
Dosyaya Kayıt Girme
Dosyaya kayıt grimek için output yada append moduyla açılan dosyaya kayıt yazdırmak için iki yöntem vardır, bunlar Print #n ve Write #n komutlarıdır.
Yazımları aynı olmakla birlikte sonuçları farklıdır.
Print #1, bilgi1, bilgi2, bilgi3, … yada Print #1, degisken1,degisken2, … Write #1, bilgi1, bilgi2, bilgi3, … yada Write #1, degisken1,degisken2, …
Şeklinde yazılır.
V.Basic ve programlama-58
Print ile yazma
Print #1, “Yahya”, “Demircan”, “08/05/1971”,170 Print #1, “Tolga”, “Çolak”,”05/02/1980”,167
Print ile yazdırılmış dosyanın içeriği
Şeklinde tab (1 tab 14 karakteri tamamlayacak boşluk) ile ayrılmış ve bilgilerin başlangıçları bazen hizalı bazen hizası bozuk olacaktır. Stringler 14 karakteri geçerse otomatik bir sonraki tab’a
hizalanır. “,” virgül 1 tab yerine geçer, “;” bitişik yazar, “;tab;” konursa 1 tab bırakır.
Print #1, “Ali”;Tab;”Veli” Veli yi bir sonraki tabdan başlatır Print #1, “Ali”;Tab;Tab;”Veli” Veli yi iki sonraki tabdan başlatır
Yahya Demircan 08/05/1971 170
Tolga Çolak 05/02/1980 169