19 Temmuz 2006 Çarşamba
SysLog Protokolü ve SysLogSender Uygulaması Örneği
SysLog protokolüyle mesaj gönderimine ilişkin bir örnek yazımı yazgelistir.com'da yayınladım. Okumak için tıklayınız.
11 Kasım 2005 Cuma
Independent Games Festival 2005
Bağımsız Oyunlar Festivali 2005'yılı öğrenciler kategorisine "FruitMania – Fun Forever" adlı oyun ile katılımımız kabul edildi. Oyunun yazımında büyük pay sahibi Abdurrahim ÇAKAR'a teşekkür ederim. Emeklere değdi anlaşılan, sonuçta birde yayıncı bulmuş olduk :)
Katılımcıların listelendiği sayfaya erişmek için tıklayabilirsiniz.
Katılımcıların listelendiği sayfaya erişmek için tıklayabilirsiniz.
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.
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;
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;
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.
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.
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
- Döngüler : Burada döngülerin kullanımından bahsetmeyeceğim yalnızca
Casl'daki yazım şekillerini vereceğim.- 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; - While döngüsü :
While uzunluk<20;
sayi=sayi2+1;
End_while;
- For döngüsü :
- Konroller :Burada en çok kullanılan if kontrolünü ve tiplerini
göreceğiz.- If kontrolü :
If deger=20;
# işlemler
End_if; - Dallanmalı if kontrolü :
if deger=0;
#işlemler
{ Else_if deger2<>-1;
#işlemler
{ Else;
#işlemler
}End_if;
- If kontrolü :
- Operatörler :
- Matemetiksel operatörler : C dilindeki operatörlerle aynıdır.
+ Toplama
- Çıkarma
/ Bölme
* Çarpma
% Mod - 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
- Matemetiksel operatörler : C dilindeki operatörlerle aynıdır.
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.
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.
Kaydol:
Kayıtlar (Atom)