Amiga Dünyası sayı 13, sayfa 44

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 44

Merhaba... Bir aylık aradan sonra, yine birlikteyiz. Okuyucularımızın çoğu, BASIC sayfalarının azlığından ve yeterince hızlı ilerlemediğinden şikayet ediyorlar. Haklılar. Biz de bu kadar ağır gitmekten şikayetçiyiz ama, hem sayfa sorunumuz var; hem de yeni başlayan Amiga'cıların adapte olma sorunlarını göz ardı edemiyoruz. Her iki tür okuyucumuzu üzmeyecek şekilde bir çözüm bulabileceğimizden eminiz. İlginize teşekkür ediyoruz.

MID$ KOMUTU: Kullanım Şekli:

MID$(yazısal dizi$, başlangıç pozisyonu [,uzunluk])

MID$(yazısal dizi1$, başlangıç pozisyonu [,uzunluk])=değiştirilecek yazısal dizi2$

Bu yönerge, bir yazısal dizinin bir bölümünü bir diğer yazısal dizi ile değiştirmek için kullanılır.

Birinci kullanım şeklinde MID$ fonksiyonu, yazısal dizi$ içindeki karakter dizisinin başlangıç pozisyonu ile verilen değerden itibarenki kısmını verir, uzunluk argümanı kullanılmışsa; bu, MID$ tarafından alınacak karakter sayısını tanımlar, uzunluk değeri verilmemişse, belirtilen başlangıç pozisyonundan sonraki tüm karakterler dahil edilir.

Örneğin;

MID$("En büyük AMIGA!",10,5)

komutu,

AMIGA sonucunu üretir.

İkinci kullanım şeklinde, yazısal dizi1$'ın istenen bölümü verilen yazısal dizi2$ ile değiştirilir. Değiştirme işlemi, başlangıç pozisyonundan itibaren yapılır. Uzunluk belirtilmişse, yazısal dizi2$ içinden kaç karakter alınacağı belirlenmiş olur.

a$= "En büyük AMIGA!" MID$(a$, 10)= "kimmiş"

örneği, "AMIGA!" karakterlerini "kimmiş" ile değiştirir ve;

En büyük kimmiş karakter dizisini oluşturur.

Her iki kullanım şeklinde de, başlangıç pozisyonu ve uzunluk değerleri 1 ile 32767 arasında verilebilir.

MKI$ MKL$ MKS$ MKD$ KOMUTLARI: Kullanım Şekilleri:

MKI$(16 bit tamsayı) MKL$(32 bit tamsayı) MKS$(tek açıklıkta ondalık sayı) MKD$(çift açıklıkta ondalık sayı)

Rasgele dosya buffer'ına yerleştirilmek üzere, yazısal dizi değişkenleri için sayısal değerler atamayı sağlayan fonksiyonlardır. CV* komutlarında rasgele dosya'dan okunan değişkenlerin orijinal hallerine çevrilmesi gerektiğinden söz etmiştik hatırlarsanız.

MKI$, 16 bitlik bir kısa tamsayıyı, 2 byte uzunluğunda yazısal diziye;

MKL$, 32 bitlik bir uzun tamsayıyı, 4 byte uzunluğunda yazısal diziye;

MKS$, tek açıklıkta ondalık sayıyı, 4 byte uzunluğunda bir yazısal diziye;

MKD$, çift açıklıkta bir ondalık sayıyı, 8 byte uzunluğunda bir yazısal diziye çevirir.

Sayısal değişkenler, bir rasgele erişimli dosya içine yerleştirilmeden önce yazısal dizi değişkenlerine çevrilmelidirler. İşte bu işlem için yukarıdaki komutlar kullanılır. Çevrim işleminden sonra, değişkenler rasgele dosya buffer'ına LSET ya da RSET komutlarından biri ile yerleştirilir ve PUT# ile dosyaya yazılır.

Sayısal değişken tipleri, sembolleri ve kullanılacak MK*$, CV* fonksiyonları için aşağıdaki tabloyu inceleyin.

Değişken tipi Sembol Uzunluk(byte) Fonksiyon

Tamsayı % 2 MKI$, CVI Uzun tamsayı & 4 MKL$, CVL Tek açıklık ! 4 MKS$, CVS Çift açıklık # 8 MKD$, CVD

Aşağıdaki örnek programı inceleyin:

OPEN "Adresler" AS#1 LEN=78 FIELD #1,20 AS Ad$,30 AS Adr$,20 AS S$,8 AS TEL$ INPUT "Okuma-Yazma (o/y)";x$ INPUT "Hangi kayıt";m IF rn=0 THEN END IF x$="o" THEN Kayıt Oku

LINE INPUT "Adı: ";t$: LSET Ad$=t$ LINE INPUT "Adres: ";t$: LSET Adr$=t$ LINE INPUT "Şehir: ";t$: LSET S$=t$ LINE INPUT "Telefon: ";t$: b#=VAL(t$): LSETTELS: MKD$(b#) PUT#l,rn CLOSE#1 RUN

Kayıt Oku: GET#l,rn PRINT "Adı: ";Ad$ PRINT "Adres: ";Adr$ PRINT :Şehir: ";S$ PRINT :Tel: ";CVD(TEL$) CLOSE#l: LINE INPUT "Return'e Basın:";t$ RUN

Program, adres dosyalarına basit bir örnek. Önce bir kaydı girebilir; sonra da isterseniz okuyabilirsiniz.

MOUSE KOMUTU: Kullanım Şekli:

MOUSE(X)

MOUSE fonksiyonu, mouse'un sol düğmesi ve mouse hareketlerini kontrol eder ve bilgi verir.

Parantez içinde verilen X, 0 ile 6 arasında bir sayı olabilir. MOUSE(0), sol mouse düğmesinin durumunu gösterir. Programda bir MOUSE(0) fonksiyonu çalıştığında, Amiga Basic mouse'un o anki durumunu not eder. MOUSE(0) aşağıdaki değerleri alabilir:

MOUSE(0)=0 Sol mouse tuşuna basılı değildir. Ve sol mouse tuşuna son MOUSE(0) çalıştırıldığından beri de basılmamıştır.

MOUSE(0)=1 Düğme basılı değildir, fakat son MOUSE(0) fonksiyonundan sonra bir kez kliklenmiştir.

MOUSE(0)=2 Sol mouse tuşu o anda basılı değildir, fakat son MOUSE(0) çalıştığından beri iki kez kliklenmiştir.

MOUSE(0)=3 Yine mouse tuşu basılı değildir; ancak fonksiyonun son çağrılışından sonra üç ya da daha çok kliklenmiştir.

MOUSE(0)=-1 Sol mouse düğmesi bir kez basılmıştır ve hala basılıdır.

MOUSE(0)=-2 ve -3 Mouse'un sol düğmesi iki(-2) ya da üç(-3) kere kliklenmiştir ve hala basılı durumdadır.

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