29.10.2014 Views

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

SHOW MORE
SHOW LESS

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üğ-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!