Bu sayfadaki yazılar
Sayfanın metni
Sayfa 32
Bu noktada ise, alan ikon kutularının, belirlenen koordinatlarda çizimini üstleniyor. IKON YAP prosedüründe ise ilk olarak, ana programda Dim ile tanımlanan ve ikonların pozisyonlarını saklayacak olan değişkenlerin burada da kullanılabilmesi için Shared komutu, değişkenlerin ismiyle birlikte veriliyor. İzleyen satırda grafik modunu ayarlanıyor ve ardından Data satırlarındaki ilk değer okunuyor. Bu değer, sonraki Data satırlarında kaç adet ikon tanımlaması bulunduğunu gösteriyor. Daha sonra Reserve Zone komutu ile, tanımlanacak bölge sayısı belirleniyor ve Data satırlarından ikon bilgilerinin okunduğu döngüye giriliyor. Data satırlarındaki ikon tanımlama formatını ise, bu satırlardan hemen önce gelen Rem satırından öğrenebilirsiniz. Sonraki iki satırda, ikonun sağ alt köşesinin pozisyonu hesaplanıyor. Ardından hesaplanan koordinatlar Set Zone komutu ile belirleniyor ve bu koordinatlara, KUTU prosedürü ile bir kutu çiziliyor. Sonraki satırda da Text komutu ile ikonun yazısı yazılıyor. Bunların ardından, ikon tanımlamalarını içeren Data satırları geliyor. Prosedürün son satırında End Proc'dan sonra gelen (N) kısmı ise, tanımlanan ikon sayısını, prosedürün çağrıldığı yere iletmeye yarıyor. Param değişkeni ile bu değer öğrenilebilir. BASILAN IKON prosedürü ise, daha önce IKON YAP prosedürü çağrılarak zone olarak tanımlanıp, çizdirilen ikonlardan herhangi birisine mouse'un düğmelerinden herhangi biri ile basılana kadar bekliyor ve basılan ikonun numarasını Param değişkeni ile çağrıldığı noktaya iletiyor. Eğer ikona sağ düğme ile basılmışsa, ikonun değeri negatif olarak iletiliyor. BASILAN IKON prosedüründeki, Multi Wait isimli komut size yabancı geliyor olabilir. Bu komut, AMOS'un ilk versiyonunda (1.1) bulunmadığından, kullanım kılavuzunda da açıklaması yok. AMOS'un 1.2 veya daha yukarı versiyonlarında, bu komutu kullanabilirsiniz. Yani elinizdeki AMOS, 1.1 versiyonlu ise, bu komutu Wait komutu ile değiştirin. Multi Wait komutu, Wait komutunun yaptığı işi multitask olarak gerçekleştiriyor. Yani ekranı oluşturan tarama satırının, ekranın en üst satırına gelmesini (Vertical Blanking) bekliyor. Ancak bu bekleme esnasında, o anda bilgisayarımızda çalışan başka programlar varsa, kontrolü onlara devrediyor ve onların da verimli bir şekilde çalışabilmelerine izin veriyor. *Başka programlar* denilince aklınız karışmış olabilir. Bildiğiniz gibi AMIGA multitask bir alet, yani aynı anda birden fazla programı çalıştırabiliyor. Tabii ki bunu yaparken programları dönüşümlü olarak çalıştırıyor. Bu yüzden, kullanıcıdan bilgi girişi vb bekleyen programlarınızda, döngü içerisinde Multi Wait komutunu kullanarak bilgisayarınızın verimini arttırabilirsiniz. Örneğin, arkaplanda animasyon hesaplayan bir IMAGINE programı, bundan büyük ölçüde yararlanacaktır.
Yeri gelmişken söyleyelim. AMOS ile diğer programlar veya Workbench ekranı arasında gidip gelebilmek için Sol Amiga + A tuş kombinasyonunu kullanabilirsiniz. Ancak bunu deneyip de boş bir ekranla karşılaşırsanız şaşırmayın. Çünkü eğer AMOS'u orijinal disketinden yükledi ve konfigürasyonunu da değiştirmediyseniz, otomatik olarak Workbench ekranını kapatarak size boş bellek kazandırmaya çalışacaktır. Bir diğer konu da Close Workbench komutu ile ilgili. Bu komut, Workbench ekranını kapatarak bellek tasarrufu yapmaya yarıyor. Ancak bu komutun çalışabilmesi için, Workbench ekranını kullanan hiçbir programın o anda bulunmaması gerekir. Buna, o anda açık bulunan CLI penceresi de dahildir. Yani, CLI penceresi açık iken Close Workbench komutu işlemez.
Şimdi, konumuza dönelim. Oyun ve demo gibi, ekran zamanlamasının çok büyük önem taşıdığı bazı programlarda Multi Wait komutunu kullanmayın. Çünkü Multi Wait komutu, çalışan task (program) miktarına göre, bazen bir veya birkaç Vertical Blanking pozisyonunu atlayarak, sizin kritik zamanlamanızı bozar ve programınızın yavaşlamasına sebep olur. Bu durumlarda Wait Vbl komutundan şaşmayın. Çünkü yavaş çalışan bir oyunu (arcade ise) kim ister ki...? Kaldığımız yerden, yani BASILAN IKON prosedüründen devam edelim. Bu prosedürün bir diğer önemli noktası da, bir dörtgen bloğun negatifinin alınması. Bunu yapabilmek için ilk önce negatif çizim modu olan Gr Writing 2'ye geçiyoruz. Bu modda yapılan çizim işlemlerinde, çizim rengi dikkate alınmaz. Nokta konulacak yerlere nokta koymak yerine o pozisyonun negatifi alınır. Aynı yerin ikinci kez negatifini aldığınızda, orijinali elde edersiniz. Gr Writing 2 modundan, Draw,
Plot, Bar, Text vb birçok grafik komutu etkilenir. Ancak Cls gibi bazı komutlar etkilenmezler. Biz, ikonun negatif görüntüsünü elde edebilmek için Bar komutunu kullandık. Bar komutu, dörtgensel bir bölgeyi, Set Pattern komutu ile belirlenen bir desen ile dolduruyor. Desen olarak “0” numaralı deseni kullandık. Bu desen tamamen dolu bir desen. Yani, Graphic Writing 2 moduna girmeseydik, Bar komutu Cls komutunun yaptığı işi yapacaktı. Bu sayede Bar komutu ile ikonun negatifini alabiliyoruz. BASILAN IKON prosedürü bu şekilde, önce bir mouse bir bölgeye girene kadar bekliyor. Ardından bu bölgenin negatifini alıyor ve mouse tuşuna basılana veya mouse göstergeci bu bölgeden çıkarılana kadar bekliyor. Eğer bölgeden çıkmadan mouse tuşuna basılmış ise döngüden çıkılıyor. Mouse'un sağ tuşuna basıldıysa, ikon numarası -1 ile çarpılıyor ve bu değer Param değişkeni ile çağrıldığı yere bildiriliyor. Tüm prosedürleri açıkladık. Programımızın prosedürlerin dışında kalan kısmında ise, örnek ikonlar çizdiriliyor ve döngü içerisinde BASILAN IKON prosedürü çağrılıp, basılan ikonun numarası ikonlardan birinin içerisine yazılıyor.
AMOS (C) 1990 * Europress Software, Ltd. IKON DEMO * — (C)1992 AMIGADUNYASI *
Dim X1(32),Y1(32),X2(32),Y2(32) EKRAN AC IKON YAP
Do BASILAN IKON
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 33
WorkBench ile çalışırken bazen bir directory'nin ya da disketin komple içeriğine bakmak gerekebilir. Bu gibi durumlarda genelde DiskMaster gibi bir file kopyalama programını yükleyebiliriz. Fakat bunu da yüklemek az da olsa zaman alır. Devamlı arka fonda bulunabilecek ve gerektiğinde iki-üç mouse hareketiyle çalıştırılabilecek bir directory gösterim programı bu gibi durumlarda çok yardımcı olabilirdi. İşte PopDir, bu görevi yerine getirerek istenilen device'ın directory'sini hızlı olarak almamızı sağlar. Program gayet basit; zaten bir programcı tarafından çok kısa sürede yapıldığı da apaçık ortada. İlk olarak Public Domain'de yer alan bu program, çeşitli grupların yapmış olduğu utility disketlerinde de bulunabiliyor. Program çalıştırıldığında ekrandaki tek değişiklik, bir ikonun WorkBench ekranı üzerinde belirmesi. Bu, programı çağırmak için kullanılan ikon. Çalıştırıldığında iconified (ikon haline getirilmiş) durumda bulunan programımızın esas penceresini görebilmek için, sadece bu ikonun üzerine bir defa kliklememiz yeterli olacaktır. Hemen karşımıza bir pencere çıkacak. Buradaki ilk kutuda o an aktif olan drive ismi görülebilir. Bunu değiştirmek için kutunun hemen altında iki sıra halinde yer
Tanımı: İstenen device'ın directory'sini her zaman kolaylıkla almanızı
Pop Dir
UNDERHATER DREAMS CODER TOOLS V7.75
alan device gadget'larını kliklememiz yetecek. Bu device'lar sırayla şöyle: DF0:, DF1:, DF2:, DF3:, DH0:, VD0:, VD1:, RAM:, RAD:, SYS:, C:. Bunları kullanarak directory'sini görmek istediğiniz drive'ı belirledikten sonra tek yapmanız gereken, Dir yazılı gadget'ı kliklemektir. Bir pencere açılacak ve sizin belirlediğiniz drive'ın komple directory'si bu pencerede görüntülenecektir. Directory'i gördükten sonra, bu pencerenin kapama gadget'ını klikleyerek tekrar çalışma penceresine dönebilirsiniz. Bu ufak programın bir güzel yanı daha var; aktif olan drive'daki tüm file'ları kontrol ederek IRO virüsü olup olmadığını kontrol eder. Bu virüs, sistem interrupt'larıyla oynayan bir link virüsüdür. Link virüsleri, normal virüslerin aksi-
1.Asm-One v1.02 2.HunkWizard 3.BLink v6.7 4. v2.02 6.PowerWindows v2.8 7. R lator v1 10. Packer v4.8a 15. Address v1.8 16. P Allocater v1.8 * Dre I DI | '| v1. 25 ili br. ©: voe: 28 ŞRipPer 1.0 31 | cı: | ira check Dir 4.1 34 Pzkopf 37 nı 40 ayer B Ter i i v9 ne bootblock'a yerleşmezler. Kendilerini çalışabilir (executable) bir programın başına kopyalayarak daha hızlı yayılabilirler. IRO check gadget'ını klikleyerek o an aktif olan drive'daki tüm file'ları kontrol edebilirsiniz. Program, IRO virüslü bir file ile karşılaştığında sizi uyaracaktır. Programdan tekrar Workbench'e ya da CLI'a geri dönebilmek için, çalışma penceresinin dışında bir yeri kliklemeniz yeterli olacaktır. Bu şekilde çalışma penceresi kapatılarak program eski iconified haline geri döndürülür. Programı bu şekilde istediğiniz zaman kullanabilirsiniz. Son bir not: Programı harddisk'e koyup startup-sequence'den çalıştırmak istiyorsanız, programı RUN ya da daha iyisi RUNBACK komutuyla çalıştırın; zira bu program kendini CLI'dan ayıramıyor.