17 Kasım 2003 Pazartesi

Casl Programlama Diline Giriş - 8

Casl'da Veritabanı Kullanımı
Casl'ın programcıları diğer bütün işlerde olduğu gibi veritabanı kullanımında da işimizi oldukça kolaylaştırılmış.

1- Veri tabanına bağlanma : Casl'da bağlanacağımız veri tabanını dbfile objesi olarak tanımlamamız gerekiyor.
Örnek :
dbfile veritabani;
field alan_adi;
field alan_adi2;
#veri tabanınındaki tüm alan adlarını belirtmemiz gerekiyor.
sync_pref merge;
data_sourche_name "Veri_tabani_adi";
end;

Görüldüğü gibi bağlanmak kolay. Bu veritabanını değiştirmek istersek bunu bir fonksiyonla halledebiliriz şöyle.

function veri_tabanini_değiştir;
close veritabani;
veritabani.data_sourche_name = "Yeni_veritabani_adi";
open veritabani;
end;
işin mantığınızı anladığınızı umuyorum. Yaptığımız veritabanını kapatıp adını değiştirip yeniden açtık. Güvenlikli veritabanına bağlanırken tek değişen komut veri tabanının isminin yanına kullanıcı adı ve parolayıda yazıyoruz
Şöyle :
dbfile veritabani;
field alan_adi;
field alan_adi2;
#veri tabanınındaki tüm alan adlarını belirtmemiz gerekiyor.
sync_pref merge;
data_sourche_name "DSN=Veri_tabani_adi;UID=Kullanici_adi;PWD=Parola;";
end;
Bundan sonrasını kullandığımız veri tabanının komutlarını kullanarak yapabiliriz.

14 Kasım 2003 Cuma

Casl Programlama Diline Giriş - 7

Obje Kontrolü - 2

3- Dosya Objeleri : Dosya objelerinin kullanımı Casl'da oldukça kolaydır.
a- Close Fonksiyonu : Dosya kapatmaya yarar. (Close dosya_obje_adi;)
b- Delete Fonksiyonu : Dosya silmeye yarar. (Delete dosya_obje_adi;)
c- Open Fonksiyonu : Dosya açmaya yarar. (Open dosya_obje_adi,dosya_adi;)
d- Rename Fonksiyonu : Yeniden adlandırmaya yarar. (Rename eski_dosya_adi,yeni_dosya_adi;)
e- Get Fonksiyonu : Dosyadan veri almada kullanılır (Get dosya_obje_adi,atanacak_string_deger,sayisal_veri_uzunlugu;)
f- Put Fonksiyonu : Get gibi kullanılır dosyaya veri yazmaya yarar.
g- Insert Fonksiyonu : Put fonksiyonuna benzer yazılım şeklide aynıdır.
h- Seek_start Fonksiyonu : Put,get fonksiyonlarının kullanacağı pozisyonu belirlemede kullanılır. (Seek_start dosya_obje_adi,sayisal_sira_nosu;)
i- Seek_here Fonksiyonu : Put, get fonksiyonları için sonraki adımı belirlemede kullanılır.
j- Seek_end Fonksiyonu : Atlamayı bitirir. Tüm seek fonksiyonlarının yazımı aynıdır.


4- Diğer Objeler : SeriPort, VeriTabanı ve Network objelerini bu grupta inceleyecektim fakat bu konular orta düzey olduklarından şimdiden işlemeyi uygun bulmuyorum. Bili için Casl'daki yardım dosyalarına bakabilirsiniz.

13 Kasım 2003 Perşembe

Casl Programlama Diline Giriş - 6

Obje Kontrolü

1- Görsel Objeler : Burada görsel objelerin kullanumı için kullanılan
komutlar hakkında bilgi vereceğim.

a- Get fonksiyonu : Get fonksiyonu objenin değerini almada kullanırız
mesela bir etiketin yazısını almak için (Get label1,string_degeri;)
yazmak yeterlidir.

b- Hide - Show Fonksiyonları : Nesneleri gizleme veya göstermek
için kullanılırlar. (Hide obje_adi;) şeklinde
yazılır.

c- Move Fonksiyonu : Objeyi taşımak için kullanılır. (Move
obje_adi,x_pozisyonu,y_pozisyonu;) Şeklinde yazılır.

d- Put Fonksiyonu : Objeye değer atamada kullanılır. TextBox'a
veri girmede kullanılabilir. (Put obje_adi,deger;)
Şeklinde yazılır.




2- Grafikler : Grafik çizdirmede kullanılan fonksiyonlar.

