IRC ve mIRC Kullanıcılarının Buluşma Noktası
  zurna net

  IRC ve mIRC Kullanıcılarının Buluşma Noktası Genel IRCD (Sunucu, Servis, Botlar, Korumalar) Eggdrop, NeoStats, BNC TCL Scriptler

Forum tutkunlarının tek adresi Türkiye Sohbet Odaları Sohbetteyiz herkes burda

ayna chat muhabbetbayilik veren firmalar

Şeker Shell  Sohbet


TCL Scriptler

TCL Scriptler, kullanımları, işleyiş ve modifikasyonları



Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 07 Temmuz 2007, 14:30   #1
Çevrimdışı
Fonksiyonlar (Proc kullanimi)


-- Sponsor Baglantı --


Fonksiyonlar (Proc kullanimi)

Fonksiyonlar tipki matematikteki fonksiyon mantiginda calisir. Bu bize surekli ayni islemi yazmak yerine bir kere bir yerde bu fonksiyonu tanimlayarak istedigimizde oradaki bilgileri islemleri uygulamamizi saglayan cok pratik bir yontemdir.

Fonksiyonlar genel itibariyle grup calismalarinda kullanilmasinda buyuk fayda ve kolaylik saglar. Ornegin surekli olarak bir matematik islemini yapmak icin matematiksel tanimlari kullanmak yerine bir fonksiyon'u buna tanimlayarak sadece o fonksiyon'u cagirmak sabit tanimlar yerine kendi yontemimizi ve daha kolay anlasilir bir islem dizesi olustırmamizi saglar. Nitekim kapsamli calismalarda mutlaka kullanilmasi onerilir, satir tasarrufu ve karisikligi bu sekilde engellemis olacaksiniz.

Fonksiyon yazilim kurali soyle olmalidir:

proc fonksiyon-adi { degisken1 degisken2 .... degiskenN} {
fonksiyon calistrildiginda yapilacak komutlar
}

Bir fonksiyon tanimlandiginda o fonksiyon cagirilmadigi surece calistirilmaz. Yani TCL fonksiyonlari denetler ama kullanilmadigi surece calismaya hazir bekletilirler.


proc deneme { } {
putlog "Bu bir denemedir"
}

Bu basit bir fonksiyondur ve parantezler icinde hic bir degisken yapiya sahip degildir, kullanimindan ortaya cikacak sonuc ekrana Bu bir denemedir yazisini yazdiracaktir. Kullanimi herhangi bir yerde deneme seklinde calismasini saglayacaktir.

Daha iyi anlamaniz icin fonksiyon yapisini genisletelim;

proc msg {konum yazi} {
puthelp "PRIVMSG $konum :$yazi"
}

TCL script'imiz icin msg adinda bir fonksiyon olusturduk ve bu bize istedigimiz yerde msg <kanal|nick|> <mesajimiz> yazarak belirtigimiz bir konuma msaj yazma ozelligi kazanmamizi saglayacaktir.

PUTSERV "PRIVMSG #kanala mesajimiz" yazisini surekli olarak kullanmak yerien bu sekilde msg #kanal msajimiz seklinde basit olarak kullanmamizi saglamistir.

Ornek bir sorgu ve msg fonksiyonunun kullanimi soyle olmalidir.

if {$botnick == "Botunadi"} {
msg #kanal $botnick dogrulandi ve islemler gerceklestiriliyor
} else {
msg #kanal $botnick dogrulanamadi ve islemler iptal edildi
}

$botnick degiskeni Botunadi ile karsilastirildiginda eger sonuc dogru ise #kanal kanalina botadinin dogrulandigi ve islemlerin gerceklestirildigi mesajini alacaksinizdir, aksi taktirde dogrulanmadigini belirtilen bir mesaji yine ayni kanalda uyari olarak alacaksiniz.

proc msg {konum yazi} {
puthelp "PRIVMSG $konum :$yazi"
}

msg <kanal|nick> <mesaj>

Kullanimi sonrasi 1. ve 2. turler fonksiyon icerisinde belirilen konum ve yazi degiskenlerine atanarak yorumlamamizi ve bu yorumlari islememizi saglamaktadir. Bu da bizi bir cok islemi tek tek yazmak yerine surekli kullandigimiz deyimleri ifadeleri fonksiyon ile yorumlamak cok daha hizli sonuclar almamizi ve pratik yazma isleminde hizlanmamizi saglar.

