Amiga Dünyası sayı 3, sayfa 84

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 84

Bu sayede hem menüleri kapamış, hem de menü fonksiyonlarına kısa yoldan ulaşmak için kullanılan tuş kombinasyonlarını da kilitlemiş olursunuz. Programınızın sonunda ya da "MENÜ RESET" komutu verildiğinde menü eski haline geri dönecektir.

* Şimdi de LOGO oyununu oynamaya çalışanlar için biraz ipucu verelim. Değişik kademelerden başlayabilmek için oyunda isminizi girmeden önce size bir şifre sorulacaktır. Bu şifre her oyun tipinde farklıdır.

1. oyun / 11. kademe = UHR5 2. oyun / 5. kademe = EYDM 3. oyun / 14. kademe = N3M5

* Bir disketin directory'sini görmek istediğinizde normal olarak CLI'da aşağıdaki satırı yazmanız gerekli:

DIR DF0: (RETURN) Fakat burada tek şart DIR komutunun disketinizin (C) directory'sinde ya da ana directory'sinde olması gerektiği. Peki ya diskette DIR komutu yoksa? Bu durumda iki çözümümüz var. Biri WorkBench disketi yardımıyla DIR komutunu ilk önce RAM:'e, ardından da disketi değiştirip hafızaya kopyaladığımız komutu disketin (C) ya da ana directory'sine kopyalamanızı gerektiren uzun yoldur. İkinci yöntem çok daha kısa ve basit: WorkBench disketimizi yükleyip CLI penceresini açtıktan sonra aşağıdaki satırı yazıp (RETURN) tuşuna basın. DIR DF0: +

Bilgisayar disketten DIR komutunu yükleyecek ve sizin tekrar RETURN tuşuna basmanızı bekleyecektir. Bu tuşa basmadan önce yeşil ışık söner sönmez directory'sini görmek istediğiniz disketi takın ve sürücü ışığının sönmesini bekledikten sonra (RETURN) tuşuna basın.

Komuttan hemen sonraki + sembolü, komutu yükledikten sonra sizin

RETURN tuşuna basmanızı beklemesini belirtir. Burada biraz hile kullanarak basmadan önce disketi hemen değiştirip basarsanız, komut yapacağı işlemi takılan son disket üzerinde gerçekleştirecektir. Bu fonksiyon WorkBench'teki hemen hemen tüm komutlar için geçerlidir.

* Yazıcı kullananlar BASIC dilinde hazırladıkları bir programın listesini basmak için LLIST komutunu kullanırlar. Bu, yazıcı kağıtlarında kolay olur. Fakat listeyi tek sayfalara basmaya kalkıştıklarında satırlardan bazıları sayfaya sığmayacağından yarım basılırlar. Bunu engellemek için aşağıdaki programı yazıp kaydedin ve çalıştırın.

Satıradedi=60 Setle=1 Satıruzunluğu=60 Einzel =0

d$=DATE$ : REM Tarihi bilgisayardan okur jj$-RIGHT$(d$,2): tt$=MiD$(d$,4,2) mm$=LEFT$(d$,2)

CLS :lnput "Program ismi: ";dn$ OPEN dn$ FOR INPUT AS #1 LPRINT "Program ismi :";dn$; LRINT TAB(Satıruzunlugu-25);tt$"."mm$"."jj$; LPRINT" Sayfa: ";Sayfa LPRINT STRINGS(Satıruzunluğu,"-") zz=2

WHILE NOT EOF(1)

LINE INPUT #1,z$ n=INT(LEN(z$)/Satıruzunlugu)+1 IF z$+n>Satıradedi THEN IF Einzel THEN PRINT "Yeni kağıt koyup bir tuşa basınız..." WHILE INKEY$=

MM : WEND ELSE

LPRINT CHR$(12); END IF Sayfa =Sayfa*1 LPRINT SPACE$(Satıruzunlugu-14);"Sayfa: ";Sayfa LPRINT STRINGS(Satıruzunlugu,"-") zz=2 ENDIF FOR l=0 TO n-1 LPRINT MID$(z$,i*Satıruzunlugu+1 ,Satıruzunluğu) NEXT I zz=zz+n WEND IF zz<>0 THEN LPRINT CHR$(12); CLOSE1

Bu programı programınızın sonuna ekleyip çalıştırmak istediğinizde aşağıdaki satırı programınızın gereken yerine yazınız: CALL Haftagünü (gün, ay, yıl, wt) Burada parantez içinde belirtilen gün ve ay'ın olduğu yere öğrenmek istediğiniz gün ve ayı ikişer basamaklı sayılar olarak girmeniz gerekir. Yıl ile belirtilen yere de yılı dört basamaklı sayı olarak giriniz.

Ana programa dönüşte wt değişkeninde günü belirten bir kod olacaktır, bu kodu da aşağıdaki listeden bakarak verilen tarihin hangi güne denk geldiğini öğrenebilirsiniz.

SUB Haftagünü(gün,ay,yıl,wt) STATIC

IF ay=2 THEN gün=gün+31 ay=13 yıl=yıl-1 ENDIF h=INT(yıl/100) r=yil MOO 100 kh=h MOD 4 kr=r MOD4 IF ay<8 THEN k=3 ELSE k=7 IF (ay MOD 2)=0 THEN k=5 wt=((2000*kh+10*(r-kr)+kr)+1000*ay+100*k+gün) MOD 7 END SUB

Programdaki satır başlarındaki boşluklar döngülerin daha kolay okunabilmesi ve programın incelemesinde böylece kolaylık sağlanması amacıyla konmuştur. Bunları isterseniz koymayabilirsiniz. Ayrıca bilgisayarınızın saati varsa (A-2000 ve saatli ek hafıza kartı olan A-500 sahipleri) bunu daha önceden ayarlamaları gereklidir. Saati olmayan bir bilgisayara sahipseniz 5. satırdaki DATE$ ile belirtilen satır dahil olmak üzere üç satır yerine aşağıdaki satırları yazın: jj$ = "yıl":tt$ = "gün":MM$ = "ay"

* Şimdi de programında bir tarihin hangi güne denk geldiğini bulmak için kafa çatlatanlar için ufak bir alt rutin:

0 = Cumartesi 1 = Pazar 2 = Pazartesi 3 = Salı 4 = Çarşamba 5 = Perşembe 6 = Cuma

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