IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 22 Haziran 2009, 01:22   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Tcl Satır okutma Yardım




Arkadaşlar aşağıdaki kod bir txt dosyasını ilk cümleden itibaren sırayla okutmaya yarıyor.

buna sadece istediğmiz bir satırı okutacak şekilde veya bir html kod belgesinde ki iki html kodu arasında mevcut olan anlamlı bir kelimeyi okutma işlevini nasıl ayarlayabiliriz. örneğin:
18. satırda mevcut olan <tdalign="center" height="75" colspan="2">
75 değerini okutmak istiyorum. bilgisi olan arkadaşlar yardım ederse çok sevinirim.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set oku "dosya.txt" set kanal "#yardım" bind pub - !kural pub:kuralmsg proc pub:kuralmsg { nick host hand chan text} { global oku kanal if {[file exists $oku]} { set kuralfile [open $oku r] while {![eof $kuralfile]} { catch {set kuraltext [gets $kuralfile]} putserv "PRIVMSG $kanal :$kuraltext" } catch {close $kuralfile} } }


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 22 Haziran 2009, 01:56   #2
Çevrimdışı
SaW
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




akkaya Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Arkadaşlar aşağıdaki kod bir txt dosyasını ilk cümleden itibaren sırayla okutmaya yarıyor.

buna sadece istediğmiz bir satırı okutacak şekilde veya bir html kod belgesinde ki iki html kodu arasında mevcut olan anlamlı bir kelimeyi okutma işlevini nasıl ayarlayabiliriz. örneğin:
18. satırda mevcut olan <tdalign="center" height="75" colspan="2">
75 değerini okutmak istiyorum. bilgisi olan arkadaşlar yardım ederse çok sevinirim.

Bu tarz durumlarda çoğunlukla regexp kullanırız, daha basit ifadeler için ise string match komutunu kullanırız, bazen de her ikisini iç içe kullandığımız da olur. Eğer okutacağımız satır numarası belliyse daha farklı bir yöntem de izlenebilir. Yani hangisi daha çok işe yarayacaksa o esnada o kullanılır. O yüzden genel olarak "şuraya şunu yazarak okutursun" demek olmaz. Somut bir örnek olsa burada şunu kullanabilirsin diyebiliriz. Yapman gereken başka tcl'leri inceleyerek nerede nasıl yapıldığını görmen. Verdiğin örneği ise şu şekilde yaptırabilirsin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set oku "dosya.txt" set kanal "#yardım" bind pub - !kural pub:kuralmsg proc pub:kuralmsg { nick host hand chan text} { global oku kanal if {[file exists $oku]} { set kuralfile [open $oku r] while {![eof $kuralfile]} { catch {set kuraltext [gets $kuralfile]} regexp -- {<tdalign=\"center\".height=\"(.*?)\".colspan=\"2\">} $kuraltext - deger if {[info exists deger]} { putserv "PRIVMSG $kanal :$deger" } } catch {close $kuralfile} } }


 
Alıntı ile Cevapla

Alt 22 Haziran 2009, 20:28   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




örnek için çok teşekkürler, bu kodu geliştirmek için havadurumu.tcl sini de inceledim fakat bu konu beni iyice aşmaya başladı. aynı dosyadaki ikinci bir kelimeyi daha getireyim dedim fakat hiç bir şekilde olmadı çok acemiyim. irc script ile de uğraştım fakat bu regex işi çok derin bir boyut ki altından kalkamayacağım. irc scriptde örneklerin çok anlatımların fazla olması istediğimi forumda kolaylıkla bulmam beni fazla uğraştırmıyordu..

