Commodore Amiga sayı 5, sayfa 28

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 28

"DiskListesi'() rupListesi'() | if numelements(DL)-0 then EXIT it « selectitem(DL, 'SILINECEK ALBÜMÜ SEÇIN!') tx getitemtext (it) tx ADI ';' GRUBU ';' İNDEX Sstrip(ADI,'1') left (Adi :30) 11 left(Grubu — ,25) 11 left(Index — ,06) 11 left (Uzunluğu ,14) earchitems (GL, GRUBU) itINDX - searchitems(IL, INDEX) tx düzenle(tx) Ex Ex call sor - getresponse (tx) if then do call delete(it) call delete (İtGRUP) call delete (itINDX) end call interactive(1) exit

UZUNLUĞU

SILINSIN MI?”

AlbümSil MACRO: Seçilen albümü listeden çıkarır.

tx argll) parse var tx ADI ';' GRUBU ';' İNDEX * cr ix

* UZUNLUĞU

“ADI cr sp GRUBU cr sp İNDEX cr sp UZUNLUĞU return tx

end

FONKSİYON: b ile yollanan yazıyı parçalarına ayırır.

DLz'DiskListesi” () if nümelements(DiskListesi())-0 then exit çall setposition (GenelGrubu () , 640,70) isimsfilereguest ('Kaydedilecek Dosyayi seçin:','')

