Hyperbook

İŞ-JAZZ MÜZİKEVİ'nin Müzik Disklerini düzenli bir şekilde tutabilmesini sağlayacak, müşteriye gerekli bilgiyi kolayca verebilecek AMIGA programi. Kullanılacak elemanlar: 2 MegaBayt ve Hard diskli bir Hyper- Book, ARexx Server, DPaint, SCANNER.

Se Müzikevi yetkilileri, tüm CD'lerinin bir program aracılığıyla düzenlenmesini, gerektiği zaman indeksinin bulunabilmesini istiyordu. Hemen istedikleri detayları Öğtendik. Bütün istenen CD isimlerinin ve indekslerinin bir veri tabanı programı aracılığıyla saklanmasıydı. Fakat AMIGA çok daha fazlasını yapabilecekken sadece bununla yetinmemelerini önerdik. Dosyada CD isimleri, indeksi, albümü çıkatan grubun adı ve albümün toplam kaç dakika olduğu tutulacaktı. Herhangi bir anda indeks, albüm adı veya grup adına göre arama yapabilecekti, ve albüm adının seçilmesi halinde albümle ilgili bir açıklama ekranı görünecekti. Bu ekranda albüm kapağının bir görüntüsü, albümdeki şarkılar ve gerekli genel bilgi bulunabilecekti. Bütün bunların yanında dosya elemanları albüm veya grup ismine ya da indeksine göre sıralanabilmeliydi. Bu CD listesi dosyasını tutabilecek fazla program bulunmuyordu. Ya SuperBase, ya da HyperBook kullanmamız gerekecekti. Görsel açıdan üstün sonuçlar vermesi, Hyper- Book'un seçilmesini sağladı. Program kolay kullanımının yanı sıra ARexx desteği sayesinde hem diğer programlarla haberleşebiliyor. hem de çok daha kullanışlı bir Hyper- Book ortamı sağlıyordu.

HyperBook'u görüntü konusunda üstün olduğu için seçtiğimize göre, ilk olarak ekran düzenini yapmalıydık. Her şeyden önce ekran renklerini be-

DL<'DiskListesi'()
()
call setposition(GenelGrubu () , 640,70)
('DOSYAYI
if isimz'' then exit
textsloadtext (isim)
call clearlist (DL)
call clearlisttIL)
call clearlist GL)
call
(do forever
parse var text satir text
if then break
İZUNLUGU RESİN
parse var satir ADI ';' GRUBU ';' INDEX
ADI *
GRUBU — « left(strip(Grubu, 'b') — ,25) 11
INDEX  < left(striplIndex,'b') — ,06) 11
left (strip (Uzunluğu, 'b')
RESİM — strip(RESIM,'b')
sat irsADI | İGRUBU| |
it sappenditem(DL,satir.1)
call appenditem(IL, INDEX, 1)
call appenditem(GL,GRUBU, 1)
if resimz'' then
call setactiönnonelit)
else
call setactionpiclit, RESIM)
call distesort
call interactive(l)
exit

DosyadanOku.MACRO: Seçilen dosyadaki özel şekilde düzenlenmiş bilgiyi listeye okur ve sıralar.

lirledik ve onaltı renk moduna geçtik. HyperBook'un bize sunduğu renk paleti oldukça iyi olduğundan palet renkleri üzerinde oynamadık. Ama ektanın arkaplan rengini ortakoyu mavi seçtik. Düşey çözünürlük için sunulan 256 piksel modu yeterli olduğu için İnterlace ekranını kapalı tuttuk.

