|
|
Pascal programlama dilinin komutlarina geçmeden önce Pascalda kodlama stilinin önemi hakkinda biraz bahsetmek istiyorum. Burada hedefledigim soru yazim kurallarinin yaninda program kodunu nasil yazarsininiz ? Bu sorunun bir tek cevabi yoktur, kisilerin sahsi kodlama stili degiskenlik gösterebilir. Bununla birlikte yorumlar, büyükharf kullanimi, bosluklar ve güzel yazim kurallari ile ilgili bir kaç prensibin oldugunu bilmekte fayda var. Genel olarak kodlama stiline verilen önemin sebebi baskasi tarafindan okundugunda rahat anlasilir olmasidir. Kodun anlasilir olmasinin temelindeki fikir birlikteliktir, her ne tür yazim stilini seçerseniz seçin parojenizin basindan sonuna asagidaki konulari bir bütün olarak gözetmeniz gerekir. Pascalda yorum cümleleri kivircik parantez yada parantezi takip eden yildiz ile çevrelenir. Delphi , C++ stili yorum cümlelerinide destekler
Ilk yazilan örnek en çok kullanilan ve en kisa olanidir. Ikinci örnek daha çok Avrupada kullanilir çünkü Avrupa standadindaki klavyelerde kivircik parantez yoktur. Üçüncü örnek ise C++ dan ödünç alinmistir ve Delphinin 32 bit versiyonlari tarafindan desteklenir.
Son örnekteki stil tek satirlik kisa yorumlar yazmak için kullanilir ve istenilmeyen kod parçalarinin basina koyularak yorum haline getirilebilir.
Üç degisik tipte yorum cümlesi yazabilmenin getirisi yuvalanmis yorum cümleleri yazmaya olanak saglamasidir. Bir örnekle açiklayalim
yukaridaki yorum cümlesi hatalidir çünkü ilk kivircik parantez açildiktan sonra bitisi gösteren ilk kivircik paranteze kadar olan kisim yorum cümlesi olarak sayilacak kalan kod ise sayilmayacaktir. Örnektede italik ve normal yazi stilile gösterilmistir. Bu kodun dogrusu Pascalin sagladigi genis kullanim perspektifi ile söyle olabilir
Pascal derleyicisi ( diger derleyicilerden farkli olarak ) büyük küçük harf ayrimi yapmaz. Bu yüzden bir degisken ismi olarak kabul edecegimiz index, Index, INDEX, InDeX hep ayni anlama gelmektedir. Genelinde bu esnekligin olumlu yanlari vardir, zira büyük/küçük harf ayrimi gözeten derleyicilerde bu sebepten dolayi bir çok yazim hatasi alinmaktadir.
Bunun yaninda anlasilmasi zor bir kaç dezavantajlari bulunmaktadir. Ilk olarak, bu tanimlayicilarin ( degisken isimleri gibi) ayni oldugunun farkinda olmaniz gerekir, bu yüzden Index ve INDEX degisken isimlerini farkli birer yapiymis gibi kullanmamaniz gerekir. Eger çok uzun bir tenimlayici ismi belirleyecekseniz (arada bosluk olmamak kosulu ile) kelimelerin bas harflerini büyük harfler ile yazabilirsiniz.
Program koduna eklemis oldugunuz bosluk, tab, bos satirlar derleyici tarafindan göz ardi edilir. Bütün bu elemanlar White Space’s olarak tanimlanir. White Spaceler kodun okunulabilirligini arttirmak için kullanilir, derleyici tarafindan dikkate alinmaz. Basic programlama dilinin aksine Pascal tek bir kod parçasini birden fazla satira yazmaniza izin verir, uzun bir komutu bir yada daha fazla satira yazabilirsiniz. Bunun dezavantaji ( daha çok Basic dili kullanicilari için) bir komutun bittigini göstermek için sonuna noktali virgül konulmasinin gerekliligidir. Tekrar belirtmek gerekirse, bosluklarin, birkaç satira dagilmis komutlarin kullanimi ile ilgili kesin kurallar olmamakla birlikte su maddelere dikkat etmek gerekir.
White Space’lerin kullanimi ile ilgili yapilan son tavsiyeler aslinda Pascal dili formatinin tipik sitilidir ve güzel yazim olarak bilinir. Bu kural çok basittir: Her birlesik program komutu yazacaginiz zaman iki bosluk karateri içeriden yazmaya baslayin.
Bu tür bir yazim sitili degiskenler yada veri yapilari içinde kullanilabilir.
Tabiki, bu tür bir öneri baskalari tarafindan okunulabilirligi arttirmak amacini gütmektedir, derleyici bütün bu yazim formatini gözardi edecektir. Bu yazim sitilini kitabin geri kalan kisminda kullanacagim. Delphi’nin kaynak kodu, yardim dosyalari ve örnekleri benzeri bir yazim sitilini kullanmaktadir. Pascal kodunu daha kolay okunabilir ve yazilabilir hale getirmek için, Delphi editörünün “Color syntax highligting” adinda özelligi bulunmakta. Yazdiginiz kelimelerin Pascal dilindeki anlamlarina göre editörde farkli renklerde görünmesini saglar. Varsayilan deger olarak Keyword( anahtar kelimeler) ler kalin, karakter katarlari ve yorumlar renkli ( genelde italic) gibi yazilir.
Genelde ayrilmis kelimeler (Reseved words), yorumlar, ve karakter katarlari bu özellikten yararlanan üç elemandir. Ilk bakista yanlis yazilmis bir anahtar kelimeyi, dogru olarak tamamlanmamis karakter katarini, ve birden fazla satira dagilmis uzun yorum cümlelerini görebilirsiniz.
Environment Options dialog kutusundan editör colors (sekil 2.1) sayfasini kullanarak bu özellikleri kisisellestirebilirsiniz. Eger tek basiniza çalisiyorsaniz hoslandiginiz renkleri seçin. Birden fazla kisinin kullandigi bilgisayari kullaniyorsaniz standart renkleri kabul etmeniz gerekmektedir. Alisik oldugum bilgisayarin renk profili disindaki bir profili kullanan bilgisayarda çalismak bana çok zor geliyor.
Sekil 2.1 Color syntax highlighting ayarlarinin yapildigi iletisim kutusu
Kod Sablonlarinin Kullanimi Delphi 3 kaynak kodu yazimi için yeni bir özelligi beraberinde getirmistir. Ayni Pascal dili komutlarini tekrarli bir sekilde yazdigimiz için Boland kod sablonu adindaki bir özelligi sunmustur. Basitce kod sablonu kod parçasina yapilmis kisaltmadir. Kisaltmayi yazarsiniz ve ardindan Ctrl-J tusuna basarsiniz asil kod parçasi sizin yerinize editöre yazilir. Mesela editörde arrayd kelimesini yazip Ctrl-J tusuna basarsaniz editör bu kelimeyi siler ve yerine sunu yazar: Array [0..] of ; Kod sablonlarinin birden fazla çesidi oldugu için, eger kisaltmanin sadece bir kaç harfini yazip Ctrl-J tusuna basarsaniz, editör size o harler ile baslayan kod sablonlarinin listesini açilir bir yerel listede sunar. (Sekil 2.2) Sekil 2.2 : Kod sablonu seçimi
Kod sablonlarini, var olanlari degstirerek yada yenilerini ekleyerek kisisellestirebilirsiniz. Öger böyle bir seye girisecekseniz aklinizda bulundurmaniz gereken genellikle kod sablonlarinin ‘|’ karakterini içeriyor olmasidir. Bu karakterin amaci siz kisayolu yazip Ctrl-J tusuna bastiktan sonra kursörün nereye gitmesini belirtmesidir.
Birkaç tanimlayici (identifier) tanimladiginizda bunlari komutlarin içerisinde kullanabilirsiniz. Pascal birden fazla komutlar ve ifadeler kümesi sunar. Ilk olarak Keywords (anahtar kelimeler), Expressions ( ifadeler) ve Operatörlere göz atalim. Keyword’ler Object Pascalin arilmis kelimeleridir ( Reserved Words). Yani Keyword kategorisi altinda toplanan kelimeler dilin kendi kullanimi için sunulmustur. Delphi nin yardim dosyalarinda söyle geçer ayrilmis kelimeler birer tanimlayici olarak kullanilamazlar.
Iste size Object Pascal dilinde özel bir yere sahip olan ayrilmis kelimeler (Delphi 4 den alinmistir)
Ifadeler ve Operatörler Içerisinde kullanilan operatöre bagimli olan ifadeleri olusturmak için genel bir kural yoktur, ve Pascal dili bir çok operatöre sahiptir. Bunlar arasinda mantiksal, aritmetik, boolean(dogru/yanlis), iliskisel, ve küme operatörleri ile digerleri bulunmaktadir. Ifadeler bir degiskene deger atamak için, fonksiyon yada prosedürün parametrelerinin degerini belirlemek için, yada bir durumu test etmek için kullanilir. Ifadelerde fonksiyonlari içerebilir. Bir islem yaparken kullandiginiz operatörler ve tanimlayicilarin birlikteligine ifadeler diyoruz. Ifadeler bir çok programlama dilinde ortaktir. Bir ifade geçerlilik arzeden sabitler, sayisal degerler, operatörler, ve fonksiyon sonuçlarindan olusabilir. Ifadeler bir fonksiyon yada prosedüre parametre olarak geçilebilir. Hayatinizda hiç program yazmamis olsanizda ifadenin ne oldugunu bilirsiniz. Burada Pascalin özel operatörleri üzerinde duracagim. Bu dile ait operatörleri önceliklerine göre siralanmis olarak Tablo 2.1 de bulabilirsiniz.
Bazi operatörler degisik veri yapilariyla kullanildiginda farkli anlamlar kazanirlar. Mesela, + operatörü iki sayiyi toplamak için kullanildigi gibi iki karakter katarini birlestirmek için, iki kümenin birlesimini almak için, ve dahasi pointera offset eklemek içinde kullanilabilir. Öte yandan C programlama dilinde oldugu gibi iki karakteri + operatörü ile ekleyemezsiniz. Ilginç diger bir operatör ‘div’ dir. Pascalda herhangi iki sayiyi / operatörü ile bölebilirsiniz ( kayan noktali yada tamsayiyi ). Sonuç olarak reel bir sayi elde edersiniz. Eger iki tamsayi bölüp sonuç olarakta bir tamsayi elde etmek istiyorsaniz div komutunu kullanin.
Tabl0 2.1: Pascal Language Operators, Grouped by Precedence
Küme Operatörleri Küme operatörleri sunlardir (+)birlesim, (-)fark, (*)kesisim, (in) elemani olup olmadigini test etmek, ve diger iliskisel operatörler. Bir elemani kümeye eklemek için, küme ile elemanin birlesimini alabilirsiniz. Simdi de Delphide font sitilleri ile ilgili örneklere göz atalim. Style := Style + [fsBold];
Standard olarak daha hizli olan Include ve Exclude prosedürlerinide kullanabilirsiniz. Include (Style, fsBold); Simdi Pascal programlarinin temel yapisini ögrenmis bulunmaktayiz ve detaylarini anlamak için haziriz. Ise kullanici tanimli ve önceden tanimli veri yapilarini incelemkle baslayacagiz. Daha sonra anahtar kelimeleri (Keywords) kullanarak program komutlari olusturmaya baslayacagiz.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||