Tekil Mesaj gösterimi
Alt 04 Ekim 2014, 13:11   #7
Çevrimdışı
saywhat
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Web Nick Kayıt Sistemi




uFuK Tcl'de socket tabiki de var.. .
sadece yazan/kullanan yada kullanmayı bilip te* birşey yazan-paylaşan olmamış burada...

php kısmında yorum yapmayacağım, php'yle aram bir iki ufak tecrübem dışında son derece sınırlı kaldı,meil ettiğim bir dil olmadı hiç doğrusu...

yukarıda CLubber'ın katkılarıyla dediğiniz tcl hakkında yorum yapmasam olmayacak. nedenine gelince bunu CLubber yazmış olamaz .... olsa olsa CLubber'ın yazdığı kodlardan parçalar halinde satırlar devşirilip bir araya getirilmiş gibi... toplamda 9 hata saydım. ve kodu çalıştıracak ,çalışmasına neden olacak birşeyde yok ... ( bind ) yok eğer shell üstünde tclsh gibi çalıştırılmayacaksa ,eggdrop ile çalıştıracaksa ne çalıştıracak/başlatacak bu kodu ?

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
timer $zaman_araligi basla

timer yada utimer kullanımı :
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
timer $zaman_araligi [list basla]

gibidir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
proc basla {{text ""}} {

buradaki text "" amacı yok...ne için konulduğu belli değil çünkü prosedür içinde herhangi bir $text yok...

http bağlantısıyla adresteki kayit.txt'tekiler alınmak istenmiş ancak :
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set list [split [subst -nocommands $files] "w"]

"w" nedir ? eğer bir dosya operasyonu yani dosyadan veri okutma yazma işlemi olaydı "w" dosyaya yazmada kullanılır.oysa bu dosya http bağlantısında "okunmaya" çalışılıyor.

bu durumda veriyi split "w" demek, satırları "w" den itibaren kesip oku * gibi anlam taşır ancak... ve eğer o web üzerindeki dosyada alınmak istenen veri* <b>bla</b> yada $nick $text vs gibi komut yada variable'lar içermiyorsa bu satırda subst -nocommands çok anlamsız duruyor. subst "substitution" yani "yerine yerleştirme / değiştirme /değişiklik" anlamları içeriyor ki Tcl'de tamda buna göre kullanılan bir komut.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
putquick "nıckserv register $i"

bu şekilde $i değişkenindeki bilgi ,hedefe ulaşmaz bu kod satırıda çalışmaz.doğrusu:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
putquick "nıckserv register :$i"

olmalıdır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
::http::cleanup $files

::http::cleanup tcllib http paketinde,bağlantıdan veri çekildikten sonra hafızada yer işgal etmemesi için hafızayı temizlemekte kullanılır. ancak burada yanlış şekilde kullanılmış ,doğrusu :
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
::http::cleanup $connect

olmalıydı bu örnek için...

prosedür içinde son satırda timer durdurulmalıydı oysa burada yeniden çağrılmış. bu şekilde kullanılırsa timer hatası atacaktır.zaten prosedür dışında üstte çağrılmaya çalışlmış olan timer halen işlerken birkez daha bu kez prosedür içinde aynı prosedür için ikinci kez çağrılıyor :
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
foreach _ [timers] { killtimer [lindex $_ 2] }

gibi ,halen işleyen timer'ı timerID'sinden yakalayıp ( ki bu lindex $timerID 2 ' ye denk gelir.) yakalayıp işini bitirirsiniz.

ve en başta yazdığım gibi bu kodu "ne" çalıştıracak ne çalışmasına sebep* olacak.. timer yerine bind cron yada bind time :

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
bind cron - "*/5" proc_adı

->
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
bind time - "?5 *" [list foo bes]; proc foo {icerik m h D M Y} { putlog "${icerik} dakika oldu." }

gibi .her 5 dakikada bir ..prosedür çağrılması/tetiklenmesi/işlemesi sağlanabilir...di...

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet