KICK PASCAL

Merhabalar. Bu ay süren Pascal'a giriş kursumuz sonuçlandı. Artık Amiga'da Pascal programı yazabilecek hale geldik. Ne var ki, kendimizi sistemin pencerelerine, handler'larına ve library'lere adamadan önce programların yazabileceğimiz ana programı tanıtmak istiyorum.

Amiga'da Pascal son derece yeni ortaya çıktı. Profesyonel bir kullanım sağlayan benim bildiğim iki adet Pascal paketi var. Bunlardan biri bugün tanıtacağımız Kick Pascal. Bir diğeri ise Hi-soft Basic'ten ve Devpac Assembler'den tanıdığımız Hisoft'un çıkardığı Hi-speed Pascal. Ne var ki, bu ikinci paketin Türkiye'de tam bir versiyonuna rastlayamadım. Şu günlerde Kick Pascal'in 2.1 versiyonu da piyasaya çıktı. Pascal, Avrupa'da oldukça beğenilen bir dil olduğundan sürekli gelişme gösteriyor. İşte Kick Pascal 2.0...

Kick Pascal 2.0 (KP) iki diskette bulunuyor. İlk diskette programın kendisi, Preferences programı, Include dosyaları ve Unit'ler bulunuyor. İkinci disket ise örnek programlara, demolara ve bazı source'lara ayrılmış. İşin güzeli bir tek disket ile bu programı kullanabilecek olmanız. KP 512 Kbyte'lık makinalarda bile kullanılabiliyor. Ne var ki, sahip olduğunuz ek donanım arttıkça performansı artıyor.

Diyelim çalışma ortamınızı hazırladınız (Bu ortamın nasıl hazırlanacağını yazımız boyunca göreceksiniz.), ilk olarak çalışma parametrelerini ayarlamak için PascalPrefs programını kullanmanız gerekecek. KP, bir Alman şirketi tarafından hazırlandığı için maalesef bu program Almanca.

ilk olarak, yapılacak olan ayarlamaların saklanacağı dosya isminin girilmesi istenir. Şayet belirtilen isimde bir dosya yoksa, program bu isimde bir program yaratacaktır. S:Pascal.config dosyası, çoğu amaçlar için uygun olacaktır. OK tuşunu klikledim. Bu ekran Preferences programının ana menüsünü oluşturuyor, en tepede dosyanın adı duruyor. Onun altındaki ilk iki tuştan Laden ile, belirtilen dosyadaki parametreler yüklenir, Abspeichern ile de parametreler kaydedilir. Bunun altındaki tuş ise Editor Tasten Belegen, birçok preferences programında aradığımız son derece güzel bir özellik. Burada Editörde kullanılan kontrol tuşlarını belirleyebiliyorsunuz. Bunun ne önemi var diyebilirsiniz. Ancak, bu sayede alışmış olduğunuz bir editörün tuşlarını bu programa geçirebilirsiniz.

Bu ekranın üst tarafını, editörde tanımlanmış olan komutlar dolduruyor. Alt sol tarafında ise siyah ile kontrol karakterleri, beyaz ile de bu tuşla kullanılabilecek olan editör komutları yer alıyor. Ok tuşları ile, tüm komutları görebilir; T ile yeni bir satır ekleyebilir; Del ile de bir satırı silebilirsiniz. Sol sütuna istediğiniz kontrol tuşlarını yazabilir veya sağ sütunda bu kontrol karakteri ile kontrol edilecek fonksiyonu, yukarıda bulunanlardan seçerek yazabilirsiniz. Kontrol karakteri olarak ^ işareti, Ctrl tuşunu simgelemekte (^D, Ctrl-D anlamına geliyor). Bu bölüm son derece yararlı, ancak burası ile ayarlama yapmadan iyice düşünmeniz gerekiyor. Yaptığınızı beğenmediyseniz, sol alt tarafta Rücksetzen ile değişiklikleri iptal edebilir ve Fertig ile de geri dönebilirsiniz.

Üstten dördüncü seçenekte ise, dosya yüklemek için kullanılan Requester'la ilgili parametreler giriliyor. Eğer elinizdeki versiyon 2.03'ten sonraki bir versiyon ise, burada büyük bir ARP-Filerequester seçeneği olacaktır. Eğer bu seçenek varsa, mutlaka değerlendirin. Zira KP'ın en kötü yanlarından biri, daha önceden kullandığı son derece yavaş ve sinir bozucu olan Filerequester'i idi. 2.03 versiyondan sonra, ARP requester'ını kullanabilme seçeneği eklenmiş. Bunun için LIBS: directory'sinde ARP.library'sinin olması

E Kağan Gürkaynak şart. Bu ekranda, kalan diğer tuşlar ile orjinal requester'a çıkacak olan düğmeler tanımlanıyor, umarım buna gerek kalmaz...

