Konu: Loadbuf
Tekil Mesaj gösterimi
Alt 04 Ocak 2011, 18:21   #3
Çevrimdışı
Difuzyon
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Loadbuf




Böylesi bir fikrin oluşması adına sevindiğimi belirtmeliyim,ilginize teşekkür ederim.Güzel bir istekle karşı karşıyayız, /list komutunun karşılığını farklı bir bakış açısıyla görmek adına ben kısa bir çalışma hazırladım.Kod içerinde hangi argümanları kullanmamız gerektiğini açıklayıcı bir şekilde anlattım.Dilerim yeni fikirler oluşturmamıza vesile olur.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias liste { ;Liste isminde bir kısayol (alias) oluşturdum. ;Önce varolan belgeleri her ihtimale karşı siliyorum. .remove kanallar.txt .remove kanalbilgi.txt ;Bir değişken lazım olacak ola ki normal /list çektiğimde bu kodla karışmasın ;bu değişkeni atamazsam /list komutunu kendi başına kullanmamda birtakım sıkıntılar meydana gelebilir. set -e %dfzyn open ;/list komutunu uygula. list } raw 321:*:{ ;/list komutu ile alakalı 321 rawı ;Eğer değişkenimiz varsa gelen 321 rawında "Kanallar listeleniyor..." yazısını durdur if %dfzyn { haltdef } } raw 322:*:{ ;/list komutu ile alakalı 322 rawı ;Eğer değişken mevcutsa if %dfzyn { ;"Channels List'e aktarımı durdur. haltdef ; $2 burda #kanal oluyor.Bunu rastgele bir renk seçerek belgeye yazdırıyoruz. write kanallar.txt $+(,$r(1,14),$2) ;Listbox'ta #kanal tıkladığımızda bize lazım olacak $2 değerini yine yazdırıyoruz ki çağrışımı burdan alacak. ;Aralardaki $lf ile her bilgiyi yeni satıra aktarıyorum. $3 Kullanıcı sayısı , $4 Mode , $5 ve sonrası topic kısmı. write kanalbilgi.txt Kanal: $2 $lf Kullanıcı Sayısı: $3 $lf Kanal Modeleri: $4 $lf Kanal Topici: $5- } } raw 323:*:{ ;/list komutu ile alakalı 323 rawı ;Eğer değişken mevcutsa if %dfzyn { ;"Kanallar listelendi" yazısını durdur. haltdef ;"Channels List" penceresini kapa window -c "Channels List" ; 28 haneli Listbox'u olan ve Tahoma 12 font karakterinde olan @Kanallar isimli pencereyi oluştur window -al18 @Kanallar Tahoma 12 ; Kanallar.txt'ye rastgele renklerle aktarılan kanal isimlerini Listbox'a dök. loadbuf -l @Kanallar kanallar.txt ;Belirtilen metinleri @Kanallar penceresine metin olarak sun,bilgilendirme mahiyetinde. aline @Kanallar 4*1 Tüm kanallar listelendi. aline @Kanallar 4*1 Kanallar hakkında bilgi almak için listeden kanal seçiniz... ;Değişkeni artık siliyoruz.İşlemimiz bitti. unset %dfzyn } } menu @Kanallar { ;@Kanallar penceresinin Listbox'unda sol click yapıldığı takdirde lbclick:{ ;Renkli #kanal ismini renklerinden arındırıp yeni bir değişkene #kanal ismini yalın haliyle atıyorum. set -e %dify $strip($fline(@Kanallar,*,$sline(@Kanallar,1).ln,1).text) ;Her satır için bir ayıraç kullanalım. aline @Kanallar $str(_,40) ;Eğer Listbox'ta sol click ile tıkladığım #kanal ismi biraz önce kanalbilgi.txt belgesine aktardığım ($2,$3,$4,$5-) ;verilerden #kanal ile uyuşuyorsa if $read(kanalbilgi.txt,r,$+(\x2Kanal.\x2\s,%dify,\s)) { ;Uyuşan veri satırından başla ve 3 satır daha bilgi ($3,$4,$5-) içeren kısmını uzun satırları sığdırarak @Kanallar penceresine dök. loadbuf $+($readn,-,$calc($readn +3)) -pi @Kanallar Kanalbilgi.txt } } } on *:close:@Kanallar:{ ;Eğer @Kanallar penceresini kapatırsam ilgili belgeleri ve atadığım değişkeni sil. .remove kanallar.txt | .remove kanalbilgi.txt | unset %dify }

Kodu scriptinizin remote bölümüne olduğu gibi ekliyebilirsiniz,herhangi bir yeri silmenize gerek yoktur.

Kullanım: /liste


Görünüm:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Konu Difuzyon tarafından (06 Ocak 2011 Saat 09:03 ) değiştirilmiştir. Sebep: images yüklendi.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver