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

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   /dtara sürücü dosya(Dosya arama) (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/38115-dtara-surucu-dosyadosya-arama.html)

L4roXyL 17 Eylül 2007 21:59

/dtara sürücü dosya(Dosya arama)
 
Evet arkadaşlar, boş zamanlarımda mIRC.hlp dosyasında İdentifier'ları karıştırırım. Denemeler yapar, küçük kodlar yazarım. Dün gece dosya ve klasör identifier'larını karıştırırken daha önce kullanması nasip olmayan $finddir identifier'ı ile karşılaştım. Ve aklıma işinize yarıyacak bir kod yazmak geldi.

Vereceğim kod'un bu kadar karmaşık olduğuna bakmayın, yani kafanız karışmasın.
Ben zaten karmaşık yazmayı seviyorum.
Zaten bu kod'un oluşmasının sebebi $finddir identifier'ı.
Diğer identifier'lar zaten bildikleriniz.
Bilmediklerinizi açıklıyacağım.
Kullanılan identifier'lar;
$disk(sürücü-adı) : Adı üstünde bilgisayarınız'daki sürücü ismini kontrol eder.
//echo -a $disk(C) yaparsanız ve C adında bir sürücünüz varsa, $true olarak dönecektir.
$qt(text) : Bu identifier'ın görevi; içerisine yazılan yazının başına ve sonuna tırnak işareti koyacaktır. Yani //echo -a $qt(Hasan) yaptığınızda; "Hasan" olarak dönecektir.
Sanırım kod'un içerisinde başka yabancı gelecek bir identifier mevcut değil.
$gettok : Token identifier'ı bol bol görmüşsünüzdür.
$chr(sayı) : Girilen ascii numarasını, ait karakter'e çevirir. Bunuda biliyorsunuz.
$strip : Yazıyı renk kalın ince vb. detaylardan arındırmak için kullanılır.
Sanırım başka bir identifier'da kullanmamışım.

Buyrun kod;

Kod:

alias dtara {
  if !$1 { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Sürücü ismi girmediniz. Kullanım şekli; $chr(2),/dtara sürücü dosya-adı,$chr(2)) | halt }
  if !$disk($1) || $len($1) >= 2 { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),$chr(2),$qt($1),$chr(2),$chr(32),adında bir sürücü mevcut değil.) | halt }
  if !$2 { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Aranacak dosya ismini girmediniz.) | halt }
  if $1 && $2 {
    write -c dosyalar.txt
    echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Tarama başlatılıyor.)
    var %. = 1,%~ = $finddir($+($1,:\),$2,0),%+ = $1,%- = $2
    if $finddir($+($1,:\),$2,0) == 0 {
      echo -s $+($chr(45),$chr(32),Taranan sürücü,$chr(58)) $+($chr(2),$qt(%+))
      echo -s $+($chr(45),$chr(32),Aranan dosya ismi,$chr(58)) $+($chr(2),$qt(%-))
      echo -s $+($chr(45),$chr(32),Bulunan dosya sayısı,$chr(58)) $+($chr(2),$qt(%~))
      echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Herhangi bir dosya bulunamadı.)
    }
    if $finddir($+($1,:\),$2,0) >= 1 {
      echo -s $+($chr(45),$chr(32),Taranan sürücü,$chr(58)) $+($chr(2),$qt(%+))
      echo -s $+($chr(45),$chr(32),Aranan dosya ismi,$chr(58)) $+($chr(2),$qt(%-))
      echo -s $+($chr(45),$chr(32),Bulunan dosya sayısı,$chr(58)) $+($chr(2),$qt(%~))
      echo -s $+($chr(45),$chr(32),Sonuçlar sıralanıyor,$chr(44),$chr(32),tarama tamamlanana kadar bekleyiniz;)
      while %. <= %~ {
        echo -s - $+(Sıra,$chr(58),$chr(32),$chr(2),%.,$chr(32),$chr(45),$chr(32),$chr(2),Yeri,$chr(58),$chr(32),$chr(2),$finddir($+(%+,:\),%-,%.))
        write dosyalar.txt $+(%.,%,$chr(32),$finddir($+(%+,:\),%-,%.))
        inc %.
      }
      echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Tarama tamamlandı.)
      echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Çıkan dosyalardan herhangi birini açmak için;,$chr(2),$chr(32),/ac sıranumarası,$chr(2),$chr(32),yazmanız yeterlidir.)
      echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Bulunan her dosya'ya bir numara verilir,$chr(2),(Sıra: 1 gibi),$chr(2),$chr(32),Eğer yazdığınız numara sıra numarasında yoksa dosya açılmayacaktır.)
    }
  }
}
alias ac {
  if !$1 { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Numara girmediniz.) | halt }
  if !$left($read(dosyalar.txt,w,$+($1,*)),1) { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),$chr(2),$qt($1),$chr(2),$chr(32),varolmayan bir numara,$chr(44),$chr(32),lütfen çıkan numaralar dahiline işlev yapınız.) | halt }
  if $1 && $left($read(dosyalar.txt,w,$+($1,*)),1) { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(2),$chr(32),$qt($gettok($read(dosyalar.txt,w,$+($1,*)),2,37)),$chr(2),$chr(32),klasör'ü 1 saniye sonra açılacak.) | .timer 1 1 run $strip($gettok($read(dosyalar.txt,w,$+($1,*)),2,37)) }
}