Gelelim Default Werte Definieren seçeneğine. Burası oldukça önemli. Yukarıda, ilk olarak programın çalışması için ayıracağı hafıza yer alıyor. Bu değeri büyük programlar için arttırmanız gerekebilir. Zira program ilk çalıştığında size yine de ne kadar hafıza ayırmak istediğinizi soracaktır, ama özel bir istek belirtmediğiniz takdirde, burada belirlenen değer kabul edilecektir.

Bundan sonra bir dizi parametrenin ilk değerinin ne olacağını belirlemeniz ve bu parametrelerin hepsini program çalışırken değiştirmek mümkün. Parameter seçeneği, programın parametre kabul edip etmeyeceğini belirler. Linker tolerant ile Pascal düzenine uygun olarak küçük, büyük harf ayrımı yapılmaz. Bu seçenek kaldırılırsa, C linker'larına uyumlu olunacaktır. Bilindiği üzere Pascal'da komut sonları ";" ile bitmelidir. Başka dillerden Pascal'a geçenler, bunu çok sık unuturlar. Semikola ergaenzen seçeneği ile KP, eksik ";"ları tamamlamaya çalışacaktır (%99 başarılı oluyor). Auto-save seçeneği ile, program çalıştırılmadan save edilecektir. Backup-datei seçeneği ile de, aynı isimli dosyanın üzerine kayıt yapılınca eskisinin ismi değiştirilerek saklanacaktır. Sağ sütunda ise Derleyici parametreleri var. Subrange testen, programda kullanılan değişkenler arasında geçiş olup olamayacağını kontrol eder, Indexbereich ile de dizilerde verilen indekslerin maksimum değeri aşması kontrol edilir. Unterbrechen çok önemli bir seçenek. Bu seçenek açıksa, programınızı çalışırken F10 veya Ctrl-C ile durdurmanız olası. Program geliştirirken bu seçeneği seçmeniz son derece önemli, zira yapacağınız bir kısır döngüden kurtulma olanağınız kalmayacaktır. Stack grösse testen seçeneği ile.

programın Stack hafızayı tüketip tüketmediği incelenir. KP ortamında program çalıştırırken bu seçenek gereksiz kaçabilir, zira çalışan program KP'nin kullandığı hafızayı Stack olarak kullanacaktır. Ancak bağımsız çalışırken, program sistem tarafından kendisine ayrılmış olan Stack miktarını kullanmak zorundadır. Arithmetic Overflow seçeneği ile Overflow adı verilen matematik işlemlerinde değişken sınırı dışına çıkmaktan oluşan hatalar yakalanacaktır. Sağ sütundaki tüm bu parametreler seçildikleri takdirde, programın çalışma hızını belirli bir oranda düşürürler.

Bunların altındaki Sprache ile programın dili Almanca, İngilizce ve Normal olarak değiştirilebilir (Normal seçeneğinde KP, z tuşunun yerine göre hangi dili seçeceğine karar veriyor). Ortadaki Icons seçeneğinde, dosyalara İkon koyulup koyulmayacağı (Aus, ikon yok) belirlenir. En sağda ise durdurma tuşunun F10'mu, yoksa Ctrl-C'mi olacağına karar verilir. Bunun altında iki adet önemli ve son derece sevimli seçenek var. Bunlar Include ve Unit dosyalarının hangi dosyalarda bulunacakları ile ilgili. Burada iki adet directory belirtmek mümkün.

KP, ilk olarak solda belirtilen directory'ye bakacak, orada bulamazsa ikinci belirtilen directory'de bu dosyaları bularak, şayet yer varsa ilk directory'e kopyalayacaktır (Ne diyor bu adam yahu??). Bunun yararı şu: Include dosyalarına, her derlemede ihtiyacınız vardır. Disketle çalışıyorsanız, her derlemede disketten uzun süre yüklemeniz gerekecektir. O işin kolayı var diyeceksiniz, tüm Include'ları RAM: diske çekerim. Bu durumda da birçok gereksiz dosyayı RAM:'a çekmiş olacaksınız. Ancak burada kolaylık var. İlk directory'yi RAM: veya RAD:'da verip, ikinci directory'yi disket veya Harddisk verirseniz, program ihtiyaç duyduğu dosyaları derlerken bir kere yükleyerek bunları aynı zamanda RAM:'a çekecektir. Aynı dosyalara bir daha ihtiyacı olduğunda ise ilk olarak RAM:'a bakacaktır, güzel değil mi?