sayede gözü oldukça rahatsız eden o şiddetli titremeden kendimizi koruduk. Daha sonra, ana panelin en arkasını oluşturmak üzere büyük bir “Button” yani “Düğme” açtık. Bunu büyük kontrol panelinden, tek kareli düğmeye basarak seçtik ve ekranda büyükçe bir yer yarattık. Bu düğmeler, kendilerine görev verilmediği zaman sadece grafik elemanı olarak yer alıyorlar. Aslında DPaint gibi bir çizim programı yardımıyla üçdört renklik bir mermer taban yaratıp arkaya bunu yerleştirebilirdik, ama dosya İçeriklerini tutan kısım tabanın çoğunu kaplayacağı için harcadığımız emeğe değmeyeceğini düşündük, Düğmeyi ekrana yerleştirir yerleştirmez renklerini belirlememiz gerekti. Düğmeyi yerleştirdiğimizde açılan pencerenin üst kısmında renkler, bunların yanında şeffaflık belirten kutu ve hepsinin altında rengi seçilebilecek kısımlar yer alıyor. En soldaki kısım, düğ- > menin (düğmenin İsim, renk ve görevlerin belirlendiği pencere sadece düğmelere has olmadığı için 'düğmenin' yerine demem gerekirdi) yüzeyinin rengini belirliyor. Bunu ekran rengiyle aynı yaptık. Bunun hemen yanında çerçeve rengi ve en sağda da gölge rengi yer alıyor. Normal olarak gölge, kutu havadaymış İzlenimi vermek üzere yapılmış. Fakat 'Gölge' gadget'- ının Üzerinde iki kere kliklerseniz düğmeniz sanki yüzeye bağlı bir kabartıymış gibi bir görüntü elde edebilirsiniz. Bu çerçeve rengi sağ ve üst kenarların rengini, gölge rengi de sol ve alt kenarların rengini belirliyor. “Embossed Shadow” adı verilen bu sistem son programlarda sıkça kullanılmaya başladı ve oldukça şık görünüyor. Bu sebeple biz de bu seçenekten yararlanmaya karar verdik. Ana panelimiz yüzeyin yukarısında görünebilsin diye çerçeve rengini beyaz, gölge rengini de siyah verdik. Kenarları belirginleştirebilmek için bir düğme daha açtık ve birinci düğmenin İçine yerleştirdik. Bu sayede kenarlarda birer değil İkişer noktalık parlama (ve gölgelenme) kısmı oluşturduk. İlk olarak ikincl düğmeyi İlkinin çerçevesine bitiştirmemiz gerekti, Eğer clsim ekleme-değiştirme modundaysanız herhangi bir clsme belli bir süre basılı tutarsanız okunuz bir ele dönüşecektir ve kendisiyle birlikte, üzerinde sol tuşu basılı tuttuğunuz cismi de hareket ettirecektir. Demin de söylediğim gibi, bu sistemi kullanarak ikinci düğmenin sol üst köşesini diğerininkiyle bitiştirdik. Düğmelerin sağ alt köşelerini de bitiştirmek için ikinci düğmenin boyunu da ayarlamamız gerekti. Cisim ekleme-değiştirme modundayken cisme kliklediğiniz zaman (sol tuşu) sağ alt köşede beliren gadget'i kullanatak düğmenin boyunu kolayca ayarladık. Demin kullandığımız gadget aynı zamanda, grup haline getirilmiş cisimletİN grubu oluşturan elemanlara ayrılması için kullanılıyor. Daha sonra bağımsız cisimletin boyutları tek tek ayarlanabiliyor. Sıra Görüntü ekranını oluşturmaya gelmişti. Bu iş için tek bir “List” ya da “liste” kullanmaya karar verdik. Düğmenin tepesinde on piksellik bir boşluk bıraktıktan sonra listeyi yerleştirdik. Oldukça büyük olan bu liste albüm adını, grup adını,