Kullanımı;

/dtara sürücü-ismi dosya-ismi
Örnek: /dtara C *mIRC* (C sürücüsünde içinde mIRC kelimesi geçen tüm klasör'leri sıralıyacaktır.)
Gördüğünüz gibi, wildcard kullanabilirsiniz.
Yani *kelime ve/ya kelime* ve/ya *kelime* şeklinde.
"Yalnız siz kalkıpta, /dtara C *a* gibi saçma bir işlev yaparsanız mIRC donacaktır."
Kod'u gerekli yerlerde kullanırsanız işinize yarıyacağını düşünüyorum.
Şimdi bir kaç örnek verelim;
/dtara C *mIRC* (C sürücüsün'de içinde mIRC kelimesi geçen tüm klasöer'ler) yapıyorum ve status penceresinde çıkan sonuçlar;

- Bilgi: Tarama başlatılıyor.
- Taranan sürücü: "C"
- Aranan dosya ismi: "*mIRC*"
- Bulunan dosya sayısı: "7"
- Sonuçlar sıralanıyor, tarama tamamlanana kadar bekleyiniz;
- Sıra: 1 - Yeri: C:\Documents and Settings\All Users\Start Menu\Programlar\Türkçe Mirc v6.21
- Sıra: 2 - Yeri: C:\Documents and Settings\L4roXyL\Application Data\mIRC
- Sıra: 3 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\Kullanılmayan\Türkçe Mirc v6.2
- Sıra: 4 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\Kullanılmayan\Türkçe Mirc v6.21
- Sıra: 5 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\Kullanılmayan\Türkçe Mirc v6.21\mirc621
- Sıra: 6 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\L4roXyL\mIRC Kodlarım
- Sıra: 7 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\L4roXyL\mIRC Handcoding
- Bilgi: Tarama tamamlandı.
- Bilgi: Çıkan dosyalardan herhangi birini açmak için; /ac sıranumarası yazmanız yeterlidir.
- Bilgi: Bulunan her dosya'ya bir numara verilir(Sıra: 1 gibi) Eğer yazdığınız numara sıra numarasında yoksa dosya açılmayacaktır.
-

Birde "/ac" alias'imiz var.
Gördüğünüz gibi her çıkan sonuca bir numara verilmekte;
Siz /ac 6 komutunu uyguladığınızda, 1 saniye sonra sıra numarası 6 olan klasör'ü açıcaktır.
Umarım işinize yarar.

-

Hıı birde gruplar için çok basit bir kod yazmıştım belki işinize yarar;
mIRC'inizdeki grupların isimleri bulunduğu klasör'leri ve durumlarını göstermek için;
Buyrun;

Kod:


alias gruplar {
var %# = 1,%~ = $group(0)
while %# <= %~ {
echo -a $+(Grup ismi:,$chr(32),$group(%#),$chr(32),Bulunduğu dosya:,$chr(32),$group(%#).fname,$chr(32),Durumu:,$chr(32),$replace($group(%#).status,off,Kapalı,on,Açık))
inc %#
}
}

Kullanımı: /gruplar
Umarım işinizi görür.

KirLiSakaL 21 Eylül 2007 01:50

Yanıt: /dtara sürücü dosya(Dosya arama)
 
L4roxYL artik bu isi kopardi Kralligini Ilan etti artik eskiden oldugu gibi birilerinin govde gosterisi icin calisma doneminide burda son bulmus oluyor ise yarayacak kodlar yaziliyor artik L4'e tekrar tesekkur ediyorum bu iste marka adamlarin basinda geliyor..

Cemalizim 21 Eylül 2007 15:44

Cevap: /dtara sürücü dosya(Dosya arama)
 
Çok Güze Emegine SagLık Çok iş Görür İş Yapıyorsun tşk ederim BaşarıLarın devamını dilerim


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02:55.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk