IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi

IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi (https://www.ircrehberi.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircrehberi.net/mirc-scripting-hazir-kodlar/)
-   -   Sayi Siralama Filter Alternatif (https://www.ircrehberi.net/mirc-scripting-hazir-kodlar/116549-sayi-siralama-filter-alternatif.html)

Forbidden 02 Temmuz 2022 00:52

Sayi Siralama Filter Alternatif
 
Merhabalar kodun amacı Text belgesindeki rakamlari baz alarak büyükten kücüge ya da küçükten büyüge belirli miktarda siralama yapar.
Bunu yaparken $gettok kullanir, enbuyuk veya enkucuk ozellikleri mevcuttur, ek olarak komut secenegi vardir.
Ornek.txt Text Belgesinin iç görünümü
Kod:

yogurt 10
ekmek 4
kurufasulye 20
mercimek 13
sabun 5
jilet 3
kahve 4
dogalgaz 49
elektrik 56
makarna 5

Kod:

//noop $sayisirala(ornek.txt,enbuyuk,2,32,echo -a).5
Bu komutta;
dosya ismi olarak ornek.txt belirttik.
Buyukten kucuge mi yoksa kucukten buyuge mi siralayacagiz ?
buyukten kucuge siralarsak - enbuyuk
kucukten buyuge siralarsak - enkucuk
2 - burada token degeridir, rakamlar 2.token(kelime) oldugu icin 2 kullandik.
32 - token(kelime) ayracidir.Burada ayrac bosluk olarak kullanilmistir ve boslugun ascii degeri 32'dir.
echo -a ise tamam secenektir, onun yerine msg #herhangibirkanal olarak da yazabilirdik.
Ve en son 5 degeri ise, bizim siralama yapabilecegimiz miktari veriyor.Yani bize buyukten kucuge en buyuk 5 adet satir verecek.


Kod:

alias sayisirala {
  unset %enbuyuk %enkucuk %dok %zsonb %ysonk
  if !$1 { echo $color(info) Text Belgesini Yaziniz. Orn: $!sayisirala(ornek.txt,enbuyuk,2,32,msg #Forbidden).10 | return }
  if !$isfile($1) { echo $color(info) dosya bulunamadi | return }
  if $prop !isnum { echo $color(info) En buyuk kactane rakam siralama yapacagini belirtin. Orn: $!sayisirala(ornek.txt,enbuyuk,2,32,msg #Forbidden).10 | return }
  if $prop > $lines($1) { echo $color(info) Uzgunum, dosyanizda $v2 satir var | return }
  if ($4) {
    if ($3 !isnum || !$asc($4) ) { echo $color(info) gecerli token numarasi ve ascii numarasi giriniz. Ornek: $!sayisirala(ornek.txt,enbuyuk,2,32,msg #Forbidden).10 | return }
    else { set %dok $3 $4 }
  }
  elseif !$5 { echo $color(info) Dosyanin ciktisini ne yapmak istediginizi yazin. Ornek #Forbidden kanalina yazdiracaksaniz, $!sayisirala(ornek.txt,enbuyuk,2,32,msg #Forbidden).10 | return }
  var %topkac $prop, %j = 1, %mm
  while %j <= %topkac {
    var %i 0
    set %z 0
    set %y 42584398923849238459239582392334288249
    while %i <= $lines($1) {
      var %sa = $iif(%dok,$gettok($read($1,%i),$3,$4),$read($1,%i))
      if %sa isnum {
        if %sa >= %z && !$istok(%enbuyuk,$readn,32) { set %z %sa | set %zsonb $readn }
        if %sa <= %y && !$istok(%enkucuk,$readn,32) { set %y %sa | set %ysonk $readn }
      }
      inc %i
    }
    set %enbuyuk %enbuyuk %zsonb
    set %enkucuk %enkucuk %ysonk
    if $2 == enbuyuk { $5- $read($1,%zsonb)) }
    if $2 == enkucuk { $5- $read($1,%ysonk)) }
    unset %z %y
    inc %j
  }
}


Nichts 03 Temmuz 2022 23:03

Emeğinize sağlık.

Saruhan 04 Temmuz 2022 01:57

Paylaşım için teşekkürler emeğinize sağlık

SosiN 04 Temmuz 2022 01:58

Emeğinize sağlık.

oMeN 05 Temmuz 2022 10:49

Eline sağlık @[Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...]

ZeyNa 06 Temmuz 2022 07:13

Emeğinize sağlık

Sim 06 Temmuz 2022 20:58

emeginize saglik


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.

Copyright ©2019 - 2025 | IRCRehberi.Net