DL « “DiskListesi'()
GL « “GrupListesi”()
IL «
if numelements (DL)s0 then EXIT
it « selectitem(DL, 'Degisecek Albümü
tx getitemtext (it)
parse var tx ADI GRUBU İNDEX ';” UZUNLUĞU
ADI left (ADI 430)
GRUBU — left (GRUBU — ,25)
İNDEX» — ,06) 11 *
left (UZUNLUĞU ,14)
İtOGRUP searchitems (GL,GRUBU)
İLINDX - searchitems(IL, INDEX)
tx « inputform('Degisiklikleri formukur (tx) )
if txs'” then exit
parse var tx ADI *0a'X GRUBU '0a'X INDEX *0a'X UZUNLUĞU
ADI left (striplADI, 'b')
GRUBU — - 'b') — ,25) 11
INDEX left(strip(INDEX,'b') — ,06) (1
UZUNLUĞUz left (strip (UZUNLUĞU, ,14)
ExsADI (| GRUBU || İNDEX || UZUNLUĞU
call Setitemtext
call Setitemtext (İtGRUP, GRUBU)
call Setitemtext (İLINDX, INDEX)
('Yeni resim?”)
1 then
filereguest ('Yeni resmi
if resim-z'' then
call setactionpiclit,resim)
else
call setactionnonelit)
call Listesort
exit

AlbümDeğiştir MACRO: Albümlerden biriyle ilgili datanın değiştirilmesini sağlar.

indeksi ve uzunluğu yanyana gösterebilecek kadar geniş olmuştu. Bu listeyi yerleştirdiği: mizde otomatik olarak girdiğimiz liste elemanı ekleme modunu ESC'e basarak iptal ettik. Tekrar cisim ekleme-değiştirme gadget'ini seçerek (kont- Tol panelinin sağ üst düğmesi) listeye geldik. Bir kez sol tuşu, bir kez de sağ tuşu klikleyerek renk seçtiğimiz ekrana geldik. Burada listenin de düğmenin üzerinde bir kabartı gibi görünmesini sağladık. Bütün bu işleri yaptıktan sonra geriye asıl kontrolü sağlayacak olan düğmeleri ekrana yerleştirmek işi kaldı. Bunlar ana panelimizin altında yer alacaklar ve genel işlemlerin yürütülmesini sağlayacaklardı. Göz kararı ile bir düğme boyu belirledikten ve renklerini verdikten sonra çöp kutusunu açtık (kontrol panelinin sol üstün bir altındaki düğmesi) ve düğmemizin üzerinde klikleyerek çöpe attık. Daha sonra çöp kutusunun içinde sağ tuşa altı kere basarak aynı düğmenin altı kopyasını çıkardık. Bu düğmeleri kontrol paneline yaymaya çalıştık ve ki boyunu tutturamadık. Beş düğmeyi çöpe attık ve en soldaki menüden “EMPTY BİN” elemanını seçerek çöp kutusunu temizledik. Geride kalan düğmeye yeni bir boy verdik ve aynı şekilde şansımızı denedik ve gene tutturamadık. Beş-altı denemeden sonra tam İstediğimiz boyutta bir düğme oluşturabilmiştik. Bunları eşit aralıklarla taban düğmesinin (ilk yaptığımız işe yaramaz düğme) üzerine yaydık.

Şu ana kadar karşımıza en sık çıkan problem sonradan eklenen elemanların diğerlerini kapatması oldu. Böyle bir sebepten dolayı arkada kalan bir elemanı öne almak için, elemanı seçin ve ortaya çıkan derinlik ayarlama gadget'larını aynı Amiga pencerelerinde olduğu gibi kullanın. Bu gadgetlar sayesinde her cismi diğerinin önüne veya arkasına atabiliyorsunuz. Tüm kontrol paneli kutularını yerleştirdikten sonra ekranda kabartı halinde duran ve hiçbir işe yaramayan bir obje sürüsü bulunuyordu. Bu objeaçıkken) ve çerçeve rengi turuncu olduğu zaman üzerinde iki kere klikledik. Bunu yaptığımızda düğmelere yazı yazmamizi sağlayan panelleri açmış olduk. Ama burada taban düğmesini seçeceğiz diye biriki kez listeyi ya da diğer objeleri seçtik. Bu yüzden renk

db »
cr «
if numelements(db) < 0 then EXIT
text inputstring('ALBÜM ADINI, GRUP ADINI YA DA İNDEKSİ GİRİNİZ!',''
if text then EXIT
it objectnumber
do forever
it « searchitemslit, text)
if itz'' then do
call inform(text ||' BULUNAMADI.')
EXİT
end
call listscroll(it)
tx duzenle(getitemtext (it))
tx tx || cr cr * ARAMAYA DEVAM EDEYİM
tresponse (tx)
then break

değiştiren çerçevenin hangi — citi objeye dit olduğuna özellikle — 9) dikkat etmek gerekiyor. Yazı — exit yazmaya başlamadan önce ena Türkçe fontlardan birini — Şi; mek amacıyla TEXT CONTROL adlı küçük kutucuğun solunda yeralan dikdörtgenin içinde sol tuşa bastık ve yazım kontrolünün yapıldığı pencereyi — «. açtık. en üstün- — de yeralan renkleri kullanarak KIT | 3 parse var tx ADI GRUBU 'da'k INDEX “Da'X UZUNLUĞU yazının yeşil olmasını sağladık — abı - iertiseripladi, ,30) İl ,06) 13 "=

AlbümBul.MACRO: İçindeki bilgilerden biri verilen albümün bulunmasını sağlar.

nput form('Albüm Ekleme',Formukur
then EXİT

ve renklerin hemen altındaki — gadget'ların en solundaki yar — dımıyla font seçme menüsüne — girdik. Burada bize sunulan fontların içinde Türkçe font olmadığı için pencerenin alla: — onunu, 1 rında yeralanive içindeküçük — bir disket resmi bulunan gad- sit get'ı seçtik. Bu sayede diskte — Yeni girilmesini sağlar. yeralan fontları kullanabilme imkânımız doğmuştu. Hemen Türkçe bir font olan topazfon- — < - tunun 8 piksel yüksekliğinde olanını seçtik, ve TEXT CONT-

im-z'* theri
ctionpiclit,resim)
if argi) 1 then do

lere görevler vermeden önce hepsini tek tek tanımlamamız gerekliydi. İlk olarak taban düğmesinin üzerine gittik (obje değiştirme-ekleme modu

Ba ga tx ADI ';' GRUBU ';' İNDEX ';' UZUNLUĞU düğmenin ortasına değil de SY a tepesine — © gerekiyordu. alla. — | tında yazılan meyi temsil eden boş bir kutu, yanında da açma-kapama düğmesine benzer bir gadget bulunan bir yer bulunuyordu. Bu açma-kapama düğmesi üzerinde sol tuşa bir kez basınca düğme yukarı çıktı ve boş kutunun yanında “5”, “4” ve “” belirdi. * ve - yi kullanarak yazının kutu tepesine olan uzaklığını 1 yaptıktan sonra pencerenin sol-üst köşesindeki dikdörtgeni kullanarak TEXT-CONTROL'ü ilk gördüğümüz şekline çevirdik. Daha sonra da düğmeye “JAZZ Müzikevi CD listesi” başlığını yazdık. Aynı basamakları tekrarlayarak aşağıdaki düğmeciklerin hepsinin işlevlerini de içle-

end

FormuKur(REC).FONKSİYON: Yollanan yazıyı bilgi formunda kullanlacak şekle sokar.

rine yazdık. Bu düğmeler sırasıyla şu İşleri yapmak İçin seçilmişlerdi: 1. Albüm ekleme 2. Albüm değiştirme 3. Albüm arama 4. Albüm silme 5. Liste sıralama 6. Genel işlemler Bu işi de bitirdikten sonra, ekrandaki bütün objelere İsim vermemiş olduğumuzu farkettik. Asıl kontrolü yapacak olan ARexx programlarını yazarken bu isimlere ihtiyaç duyacağımız İçin şimdiden girmeye

"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ş-

HAIR

IL
call setposition(Sortgrubu ()
call interactive(
call sortlist(Di
call setborder (In esi().-1)
call setborder(GrupListesi (),-1)
call interactive(1)
exit

SortDL.MACRO: DiskListesi'ne göre sıralama yapar.

TL
call se
call
call
call
call
call interactive(1)
exit

SortGL.MACRO: Gruplistesi'ne göre sıralama yapar.

if numelements (DiskList.
call setposition(Sortgr
y=getclickrow(**)
then exit
if y>175 & y<
call activate(
call setpositi
exit

SortTipi MACRO: Sıralama düğmesi seçildiğinde seçenekleri ekrana çıkarır ve çağırılanı çalıştırır.

sortlist(IL,DL,GL)
setborder (IndexListesi (),1)
call setborder (GrupLi
call

IndexListesi'ne göre sıralama yapar.

if numelements(DiskListesi then exit
call setposition (GenelGrubu () , 640,70)
sorsgetresponse('Tüm listeyi temizlemek istiyor musunuz?')
if sorz0 then exit
call clearlist (DiskListesi ())
call clearlist ())
call clearlist (GrupListesi ())
exit

Temizle MACRO: Listeyi temizler.

tik. Bunun için hemen SCANNER programına giderek albümlerden birinin kapağını taradık. Bunu onaltı renk modunda yaparak belleği biraz rahat bıraktık. Daha sonra DPaint'i çalıştırdık ve ekranın yarısını kaplayan resmin yanına albümle ilgili bilgileri sıraladık. Daha sonra da Harddiskte ayarladığımız özel bir yere bu resmi kaydettik. Resmin ait olduğu albümü listemize eklerken, tüm yapmamız gereken resmin hard diskteki yerini programa bildirmek olacaktır. HyperBook bu eleman seçildiğinde otomatik olarak

resmi yükleyip gösterme işini üzerine almış zaten,