Amiga Dergisi sayı 10, sayfa 36

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 36

Open Out ve Append komutları herhangi bir dosyayı sadece yazma işlemi için açabilirler.

Yazma işlemi için açılmış bir dosyaya bilgi aktarmak için kullanılır. Örnek: Open Out 1, "fiyatlar" : Print #1, "fiyat-10000" : Print #1, "Kdv oranları :" : Close 1 data dosyasının içi : (1) Sandal (2) Fiyatlar (3) 10000 (4) Kdv Oranları : Not: Parantez içindeki sayılar kayıt nosunu gösterir. Gerçekte dosya içinde bu numaralar yoktur.

Open In DosyaNo,Dosyaİsmi$ Herhangi bir dosyayı, okuma işlemi yapmak için açar. Ortalıkta verdiğiniz isimde bir dosya yoksa, acımadan hata verir.

DosyaNo,Değişkenler ine değer çin kullanılır

Open In 1, "Work:Dosyalar/RahmiMerdiven.data" Close Dosya içi (1)'Orhan Sonuç (Ekranda görünen): Orhan Bahtiyar - Mavi Pasta

Line Input# Input komutundan farklı olan tek yanı, Input komutunun virgül işaretini ayraç olarak tanıması. Bu sayede aynı kayıt no içinden iki farklı değişkenler içinde okuyabilirsiniz. Line Input ise satır içinde herhangi bir ayıraç kullanmadan, o kayıt no içindeki tüm bilgiyi tek değişkenin içine okur. Yani bir önceki örnekte yerine Line Input# kullanırsanız. A$ içine "Orhan Bahtiyar, Mavi Pasta" değeri gelecektir.

Close DosyaNo ile açılan dosyayı kapatır. Eğer dosyaNo verilmez ise tüm dosyaları kapatır.

Amos dışında, Basic kullanmış ve dosyalama ile Basic ortamında uğraşmış olanlar için ufak bir uyarı yapmak istiyorum. Amos, inatla, şimdiye kadar standart olmuş her şeyle uyumsuz olmak için elinden geleni yapar bir dil. Dosyalama konusunda klasik Basic'le Amos en büyük uyumsuzluk, aşağıdaki programda karşımıza çıkıyor.

Open Out 1, "Work.Dosyalar/RahmiMerdiven.data" TM Close 1

1,"Wark:Dosyalar/RahmiMerdiven.dala" İnputeta$ Print a$ Close t

Standart Amos

A$ tt HH Gördüğünüz gibi Amos'ta aynı kayıt içine iki farklı değer atsanız da, okurken her ikisi de aynı değişkenin içinde gelmekte. Büyük saçmalık, Nedeni belirsiz. Sanırım, François Lionet Amos'u yazarken bir yerden sonra sıkılmış ve bazı şeyleri atlamış. Neyse şimdi sıra rastgele erişim dosyalarında. İşte komutları:

Open Random Random dosyaların sıralı dosyalardan farklı olan yönlerini biliyorsunuz. Random dosya açmak için tek komut var. Bu komut sıralı dosya açmanın hepsinin özelliklerini kapsamakta. Dosya ismi ile verilen dosya diskte mevcut değilse, verilen komut ile dosya yaratılır. Bu komut ile dosya hem yazma hem de okuma modunda açılmış olur. Parametreler ise önceki kullanımdan farklı bir kullanıma sahip değil.

Field As değişken$,uzunluk As değişken$,... Rastgele erişimli bir dosya açtığınızda, okuma ve yazma işleminde kullanacağınız değişkenleri de önceden belirlemek zorundasınız. Yani dosya içinden farklı yerlerde farklı değişkenlerin içine değer okuyamazsınız. Field komutu bu değişkenleri tanımlamanızı sağlayan komuttur. Açıklamak istiyorum. Örnek: Open Random 1, data" Field 1,30 As Lale$, 10 As Zambak$,15 As Klasor$

Dosya değişkenlerinin nasıl tanımlandığını sanırım anlatabildim. Örnekteki dosyanın her uzunluğu 55 byte olacaktır. Bunu, Field komutundaki değişken uzunluklarını toplayarak hesaplayabilirsiniz. Değişkenler Field içinde tanımlandıklarından daha uzun değerleri dosyaya yazamazlar. Yani 30 uzunluğundaki bir değişkene 60 uzunluğunda bir değer atarsanız, dosyaya bu değişkenin ilk 30 karakteri atılır. Değer atama işlemi normal değişkenlere değer atama işleminden farklı değil. Yani, Lale$="Ahmet Ciğer" tanımlaması geçerli kullanımdır.

Get Get komutu, sıralı dosyalardaki Input# komutuna karşılık gelir. Verilen KayıtNo'daki değerleri, Field ile belirtilen değişkenlerin içine okur. Eğer verilen kayıtno, dosya içindeki kayıt sayısından fazla ise değişkenlere boş değer (NULL) atılır.

Put DosyaNo KayıtNo Bu komut da dosyaya bilgi yazmak için kullanılır Biraz ömekli- yelim. Open Random 1, 'Work:Dosyalar/RahmiMerdiven data" Field 1,30 As Lale$, 0 As Zambak$,15 As Klasor$ Cis

İnput İnput “İkinci değer : ";Zambak$ “Ucuncu değer : ;Klasor$ Put 1,1 Print Lale$ Print Zambak$ Print Klasor$ Close 1

Klavyeyle gezinmek için ← ve → tuşları.