Bunlar sahsi fonksiyonlardir ve degiskenlerini kendimiz duzenleyebilriz, fakat bazi durumlarda fonksiyonlarin tasiyacagi degiskenler onceden belirtilmis ve calismasi icin bilindik sekilde kullanilmalidirlar, ornegin bir !kural komudu uygulanacaksa bunun calistiracagi fonksiyon mutlaka asagidaki gibi olmalidir


bind pub - !kural kural

proc kural { nick uhost hand chan text } {
uygulanacak komutlar dizesi
}

Bu islem sonucu parantezde gormus oldugunuz degiskenler ne ise yaramaktadir:

nick Komudu uygulayan kisinin Takma ismi Nick'ini tasimaktadir ve $nick ile cagirilir.
uhost Komudu uygulayan kisinin hostname'ini barindirir ve $uhost ile cagirilir.
chan Komudun uygulandigi kanali ifade eder ve $chan ile cagirilir.
text !kural kullanimi sonrasinda yazilmis yazilari tasir $text ile cagirilir.

Ornek:

proc kural { nick uhost hand chan text } {
putlog "Komudu kullanan nick: $nick"
putlog "Komudun kullanildigi kanal: $chan"
putlog "Komudu kullanan kisinin host bilgileri: $uhost"
putlog "!kural komudu ile gelen yazilar: $text"
}

Not: Bazi nedenlerden dolayi 1 ay sonra burada yayinlanip kisilerin bilgi edinmesini uygun gordum.

Yayinlanma ilkesi; yalnizca altta belirtilen yazar adi ve iletisim yolunun gostermesidir.

Yazar: Adil Bülbül (aCoustiC)
Email:
Bu forumdaki linkleri ve resimleri görebilmek için en az 20 mesajınız olması gerekir.
Fonksiyonlar (Proc kullanimi)

Fonksiyonlar tipki matematikteki fonksiyon mantiginda calisir. Bu bize surekli ayni islemi yazmak yerine bir kere bir yerde bu fonksiyonu tanimlayarak istedigimizde oradaki bilgileri islemleri uygulamamizi saglayan cok pratik bir yontemdir.

Fonksiyonlar genel itibariyle grup calismalarinda kullanilmasinda buyuk fayda ve kolaylik saglar. Ornegin surekli olarak bir matematik islemini yapmak icin matematiksel tanimlari kullanmak yerine bir fonksiyon'u buna tanimlayarak sadece o fonksiyon'u cagirmak sabit tanimlar yerine kendi yontemimizi ve daha kolay anlasilir bir islem dizesi olustırmamizi saglar. Nitekim kapsamli calismalarda mutlaka kullanilmasi onerilir, satir tasarrufu ve karisikligi bu sekilde engellemis olacaksiniz.

Fonksiyon yazilim kurali soyle olmalidir:

proc fonksiyon-adi { degisken1 degisken2 .... degiskenN} {
fonksiyon calistrildiginda yapilacak komutlar
}

Bir fonksiyon tanimlandiginda o fonksiyon cagirilmadigi surece calistirilmaz. Yani TCL fonksiyonlari denetler ama kullanilmadigi surece calismaya hazir bekletilirler.


proc deneme { } {
putlog "Bu bir denemedir"
}

Bu basit bir fonksiyondur ve parantezler icinde hic bir degisken yapiya sahip degildir, kullanimindan ortaya cikacak sonuc ekrana Bu bir denemedir yazisini yazdiracaktir. Kullanimi herhangi bir yerde deneme seklinde calismasini saglayacaktir.

Daha iyi anlamaniz icin fonksiyon yapisini genisletelim;

proc msg {konum yazi} {
puthelp "PRIVMSG $konum :$yazi"
}

TCL script'imiz icin msg adinda bir fonksiyon olusturduk ve bu bize istedigimiz yerde msg <kanal|nick|> <mesajimiz> yazarak belirtigimiz bir konuma msaj yazma ozelligi kazanmamizi saglayacaktir.

PUTSERV "PRIVMSG #kanala mesajimiz" yazisini surekli olarak kullanmak yerien bu sekilde msg #kanal msajimiz seklinde basit olarak kullanmamizi saglamistir.

Ornek bir sorgu ve msg fonksiyonunun kullanimi soyle olmalidir.

if {$botnick == "Botunadi"} {
msg #kanal $botnick dogrulandi ve islemler gerceklestiriliyor
} else {
msg #kanal $botnick dogrulanamadi ve islemler iptal edildi
}

$botnick degiskeni Botunadi ile karsilastirildiginda eger sonuc dogru ise #kanal kanalina botadinin dogrulandigi ve islemlerin gerceklestirildigi mesajini alacaksinizdir, aksi taktirde dogrulanmadigini belirtilen bir mesaji yine ayni kanalda uyari olarak alacaksiniz.

