Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi
Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi
Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
AMIGA BASIC<br />
MAHMURE ÜNYELİ<br />
Merhaba.... Bir aylık aradan sonra, yine<br />
birlikteyiz. Okuyucularımızın çoğu, Basic<br />
sayfalarının azlığından ve yeterince hızlı<br />
ilerlemediğinden şikayet ediyorlar. Haklılar.<br />
Biz de bu kadar ağır gitmekten şikayetçiyiz<br />
ama, hem sayfa sorunumuz var;<br />
hem de yeni başlayan <strong>Amiga</strong>'cıların adapte<br />
olma sorunlarını gözardı edemiyoruz.<br />
Her iki tür okuyucumuzu üzmeyecek şekilde<br />
bir çözüm bulabileceğimizden eminiz.<br />
İlginize teşekkür ediyoruz.<br />
MID$ KOMUTU:<br />
Kullanım Şekli:<br />
MID$ (yazısal dizi$, başlangıç pozisyonu<br />
[,uzunluk])<br />
MİD$ (yazısal dizil$, başlangıç pozisyonu<br />
[,uzunluk])=değiştirilecek yazısal<br />
dizi2$<br />
Bu yönerge, bir yazısal dizinin bir bölümünü<br />
bir diğer yazısal dizi ile değiştirmek<br />
için kullanılır.<br />
Birinci kullanım şeklinde MID$ fonksiyonu,<br />
yazısal dizi$ içindeki karakter dizisinin<br />
başlangıç pozisyonu ile verilen değerden<br />
itibarenki kısmını verir, uzunluk<br />
argümanı kullanılmışsa; bu, MID$ tarafından<br />
alınacak karakter sayısını tanımlar,<br />
uzunluk değeri verilmemişse, belirtilen<br />
başlangıç pozisyonundan sonraki tüm karakterler<br />
dahil edilir.<br />
Örneğin;<br />
MID$("En büyük AMIGA!",10,5)<br />
komutu,<br />
AMIGA<br />
sonucunu üretir.<br />
İkinci kullanım şeklinde, yazısal<br />
dizi1$'ın istenen bölümü verilen yazısal<br />
AMIGA DÜNYASI 54<br />
dizi2$ ile değiştirilir. Değiştirme işlemi,<br />
başlangıç pozisyonundan itibaren yapılır.<br />
uzunluk belirtilmişse, yazısal dizi2$ içinden<br />
kaç karakter alınacağı belirlenmiş<br />
olur.<br />
a$= "En büyük AMIGA!"<br />
MID$(a$, 10)= "kimmiş"<br />
örneği, "AMIGA!" karakterlerini "kimmiş"<br />
ile değiştirir ve;<br />
En büyük kimmiş<br />
karakter dizisini oluşturur.<br />
Her iki kullanım şeklinde de, başlangıç<br />
pozisyonu ve uzunluk değerleri I ile<br />
32767 arasında verilebilir.<br />
MKI$<br />
MKL$<br />
MKS$<br />
MKD$ KOMUTLARI:<br />
Kullanım Şekilleri:<br />
MKT$ (16 bit tamsayı)<br />
MKL$ (32 bit tamsayı)<br />
MKS$ (tek açıklıkta ondalık sayı)<br />
MKD$ (çift açıklıkta ondalık sayı)<br />
Rasgele dosya buffer'ına yerleştirilmek<br />
üzere, yazısal dizi değişkenleri için sayısal<br />
değerler atamayı sağlayan fonksiyonlardır.<br />
CV* komutlarında rasgele<br />
dosya'dan okunan değişkenlerin orijinal<br />
hallerine çevrilmesi gerektiğinden sözetmiştik<br />
hatırlarsanız.<br />
MKI$, 16 bitlik bir kısa tamsayıyı, 2<br />
byte uzunluğunda yazısal diziye;<br />
MKL$, 32 bitlik bir uzun tamsayıyı, 4<br />
byte uzunluğunda yazısal diziye;<br />
MKS$, tek açıklıkta ondalık sayıyı, 4<br />
byte uzunluğunda bir yazısal diziye;<br />
MKD$, çift açıklıkta bir ondalık sayıyı,<br />
8 byte uzunluğunda bir yazısal diziye çevirir.<br />
Sayısal değişkenler, bir rasgele erişimli<br />
dosya içine yerleştirilmeden önce yazısal<br />
dizi değişkenlerine çevrilmelidirler. İşte<br />
bu işlem için yukarıdaki komutlar kullanılır.<br />
Çevrim işleminden sonra, değişkenler<br />
rasgele dosya buffer'ına LSET ya da<br />
RSET komutlarından biri ile yerleştirilir<br />
ve PUT# ile dosyaya yazılır.<br />
Sayısal değişken tipleri, sembolleri ve<br />
kullanılacak MK*$, CU* fonksiyonları<br />
için aşağıdaki tabloyu inceleyin.<br />
Değişken tipi Sembol Uzunluk(byte) Fonksiyon<br />
Tamsayı % 2 MKI$, CVI<br />
Uzun tamsayı & 4 MKL$, CVL<br />
Tek açıklık ! 4 MKS$, CVS<br />
Çift açıklık # 8 MKD$, CVD<br />
Aşağıdaki örnek programı inceleyin:<br />
OPEN "Adresler" AS#1 LEN=78<br />
FIELD #1,20 AS Ad$,30 AS Adr$,20<br />
AS S$,8 AS TEL$<br />
INPUT "Okuma-Yazma (o/y)";x$<br />
INPUT "Hangi kayıt";m<br />
IF rn=0 THEN END<br />
IF x$="o" THEN Kayıt Oku<br />
LINE INPUT "Adı: ";t$: LSET Ad$=t$<br />
LINE INPUT "Adres: ";t$: LSET Adr$=t$<br />
LINE INPUT "Şehir: ";t$: LSET S$=t$<br />
LINE INPUT "Telefon: ";t$:<br />
b#=VAL(t$): LSETTELS: MKD$(b#)<br />
PUT#l,rn<br />
CLOSE#1<br />
RUN<br />
Kayıt Oku:<br />
GET#l,rn<br />
PRINT "Adı: ";Ad$<br />
PRINT "Adres: ";Adr$<br />
PRINT :Şehir: ";S$<br />
PRINT :Tel: ";CVD(TEL$)<br />
CLOSE#l: LINE INPUT "Return'e<br />
Basın:";t$<br />
RUN<br />
Program, adres dosyalarına basit bir örnek.<br />
Önce bir kaydı girebilir; sonra da isterseniz<br />
okuyabilirsiniz.<br />
MOUSE KOMUTU:<br />
Kullanım Şekli:<br />
MOUSE(X)<br />
MOUSE fonksiyonu, mouse'un sol düğmesi<br />
ve mouse hareketlerini kontrol eder<br />
ve bilgi verir.<br />
Parantez içinde verilen X, 0 ile 6 arasında<br />
bir sayı olabilir. MOUSE(0), sol mouse<br />
düğmesinin durumunu gösterir. Programda<br />
bir MOUSE(0) fonksiyonu çalıştığında,<br />
<strong>Amiga</strong> Basic mouse'un o anki durumunu<br />
not eder. MOUSE(0) aşağıdaki değerleri<br />
alabilir:<br />
MOUSE(0)=0 Sol mouse tuşuna basılı<br />
değildir. Ve sol mouse tuşuna son<br />
MOUSE(0) çalıştırıldığından beri de basılmamıştır.<br />
MOUSE(0)=1 Düğme basılı değildir,<br />
fakat son MOUSE(0) fonksiyonundan<br />
sonra bir kez kliklenmiştir.<br />
MOUSE(0)=2 Sol mouse tuşu o anda<br />
basılı değildir, fakat son MOUSE(0) çalıştığından<br />
beri iki kez kliklenmiştir.<br />
MOUSE(0)=3 Yine mouse tuşu basılı<br />
değildir; ancak fonksiyonun son çağrılışından<br />
sonra üç ya da daha cok kliklenmiştir.<br />
MOUSE(0)=-1 Sol mouse düğmesi bir<br />
kez basılmıştır ve hala basılıdır.<br />
MOUSE(0)=-2 ve -3 Mouse'un sol düğ-