a- Draw Fonksiyonu : Draw fonksiyonunda çember,dikdörtgen veya
çizgi çizdirebiliriz. (Draw nesne_adi,tipi,x_noktasi,y_noktasi;)
buradaki tip Rectangle,Circle yada Line 'dan biri olmalıdır.

b- Set Fonksiyonu : Draw fonksiyonuyla çizdirdiğimiz nesneyi taşımada
kullanılabilir. çizdirirken verdiğimiz ismi kullanmalıyız. (Set
nesne_adi,x_pozisyon,y_pozisyon;)

c- Clear Fonksiyonu : Temizlemede kullanılır. (Clear
nesne_adi,tipi,x_noktasi,y_noktasi;)

d- Fill Fonksiyonu : Draw fonksiyonu gibi kullanılır. Çizilen nesneyi
doldurmaya yarar.

12 Kasım 2003 Çarşamba

Casl Programlama Diline Giriş - 5

Döngüler, Kontroller Ve Operatörler


  1. Döngüler : Burada döngülerin kullanımından bahsetmeyeceğim yalnızca
    Casl'daki yazım şekillerini vereceğim.

    1. For döngüsü :
      Yazımı :
      For i=0, i<=Kontrol_degeri;
      dizi[i]=dizi[i]+2;
      Next i+2;

      Örnekte görüldüğü gibi yazım şekli

      For baslangic_degeri,nereye_kadar;
      #islemler
      Next artis_miktari;
    2. While döngüsü :
      While uzunluk<20;
      sayi=sayi2+1;
      End_while;

  2. Konroller :Burada en çok kullanılan if kontrolünü ve tiplerini
    göreceğiz.

    1. If kontrolü :
      If deger=20;
      # işlemler
      End_if;
    2. Dallanmalı if kontrolü :
      if deger=0;
      #işlemler
      { Else_if deger2<>-1;
      #işlemler
      { Else;
      #işlemler
      }End_if;

  3. Operatörler :

    1. Matemetiksel operatörler : C dilindeki operatörlerle aynıdır.
      + Toplama
      - Çıkarma
      / Bölme
      * Çarpma
      % Mod

    2. Mantıksal Operatörler : Pascal dilindeki operatörlerle aynı yazılıma sahiptirler.
      = Eşittir
      <> Eşit Değildir
      < Küçüktür.
      > Büyüktür
      <= Küçük Eşit
      > Büyük Eşit
      And ve
      Or veya
      Not Değil


11 Kasım 2003 Salı

Casl Programlama Diline Giriş - 4

Fonksiyon Tipleri - 2
3- Hazır Fonksiyonları : Casl'ın programcıları tarafından önceden hazırlamış fonfsiyonlar bu gruba girer. ArcSin, Lenght, Right gibi onlarca fonksiyon casl kütüphanelerinde mevcuttur. Lazım olduklarında Casl'ın help dosyasında tümü sıralanmış bir biçimde mevcut.
Örnek :
Function tiklanirsa() as Numeric;
tiklanirsa=Day();
End;
Burada hazir fonksiyonlardan Day() fonksiyonunu kullandık. Day fonksiyonu geçerli olan günü döndürür.

4- Özyinelemeli Fonksiyon : Yine bilinen fonksiyon tiplerinden faktörüyel, üs alma gibi matematiksel işlemlerde üstüne yoktur. Oyunlarda şahsen yapay zeka kontrolü, yön bulma teknikleri, tanımlamalarda kullanımlarında üzerine tanımam. Fonksiyon içerisine yazdığımız kontrolün yanına fanksiyonun adını yazmamız gerekli. Fakat parametrelere dikkat sonsuz döngüye girebilir!.

5- Çağırımlı Basit fonksiyonlar. Ufak işlemleri yaptırmak için yazdığımız fonksiyonlar. Çağırım şekilleri (Call fonksiyon_adi(parametre));

6- Zamanlı fonksiyonlar ilk işlediğim olay fonksiyonunda buna örnek verdiğim için bunu hızlıca geçiyorum.

10 Kasım 2003 Pazartesi

Casl Programlama Diline Giriş - 3

Fonksiyon Tipleri
Casl'da fonksiyonlar farklı olmasada fonksiyon mantığının yerleşmesi için fonksiyonları 6 grupta incelemede fayda görüyorum.

1- Olay Fonksiyonları : Bir olayı yerine getirmek için yazabileceğimiz fonksiyon tipidir. Periyodik olarak tekrarlamak istediğimiz işleri (Yazım şekliTimer fonkiyon_adı,milisaniye;) yada açılış kapanış olaylarında bu fonksiyon tipi kullanılır.
Örnek :
Function salisede_bir_defa;
#tekrarlanacak olay buraya yazılır
Timer salisede_bir_defa,100;
End;
Örnektede görüldüğü gibi işimize çok yarayacak bir fonksiyon yazılımı. Böylece salisede birkez kendini çağırır.

2-Normal Fonksiyonlar : Bildiğimiz parametreli değer döndüren fonksiyonlar bu gruba girer. Çoğu iş için kullanılabilirler genelde hesaplamalarda işimize yararlar.
Örnek :
Variables;
Numeric deger1;
Numeric deger2[2];
End;

Function hesapla(Numeric a, Numerib b[]);
a=a*2;
b[1]=b[1]*4;
End;

Funtion baslangic;
deger1=2;
deger2[1]=5;
hesapla(deger1,deger2);
End;

Bilinen basit bir hesaplama örneği burada başta global değişkenler tanınıp baslangic fonksiyonunda ilk değerleri atandı ve hesapla fonksiyonu çağırılarak hesaplama yapıldı. Değer döndüren fonksiyonlarda tek fark tipin belirtilmesi bunu da(Function fonsiyon_adi(parametreler) as Veri_Tipi;) döndürülecek değer fonksiyonun adına eşitlenir.

19 Ekim 2003 Pazar

Casl Programlama Diline Giriş - 2

Genel Programlama Tanımı

1- Casl'da açıklamalar # işaretiyle başlar.

Örnek :

# Diziye iki katı değer atama

for i=1,i<10;
Array[i]=2*i;
next i;


2- Değişken isimlendirirken anlaşılır olmasına dikkat edin.

Örnek :
Arabanın fiyatı için kullanacağımız bir değişkene arabanin_fiyati demek doğru bir
kullanımdır. Af, afiy gibi değişken isimlendirmeleri yanlış bir kullanımdır. Küçük
programlarda bu pek fark etmesede büyük çaplı projelerde bu tip kullanımın yararını
epey göreceksiniz. Bu tip isimlendirmeleri fonksiyon yazarken veya obje tanımlarkende
kullanmak gayet yerinde olacaktır.

Veri Yapıları

Casl'da 4 çeşit veri yapısı vardır. Bunlar : Nümerik, String,
Byte ve Objedir.
  • Nümerik veri tipi 8 byte'lık yer kaplar. Uzun tam sayılar ondalıklı sayılar bu gruba
    girer.
  • Casl'daki string veri tipinin C dilindekinden farkı NULL karakter içermemesidir.

  • Byte tipi 0-255 arası tam sayıları içeren veri tipidir. Genelde programlarda bu
    tipi kullanacağız.
  • Obje tipi adındanda anlaşılacağı gibi Casl'daki Buton, Etiket,
    Resim nesnelerini tanımlarken kullanılacak tiptir. Aynı zamanda dizilerde obje olarak
    tanımlanır.


Programda kullanacağımız değerleri Variables bloğu,fonksiyon
içi, satır arasında tanımlayabiliriz. Tanımlarken Obje ise tipi adı, diğer tiplerde
ise yalnızca değişken_adı kullanılır. Tanımlarken değer atayabiliriz.(C'deki gibi)

Örnekler :









Variables;

Dizi_adi[3,5,4];

End;

Button tus_grubu[4];

End;

ad=borc_miktari[4+alacakli];

Gördüğünüz gibi tanımlamalar oldukça basit. Dikkatinizi
çektiyse her satırın noktalı virgüle bittiğini görebilirsiniz.

17 Ekim 2003 Cuma

Casl Programlama Diline Giriş - 1

Casl'ın menülerini, nesnelerini vb. görsel özelliklere değinmeyeceğim çünkü bunları kullandıkça öğrenirsiniz. Yandaki resimde de gördüğünüz gibi Casl'ın ana ekranı bu şekildedir(Resme tıklayıp büyütebilirsiniz.).


Casl da programlamaya geçmeden önce kullanacağımız ekran üzerinde bilgi veriyim. Cep bilgisayarlarının ekranları arasında pixel olarak pek fark olmasada genelde 160x200 çözünürlük kullanılır. Casl'da ekran çözünürlüğünü 160x200 olarak kullanır ve pozisyon 0'dan başlar. Aşağıdaki resimi incelediğinizde konuyu daha iyi kavrayacaksınız.