31) | left ('SÖYLEYEN GRUP',26) NDEX, 7) 14) (1

textzgetitemtext call savemoretext (isim, text) end exit

DosayayaYaz.MACRO: Listeyi düzene sokup bir text dosyasına yazar.

call setposition (GenelGrubu () , 220, 70) yegetclickrow('') () if x>220 & x<220*getwidth (Genelgrubu()) then if y>70 & y<T0sgetheight (GenelGrubu()) then call activate(getobjectat (x,y)) call setposition(GenelGrubu() , 640,70) exit

Genel düğmesi seçildiği zaman seçenekleri çıkarır ve seçilen işlemi yapar.

INDzgetborder (IL) call interactive(0) if & then call sortlist (DL,IL,GL) else if GRP<z-1 then call sortlist(IL,DL,GL) else call sortlist (GL, call interactive(1) exit

ListeSort.FONKSİYON: Çağırıldığı zaman aktif olan indekse göre sıralama yapar.

başlasak iyi olacaktı. CD listesini tutacak olan gittik ve önce sol, sonra da sağ tuşlara sıra ile bastık (ilk seferinde cisim ekleme-değiştirme modunda olmadığımız için bu tuşlara basmamız pek bir şey ifade etmedi bilgisayara). Daha sonra açılan pencerede (ki bu pencere oldukça tanıdık gelmeli size, burada renkleri ayarlamıştık) renklerin üzerinde cismin adı bulunuyordu. Listeye HyperBook'un verdiği garip ismi sildik ve “DiskListesi” ismini verdik. Aşağıda yeralan düğmeciklerin altısına da bu işlemi uyguladık. Daha sonra göz ayarlarımızın pek de iyi olmadığını farkettik. Ekranda yeralan hiçbir şey ortalanmış değildi. HyperBook'un hazır makrolarından biri olan CenterObject'i yükledik ve ARexx menüsünden “RUN MACRO"-yu seçtik (Makro yüklemek için de ARexx menüsünden yararlanabilirsiniz). Ekrana çıkan pencereden CenterObject makrosunu seçtik ve makro otomatik olarak çalıştırıldı. Makro çalışınca ilk olarak ortalanacak olan elemanı seçmenizi istiyor, daha sonra da bu elemanın hangi cisme göre ortalanmasını istediğinizi soruyor. Eğer sayfaya göre ortalayacaksanız, ortalanacak cismi seçtikten sonra boşta kalmış bir noktada sol tuşa basmanız ve bu sayede kendisine göre ortalanacak cisim olarak sayfayı seçmeniz gerekiyor. Tabanı bu şekilde ortaladıktan sonra tabanın ikinci katını ve listeyi de ortalık. Düğmecikleri de göz hesabımızı kullanarak listeye göre düzgün bir şekilde ayarladığımızda işimizin en zor kısmını bitirmiştik. HyperBook uygulamamızda dört tane de özel cisim hazırlayıp bunların ekranın dışında tutulmasını sağlamamız gerekiyordu. Bu cisimlerden ikisi sıralamanın kendisine göre yapılacağı Grup adlarını ve indeksleri tutan listeler olmalıydı. Hemen iki adet liste yapıp tüm renklerini şeffaf yaptık ve isimlerini “Gruplistesi” ve “Indexlistesi” olarak belirledik. Daha sonra da ARexx menüsünden RUN COMMAND seçerek şu satırı girdik: call setposition(Gruplistesi(), 640, 0) Bu komutu girer girmez

Gruplistesi adlı liste ekrandan yok oldu. Burada yaptığımız iş, adlı cismi 640 noktalı X koordinatına atmaktan ibaretti. Komuttan da gördüğünüz gibi, HyperBook'ta ARexx kullanırken bir cisme hitap etmek için o cismin adını ve parantezleri '()' kullanmalısınız. Aynı şekilde diğer listeyi de 640'a attık: call setposition(İndexlistesi(), 640, 0). Yalnız burada dikkat etmemiz gereken şey, listelerin çerçeve renklerinin şeffaf olmasıydı. Çünkü bu çerçeve renklerinden hangisi şeffaftan farklıysa o listeye göre sıralama yapılmasını sağlayacaktık. Demin, ekran dışında dört adet cisim bulunacağını söylemiştim. Bunlardan ikisi sıralama, diğer ikisi de en sağdaki iki düğmenin seçildikleri zaman çıkartacakları ikinci düğme serisi olacaklardı. “Sıralama” düğmesini seçtiğiniz zaman hemen üç düğme belirecek ve bu üç düğmeden biriyle “Albüme göre”, “Gruba göre” veya “İndexe göre” sıralama yapılmasını sağlamanız istenecekti. Eğer hiçbiri seçilmezse bu düğme cisimciği geldiği 640 koordinatına geri yollanacaktı. Genel işlemler de aynı şekilde üç düğmelik bir gruba sahip olacaktı. Bu grupta da “Diskten Yükleme”, “Diske Kaydetme” ve “Listeyi Temizleme” seçenekleri yeralacaktı. Hemen bu iki düğmeler grubunu hazırladık. Bunların yapacağı işleri yaptıracak makroları yazdık ve düğmelere bağladık (makroları düğmelere bağlama işini nasıl yaptığımızı ileride anlatacağım). Düğmelerin tasarlanması sırasında ilk olarak büyükçe bir taban cisimciği yarattık ve bunun üzerine demin kullandığımız küçük düğmelerden (BIN'de hazır bir tane duruyordu zaten, sağ tuşa basarak birkaç kopyasını aldık) üçer tane aldık ve yazılarını hazırladık. İlk grubu hazırlar hazırlamaz cisim ekleme-değiştirme gadget'ının hemen altında yeralan grup yaratma gadget'ini seçtik. Taban cismini içine alabilecek bir alanı seçtik ve ilk grubumuz oluştu. Bu gruplara “SortGrubu” ve “GenelGrubu” adlarını verdik ve ikisini de 640'a attık. Artık genel görünüm tamamlandığına göre ARexx programlarımızı tek tek yazıp bunların belirli düğmeler tarafından çalıştırılmasını sağlamaktan başka işimiz kalmamıştı. Programların nasıl çalıştıklarını burada açıklayamayacağım. AmigaPro'da yeralan ARexx yazısını izlerseniz kısa süre sonra hem bu programların neler yaptığını anlayabilirsiniz, hem de kendi programlarınızı yazabilirsiniz. Bu arada, HyperBook'un ARexx komutlarını vermek gibi bir niyetimiz de yok. Eğer gerçekten HyperBook kullanmak istiyorsanız, bir şekilde yasal kullanıcılar arasına girmelisiniz: Bu sayede hem HyperBook'un tüm dökümanına sahip olursunuz, hem de bu harika programı yaratmış olanların hakettikleri ücreti ödeyerek daha ileride çok daha iyi programlar yaratmaları için onlara destek olursunuz. Şimdi bir şekilde bu ARexx makrolarını düğmelere bağlamak zorundaydık. Cisim ekleme-değiştirme moduna girip düğmenin üzerinde bir sağ, bir sol tuşa basarak tanıdık penceremizi açtık. En altta bir sıra işlem duruyordu. Bunların arasından ARexx Macro'yu seçtik ve çıkan liste içinde bu düğmeye bağlanacak olan makroyu seçtik. Artık bu düğmeye her basılışında bu makronun çalışmasını sağladık. Bu işlemi kullanarak tüm makroları tüm düğmelere bağladık. Artık program kullanılmaya hazır hale gelmişti. Ama bir eksik kısım bırakmıştık. Jazz Müzikevi'ne, seçilen albümlerin hakkında bilgi gösterilmesini (kapak resmi dahil) sağlayacağımıza söz vermiş-

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