proc msg {konum yazi} {
puthelp "PRIVMSG $konum :$yazi"
}

msg <kanal|nick> <mesaj>

Kullanimi sonrasi 1. ve 2. turler fonksiyon icerisinde belirilen konum ve yazi degiskenlerine atanarak yorumlamamizi ve bu yorumlari islememizi saglamaktadir. Bu da bizi bir cok islemi tek tek yazmak yerine surekli kullandigimiz deyimleri ifadeleri fonksiyon ile yorumlamak cok daha hizli sonuclar almamizi ve pratik yazma isleminde hizlanmamizi saglar.

Bunlar sahsi fonksiyonlardir ve degiskenlerini kendimiz duzenleyebilriz, fakat bazi durumlarda fonksiyonlarin tasiyacagi degiskenler onceden belirtilmis ve calismasi icin bilindik sekilde kullanilmalidirlar, ornegin bir !kural komudu uygulanacaksa bunun calistiracagi fonksiyon mutlaka asagidaki gibi olmalidir


bind pub - !kural kural

proc kural { nick uhost hand chan text } {
uygulanacak komutlar dizesi
}

Bu islem sonucu parantezde gormus oldugunuz degiskenler ne ise yaramaktadir:

nick Komudu uygulayan kisinin Takma ismi Nick'ini tasimaktadir ve $nick ile cagirilir.
uhost Komudu uygulayan kisinin hostname'ini barindirir ve $uhost ile cagirilir.
chan Komudun uygulandigi kanali ifade eder ve $chan ile cagirilir.
text !kural kullanimi sonrasinda yazilmis yazilari tasir $text ile cagirilir.

Ornek:

proc kural { nick uhost hand chan text } {
putlog "Komudu kullanan nick: $nick"
putlog "Komudun kullanildigi kanal: $chan"
putlog "Komudu kullanan kisinin host bilgileri: $uhost"
putlog "!kural komudu ile gelen yazilar: $text"
}

Not: Bazi nedenlerden dolayi 1 ay sonra burada yayinlanip kisilerin bilgi edinmesini uygun gordum.

Yayinlanma ilkesi; yalnizca altta belirtilen yazar adi ve iletisim yolunun gostermesidir.

Yazar: Adil Bülbül (aCoustiC)
Email:
Bu forumdaki linkleri ve resimleri görebilmek için en az 20 mesajınız olması gerekir.
__________________
Reload...

Konu aCoustiC tarafından (07 Temmuz 2007 Saat 16:00 ) değiştirilmiştir.
  Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
Alt 22 Temmuz 2007, 16:54   #2
Çevrimdışı
Cevap: Fonksiyonlar (Proc kullanimi)




kardeş paylaşımın için saol. ama bunların tamamını nerden öğrenebiliriz. bende en baştan tcl ler hazırlamak istiyorum bu işin kitabı yda öğreten bir yer yokmu?

  Alıntı ile Cevapla

Alt 23 Temmuz 2007, 14:55   #3
Çevrimdışı
Cevap: Fonksiyonlar (Proc kullanimi)




[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

__________________
Reload...
  Alıntı ile Cevapla

Alt 11 Ağustos 2007, 12:55   #4
Çevrimdışı
Cevap: Fonksiyonlar (Proc kullanimi)




şey abi bende öğrenebilir miyim nası öğrencem abi bunları abi banada öğretir misin abi hadi be abi lütfen...
Bu forumdaki linkleri ve resimleri görebilmek için en az 20 mesajınız olması gerekir.

__________________
Kod: 
#!/usr/bin/python def itiraf(): cevap = raw_input("İstiyor musun?: ") if cevap == "evet": liste = ["O zaman","Söylüyorum","Seni Seviyorum"] for i in range(len(liste)): print liste[i] elif cevap == "hayır": print "Geçerli Bir Cevap Değil... :) Evet İstiyorum\n" itiraf()

  Alıntı ile Cevapla

Alt 12 Ağustos 2007, 11:05   #5
Çevrimdışı
Cevap: Fonksiyonlar (Proc kullanimi)




askerim bicim bicim olurem asker icin
Bu forumdaki linkleri ve resimleri görebilmek için en az 20 mesajınız olması gerekir.
Tez zamanda hayirli teskereler, sen gelde yeter
Bu forumdaki linkleri ve resimleri görebilmek için en az 20 mesajınız olması gerekir.

__________________
Reload...
  Alıntı ile Cevapla

Cevapla

Etiketler
kullanimi, proc, fonksiyonlar

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık




diyarbakır escort bursa escort konya escort gaziantep escort bodrum escort