Alıntı:
set oku "dosya.txt"
set kanal "#bilgi"
bind pub - !kural pub:kuralmsg
proc pub:kuralmsg { nick host hand chan text} {
global oku kanal
if {[file exists $oku]} {
set kuralfile [open $oku r]
while {![eof $kuralfile]} {
catch {set kuraltext [gets $kuralfile]}
regexp -- {<tdalign=\"center\".height=\"(.*?)\".colspan=\"2\ ">} $kuraltext - deger
regexp -- {+.colspan=\"(.*?)\".class=\"thd\">} $kuraltext - dgr2
if {[info exists deger]} {
putserv "PRIVMSG $kanal 1.ölçü:$dger2 2.ölçü:$dgr2"
}
}
catch {close $kuralfile}
}
}


 
Alıntı ile Cevapla

Alt 22 Haziran 2009, 20:33   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




1.ölçü:$dger2 demişsin fakat $dger2 diye bi şey yok ortada orda hata vermiş ve msg yi yollamamış olabilir.

 
Alıntı ile Cevapla

Alt 22 Haziran 2009, 20:42   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




Alıntı:
set oku "dosya.txt"
set kanal "#bilgi"
bind pub - !kural pub:kuralmsg
proc pub:kuralmsg { nick host hand chan text} {
global oku kanal
if {[file exists $oku]} {
set kuralfile [open $oku r]
while {![eof $kuralfile]} {
catch {set kuraltext [gets $kuralfile]}
regexp -- {<tdalign=\"center\".height=\"(.*?)\".colspan=\"2 \ ">} $kuraltext - deger
regexp -- {+.colspan=\"(.*?)\".class=\"thd\">} $kuraltext - dgr2
if {[info exists deger]} {
putserv "PRIVMSG $kanal 1.ölçü:$deger 2.ölçü:$dgr2"
}
}
catch {close $kuralfile}
}
}


pardon bir kaç şey denemiştim de o bölüm öyle kalmış asıl bu koddur çalışmıyor çalışsaydı buna göre kodu devam ettirecektim

 
Alıntı ile Cevapla

Alt 22 Haziran 2009, 20:56   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




if {[info exists deger]} {
putserv "PRIVMSG $kanal 1.ölçü:$deger 2.ölçü:$dgr2"
}

bölümüne göre $deger değişkenide varken göstermek istiyosun. Acaba aynı dosyada $deger içinde bi satır mevcutmu. yoksa sadece $dgr2 mevcutsa o kısmı komple silip sadece ;

putserv "PRIVMSG $kanal 2.ölçü:$dgr2"

şeklinde kullanarak dene. [info exists deger] gibi bi kullanımında zaten ne işe yaradığını anladığını düşünerek her iki değişken içinde ayrı koşullarla msg yollatabilirsin.

 
Alıntı ile Cevapla

Alt 22 Haziran 2009, 22:35   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




ilginiz için teşekkür ederim. 1 satırı güzel okuyor herhangi ikinci değeri okutma da sıkıntı var havadurumu.tcl si üzerinde kafa yorup deneyeyim. nebilimben arkadaşımızın verdiği kod çalışıyor.


Konu akkaya tarafından (22 Haziran 2009 Saat 22:41 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Alt 23 Haziran 2009, 01:02   #8
Çevrimdışı
SaW
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




Aslında burada mantık hatası yapıyorsun. Farkındaysan bunu while döngüsü içerisinde almaya çalışıyorsun. Farklı satırlar olduğu için her defasında farklı bir satırı görecektir döngü. O yüzden aynı mesaj içerisinde her ikisini birden veremiyor. Burada yapabileceğin farklı yöntemler var. Mesela kanal mesajını döngü dışına çıkarmak bir çözümdür. ve ya döngü içerisinde iki mesaj verdirebilirsin v.s. v.s.
akkaya Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set oku "dosya.txt" set kanal "#bilgi" bind pub - !kural pub:kuralmsg proc pub:kuralmsg { nick host hand chan text} { global oku kanal if {[file exists $oku]} { set kuralfile [open $oku r] while {![eof $kuralfile]} { catch {set kuraltext [gets $kuralfile]} regexp -- {<tdalign=\"center\".height=\"(.*?)\".colspan=\"2 \ ">} $kuraltext - deger regexp -- {+.colspan=\"(.*?)\".class=\"thd\">} $kuraltext - dgr2 if {[info exists deger] && [info exists dgr2]} { putserv "PRIVMSG $kanal 1.ölçü:$deger 2.ölçü:$dgr2" } } catch {close $kuralfile} } }

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set oku "dosya.txt" set kanal "#bilgi" bind pub - !kural pub:kuralmsg proc pub:kuralmsg { nick host hand chan text} { global oku kanal if {[file exists $oku]} { set kuralfile [open $oku r] while {![eof $kuralfile]} { catch {set kuraltext [gets $kuralfile]} regexp -- {<tdalign=\"center\".height=\"(.*?)\".colspan=\"2 \ ">} $kuraltext - deger regexp -- {+.colspan=\"(.*?)\".class=\"thd\">} $kuraltext - dgr2 } putserv "PRIVMSG $kanal 1.ölçü:$deger 2.ölçü:$dgr2" } catch {close $kuralfile} } }


örnekler çoğaltılabilir. işine geleni kullanırsın.

 
Alıntı ile Cevapla

Alt 23 Haziran 2009, 18:22   #9
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




vermiş olduğunuz örnekle epey bir yol katettim bir yerde takıldım. sanırım bu sorunda çok basit ama bulamadım. Benzer metinlerde sıkıntı var mesla ahmet kelimesini okumak istediğimiz zaman vermiş olunan örnek 183 sayısını da görebiliyor.

<td class="td1">44</td>
<td>ahmet</td>
<td>183</td>

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
regexp -- {<td>(.*?)</td>} $kuraltext - deger

bunu tcl içerisinde yazmam halinde metin içerisinde buna benzerlik gösteren başka bir kelimeyi getiriyor. 1. satırdaki nin sonuna bir bağlantı eklemeliyim ki 2 satıra bağllantı kurabileyim. yani
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
regexp -- {<td.class=\"td1\">44</td> <td>(.*?)</td>} $kuraltext - deger

iki satırı birleştirebilen bir sihirli kelime lazım bu üstteki boşluğa.

 
Alıntı ile Cevapla

Alt 01 Temmuz 2009, 15:39   #10
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Satır okutma Yardım




arkadaşlar varmı bunu yapabilecek

 
Alıntı ile Cevapla

Cevapla

Etiketler
okutma, satir, tcl, yardim


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
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 Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
txt satır okutma LineS mIRC Scripting Sorunları 16 13 Haziran 2022 16:33
hostaki webdeki dosyayı satır satır okuyup satır numarasıyla göstermek hAte PHP 0 11 Kasım 2014 05:06
Txt belgesini okutma (yardım) ciah mIRC Scripting Sorunları 10 14 Temmuz 2013 16:53
Bota satır okutma muratt_aziz mIRC Scripting Sorunları 3 02 Mayıs 2009 01:21
Okutma Tcl Değişiklik Yardım KnOuCK Eggdrop, NeoStats, BNC 2 29 Aralık 2007 16:16