Sondan ikinci seçenek ise Window- Einstellungen, ekran ile ilgili düzenlemeler yapmanızı sağlar. En üstte Workbench ekranını mı yoksa yeni bir ekranı mı kullanacağınız belirlenir. Yeni ekran açmak bir miktar hafıza kaybını doğuracağından, hafıza derdi olanların kullanmaması gereken bir seçenek. Yazı penceresinin sol kenarı, yüksekliği, ismi, hep burada belirlenebilen özellikler. Bu bizim için pek ilginç değil, ancak alt tarafta bulunan seçenek ile kullanılacak olan yazı karakteri serbestçe belirlenebiliyor. Topaz'dan nefret edenler veya modulator kullananlar oldukça sevineceklerdir.

Program Ende seçeneğini ise söylememe gerek yok, THE END.

Artık programı çalıştırabiliriz. İlk olarak, bizden ne kadar hafıza ayırmak istediğimiz sorulacaktır. Sonra meşhur, bildik ve de tanıdık bir editöre geleceğiz. İlk olarak kısaca menülere bir göz atalım, (soldan sağa)

Project: Klasik New, Load, Save, Save As, Print ve Quit seçeneklerinin yanısıra, bir de Exefile ve Objectfile seçenekleri var. Bir program derlemişseniz, Exefile ile, tek başına çalışabilir bir program olarak kaydetmek mümkün. Objectfile ile ise de, başka modüllerle bir arada Link edebilmek için obje dosyası oluşturmak mümkün.

Edit: Go to, ile programın başına ve sonuna gidilebilir. Block ile blok operasyonları yapılabilir. İlk olarak, işleme girecek bloğu işaretlemek gerekir. Bunu Mark ile sağlarız. Sonra bu bloğu silip başka yere yazabilmek için Move, sadece kopyalamak için Copy ve sadece silmek için Delete komutları kullanılır. File seçenekleri ile bu blokları diske kaydetmek (Write Block), disketten blok okumak (Read Blok) veya yazıya eklemek (Append) mümkün. Shift Block ile işaretlenen bloğu sola sağa kaydırma şansımız var. Son üç seçenek Find, Replace, Rept Last diğer editörlerdeki gibi arama işlerinde kullanılıyorlar.

Execute: Programı derlemek için Compile, çalıştırmak için Run, bu kısmın en önemli seçenekleri. Diğer seçenekler ise genelde parametreler ile ilgili.

Esc tuşu ile editörden çıkarak direct moda geçebiliriz. Yardım alabilmek için Return tuşuna basarak direkt modda kullanılabilen emirleri görebiliriz. Buradaki neredeyse her emri biliyoruz. Birtek Space tuşu ile hafızada bulunan programın hafıza kullanımını görebiliriz. Bir program derlediğiniz zaman özellikle gereken Stack hafıza önemli. Derleyici sadece lineer stack ihtiyacını belirtecektir. Bir de program içinde kendi kendini çağıran programların harcadığı Stack olabileceğini düşünerek programınızın ne kadar Stack hafıza harcadığını bilmelisiniz. Programı çalıştırmadan evvel, Dos'un Stack emri ile gereken miktarı ayırmanız gerekecektir.

Evet, özetle bu kadar. Sıra geldi bazı hatırlatmalara. İlk olarak bazı örnek programlarda include dosyaları için yanlış isimler verilmiş. Bu yüzden "File not Found" hatası ile karşılaşabilirsiniz. Çalışma disketinizin LIBS: directory'sine KP disketinde bulunan Paslib.o dosyasının olmasına dikkat edin (Derleyici exe dosyası oluştururken bu dosyayı arayacaktır). Mathtrans ve diskfont, aranan diğer library'ler olacaktır. Include dosyalarının her iki directory'sinin doğru olmasına özen gösterin.

Her ne kadar KP'nin editörü olsa da, özellikle uzayan source'lar için çok hızlı bir editör değildir. Eğer uzun programlar yazacaksanız, daha iyi bir editör kullanmanızı tavsiye ederim. Bu konuda kesinlikle tavsiye edilebilecek en iyi editör, Cygnus Editor Professional (Bugüne dek daha iyi bir source editörü göremedim, ne Amiga'da, ne başka bilgisayarda).

Eğer program yazmak istiyorsanız, Amiga'nızı iyi tanımak zorundasınız, özellikle program geliştirirken size Amiga'nın sunabileceği tüm kolaylıkları kullanmaya bakın. Eğer makinanız 1.3 ise, RAD: kullanın. Hatta daha iyisi VDO: türü isimler alan ve RAM: gibi doldukça genişleyen ama RAD: gibi bootlayabilen ve silinmeyen programları bulmaya bakın.

Gelecek ay bilgisayarım tamirden gelirse program örneklerine başlayacağız sıkı durun. Derleyicinin özelliklerini yeri geldikçe bu açıklamalarda değineceğiz. Sorularınız olursa, adresimiz belli, mektuplarınızı bekleriz.