Bu sayfadaki yazılar
Sayfanın metni
Sayfa 56
Merhabalar, yeni bir BASIC köşesiyle yine beraberiz. Konularımıza geçmeden önce Hayrettin Dinitaş adlı okurumuzun sorularını yanıtlamak için
önlemek için <L> directory'sini protect'lemeyi unutmayın. Daha sonra, yaptığınız programı da, boş diskinize kopyalayın. Sırada start'ı
Okurumuzun soruları şöyle; 1 - BASIC'te disketin directory'sini nasıl alabilirim? 2 - Yaptığım Extras değiştirmek var. Bunu da bir text editörüyle yapacaksınız. Startup-sequence'a, diski haricinde nasıl çalıştırabilirim? Cevapları ise şöyle; 1 - BASIC'te diskin directory'sini almak için ilk önce list penceresinden çıkıp, BASIC penceresini aktif duruma getirmelisiniz, ve burada LIST komutunu vermelisiniz. Eğer komut parametresiz olarak verilirse sys:'nin directory'si alınır. Komutun örnek kullanım şekillerini aşağıda
> satırını yazdıktan sonra, S/Startup-Sequence adı altında kaydedin. Diskinizi boot ettiğinizde programınızın kendiliğinden yüklenip çalıştığını göreceksiniz. Geçen ay öğrendiğimiz disk iletişim sisteminin diğer bir elemanı olan Random Files yani istenildiği zaman erişilebilen dosyalar bu imdi
OPEN "R",#4,"BronxRulez" ; Bu örneğimiz BronxRulez adı altındaki dosyayı, "R" seçeneğini kullanarak random modunda ve 4 numaralı dosya olarak açar. Random dosyalarla kullanılan diğer bir komut ise FIELD komutudur bu komutun kullanımı şöyledir.. FIELD #f, alan uzunluğu AS değişken ; Bu komutla, f numaralı dosyada değişkene, alan uzunluğu kadar yer ayrılır. Komuta bir örnek vermek istersek. FIELD #3,4 AS P$,3 AS F$ ; Bu komutla 3 nolu dosyada P$ ve F$ değişkenlerine 4 ve 16 karakterlik yer ayrılır. Yani dosyadaki F$ ve P$
LIST "DF1:" ; df1: ünitesinin directory'si alınır. LIST "DH1: SOURCES/ ZEMİN ; 1 nolu harddiskin sources directory'sinin ZEMİNSCROLLERS adlı alt directory'sinin dir listini verir. 2 - sorunun cevabı daha önceki sayıların birinde verilmişti fakat bir defa daha anlatmakta yarar görüyorum. İlk önce X-Copy ya da DMaster kullanarak kendinize bir disk formatlayın. Daha sonra extras diskindeki AmigaBASIC dosyasını kendi diskinize çekin. Daha sonra, workbench diskinizde bulunan <L> ve <S> directory'lerini kendi diskinize çekin. Bu arada Saddam virüsün diskinize tecavüzünü random dosyaların yapısına bir göz atalım. Random dosyalar, BASIC tarafından sıkıştırılarak diskte en az yer kaplaması amaçlanmış, binary dosyalardır. Bir önceki bölümde anlattığımız sequential dosyalar gibi tüm dosyanın hafızaya yüklenmesine gerek yoktur. Dosyada saklanan bilgilere çeşitli numaralar verilir ve gerektiğinde bilgiler numaraları sayesinde çağrılırlar. Diskteki random bir dosyadaki bilgileri okumak bir kaç adım gerektirir. Bunlardan ilki dosyayı açmaktır. Dosyayı açmak için OPEN komutunu gerektiği şekilde kullanmalısınız. Aşağıda bir örneğini bulabilirsiniz.
ü şöyle olacaktır. P:
adet boşluk 3 adet boşluk Herhangi bir dosyada değişken alanları yarattıktan sonra buradaki değişken değerlerine erişmek için iki komut kullanıyoruz. Bu komutlardan PUT komutu, random dosyaya değer kaydetmek için, GET komutu ise daha önce dosyaya yazılmış değişken değerlerini okumak için kullanılır. Bu iki komutun kullanımları şöyledir... GET #f,kayıt nosu PUT #f,kayıt nosu Üstteki komutlarda f, dosya numarasını belirtir. Komutlara örnek verecek olursak...
FOR TO 30
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 57
PUT #3,J ve
GET #2,X Random dosyalara veri kayd-
Yukarıdaki programla, daha önce açtığımız dosyada ayrılan T$ değişkenine kullanıcıdan alınan bir string yazılıyor. Daha sonra bu bilgiyi okumak için aşağıdakine benzer bir program yapmalısınız. Nümerik değerlerin stringlere dönüştürülmesi gerektiğini aklınızdan çıkarmamalısınız. Bunu yapmak için PRINT USING
MKI$ (e), MKS$ (e) ya da MKD$ (e) komutlarından birini kullanmalısınız. Daha sonra LSET veya RSET komutlarını kullanarak random dosyaya yazabilirsiniz. Daha sonra bu dosyalardaki bilgileri okurken yine çevirmelisiniz, bu işlemi ise CVI (s), CVL (s), CVS (s) ve CVD (s) komutlarını kullanarak yapmalıyız. Aşağıda bu komutların örnek-
Şimdi dosya açma komutları ile ilgili örneklerimizi inceleyelim... REM ÖRNEK GİRİŞ / ÇIKIŞ
PRİNT" "DOSYA ADI GİRİNİZ ir INPUTL$ PRİNT "SIRAYLA İSİMLER GİRİNİZ." PRINT "BİTİRMEK İÇİN İKİ DEFA <RETURN>'E BASIN"
lerini bulabilirsiniz. OPEN "O" #2,L$ GİRİŞ: İNPUT INPUT N$ LSET T$ - ITEM$ IF N$ - " THEN BİTİR PRİNT #2,N$ LSET N$ - MKI$(N) Tz T4 1:4F T<30 THEN GİRİŞ BİTİR
PUT #3,C
CLOSE #2
PRINT "BİTTİ."
END. | REM İSİMLERİ OKU DIM N$(30) PRİNT "DOSYA ADI GİRİNİZ" INPUT L$
WEİLE NOT' INPUT #3,N$(T) PRİNT
CLOSE #3 END Yukarıdaki program, verdiğiniz isimde bir dosya açar ve bu dosyaya verdiğiniz 30'a kadar ismi kaydeder. Yukarıdaki programı çeşitli şekillerde değiştirerek bu isimlerle beraber örneğin kaydederek bir telefon rehberi programı yapabilirsiniz. Evet bu aylıkta bu kadar. Böylece AmigaBASIC'in tüm dosya işlemlerini öğrenmiş olduk. Bir dahaki aya kadar hoşçakalın ve mektup yazmayı unutmayın BURAK ÖZIŞIK PK 5 - FİKİRTEPE