![]() |
Filter Kullanım: /filter [-asdfkwxnpriocteubglLz] [n-n2] [c s] <infile | dialog id> <outfile | dialog id | alias> [alias] <matchtext> Filter kelimesinin Türkçe karşılığı filtrelemek,süzmek anlamına gelir. mIRC komutlarında karşımıza bir süzgeç olarak kullanabileceğimiz oldukça yararlı bir komuttur. Bir @penceredeki,belgedeki,#kanaldaki,özeldeki vb. satırları(line) bir hedefe süzgeçten geçirerek aktarma imkanı sunar. Bu aktarımı belirteceğiniz parametreler ve argümanlara bağlı kalarak belirlediğiniz hedefe taşır. Kimi zaman bir belgedeki istenmeyen satırların silinmesi,kimi zamanda bir @penceredeki verilerin tür bakımından sıralamaya alınmasını sağlar.Neler yapabileceğimizi parametreleriyle beraber çeşitli örneklerle görelim: ircforumlari.txt belgesi mIRC ana dizininde var olan belgemde,içeriği aşağıdaki gibidir: Alıntı:
Kullanımda Örnek : /filter -ff ircforumlari.txt dify.txt *scripting* -f = file (Yani Belgeyi ifade eder) Bir belgeden(f) diğer belgeye(f) aktarımı süzerek yapmak istedim. Örnek komut ile yukarıdaki 5 satır içerisinde "scripting" kelimesi geçen(wildcard tanımlı) satırları alarak dify.txt belgesine aktarır. mIRC ana dizininda dify.txt belgesi yoksa kendiliğinden açılır.Bunun için belge oluşturmanıza gerek yoktur. İşlem sonunda dify.txt belgemize baktığımızda,sonuç olarak: Alıntı:
Diğer satırlar süzgeçten geçemedi.ircforumlari.txt belgemiz aynen kalırken dify.txt isimli yeni bir belgemiz oldu. Bir belgeden bir @penreceye aktarım örneği verecek olursak /window @deneme (Önce @deneme isimli bir pencere açıyorum,pencere açık olmalı ki veri aktarımı olsun) /filter -fw ircforumlari.txt @deneme Bilgi paylaşmak içindir. (Ardından filtreleme işlemi yapıyorum) -w = window (Yani @pencereyi ifade eder) Komuttaki hiza dikkatinizi çekmiştir -fw ircforumlari.txt @deneme şeklindedir. Siz bunu yer değiştirirseniz şayet -wf ircforumlari.txt @deneme hata verecektir. -w (pencere) karşılığı ircforumlari.txt , -f(belge) karşılığı @deneme olarak algılayacağından işlem hatalıdır. Bu uyarılara dikkat çektikten sonra uyguladığımız komut sonucunda @deneme penceremize; Alıntı:
Bu örnekte wildcard kullanmadım.Bu nedenle satırın tam karşılığını filtreledi. Yukarıda vermiş olduğum iki örneğe bakarak belge ve pencere arası geçişleri filtreleyebilirsiniz.(-ff , -wf , -ww , -fw) Parametreler : -x Parametresi olumsuzluk(içerisinde geçmeyen) ifade eder. Örnek: /filter -xff ircforumlari.txt dify.txt *Cenk* ircforumlari.txt belgesi içerisinde Cenk kelimesi geçmeyen satırları filtreler. -n Parametresi uyan tanımları satır numaralarıyla birlikte aktarır. Örnek: /filter -nff ircforumlari.txt dify.txt *paylaş* Komutunu uygulama sonucunda dify.txt belgesi aşağıdaki şekilde oluşur: Alıntı:
Örnek: /filter -ws CesuryureK * Özelimdeki CesuryureK nickiyle(bu da bir penceredir) yaptığım tüm satırları Status Window'da gösterir. Örnek: /filter -sf Hatamesajları.txt *Unknow* Status Window kısmında içerisinde Unknow geçen satırları alır Hatamesajları.txt belgesine aktarır. -d Parametresi Messages penceresine aktarır. Örnek: /filter -wd #mIRCHelp * #mIRCHelp kanalındaki(bu da bir penceredir) tüm satırları Messages(/dqwindow [on|show] komutu ile açılan penceredir) penceresine aktarır. -p Parametresi ile filtreleme sonrası @pencereye aktarımda çok uzun satırları sığdırmaya yarar. -r Parametresi belirtilen satır aralığında filtreleme yapar. Örnek: /filter -wfr 34-47 #mIRCHelp ircforumlari.txt *d?f?zy?n* #mIRCHelp kanalında(pencere) 34 ile 47 satırları arasını filtreler,tanıma uyan satırları ircforumlari.txt belgesine aktarır. -g Parametresi filtrelenecek kısmı Regular Expression (Regex) olarak kullanmak içindir. Örnek: /filter -ffg ircforumlari.txt dify.txt /'\w+\s\w+\s[A-Z]+'/ Belirtilen string tanımı sonucu filtrelenen kısım dify.txt belgesine aktarılır: Alıntı:
Örnek: /filter -swz @difuzyon *Ping Tekrarı* (Status penceremde Ping Tekrarı yanıtlarına ait mesajları renkleriyle birlikte @difuzyon penceresine aktarır) -k Parametresi Çıkış belgesine göre bir alias düzenlemenize imkan tanır.Aliasdan sonraki kısmı alias tanımına göre filtreler. Örnek: /alias dify $iif($isid,zline $1 +0 Dışarı,filter -fk karaliste.txt dify $1) Bu komut ile dify aliasım oldu karaliste.txt içeriğide aşağıdaki gibidir: Alıntı:
Alıntı:
Gördüğünüz gibi bu parametre doğru yerlerde kullanıldığı takdirde eşsiz bir kolaylık sağlar. -i Parametresi ile Giriş kısmına belirtilen Dialog ID numarasındaki veriler filtrelenir. Örnek: /filter -if Generator 8 dify.txt *code* Generator isimli dialogun 8 nolu ID kısmında içinde code kelimesi geçen satırları dify.txt belgesine aktarır. -o Parametresi ile Çıkış kısmında belirtilen Dialog ID numarasına veriler filtrelenir. Örnek: /filter -fox dify.txt ASCII 4 *test* dify.txt belgesinde içinde test kelimesi geçmeyen satırlar ASCII isimli dialogun 4 nolu ID numarasına aktarılır. Gördüğünüz gibi bir Dialogun List kısmına bir belgeyi aktarmak filter ile oldukça kolay. Bir while,loop vb. gibi döngü işlemleri gerektirmeden sizlerde kullanabilirsiniz. -c Parametresi ile filtrelenen kısımdan önce hedef temizlenir,ardından aktarım gerçekleşir. Örnek: /filter -cfg dify.txt @Difuzyon \d Regular Expression tanımına uyan kısımlar @Difuzyon penceresine (öncesinde @pencere temzlenmek koşuluyla) aktarılır. -t Parametresi ile Tokenize bir uygulama sonucunda filtereleme yapar.Tokenize verileri [c s] kısmı ile belirtilir. Coder.txt belgemin içeriği aşağıdaki gibidir: Alıntı:
Komutunu uyguladığımda Coder.txt belgesinde 33 ascii karakterine denk gelen ! işaretinin 1. kısmını filtreler. Yani $gettok(veri!text,1,33) tokenize işlemine göre veri kısmını filtreler.Bu filtreleme işlemini yaparken alfabetik sıralamaya uygun hareket eder.İşlem sonucunda @Difuzyon pencerem aşağıdaki gibi olur: Alıntı:
Bu örnek sonucunda (dikkat ederseniz *!* filtre tanımı ekledim,içinde ! geçen satırları alacak) yine alfabetik dizgi verecektir. İşlem sonucunda @Difuzyon pencerem: Alıntı:
-e Parametresi ile filtrelenen kısmı alfabetik olarak Z'den.. A'ya ters sistemde listeler. Örnek: /filter -fwte 2 33 Coder.txt @Difuzyon *!* İşlem sonucundan @Difuzyon pencerem aşağıdaki gibidir: Alıntı:
-u Parametresi ile filtrelenen kısım numerik olarak listelenir. Veri.txt belgemin içeriği aşağıdaki gibidir: Alıntı:
Boşluk karakterinden sonraki(2 32) kısımda, sonu rakamla biten satırları numerik olarak listeler.@difuzyon pemceremdeki sonuç: Alıntı:
-l parametresi ile Giriş kısmındaki pencerenin Listbox'undaki verileri Çıkış kısmına filtreler. Örnek: /filter -wfl #mIRCHelp nickler.txt *girl* #mIRCHelp kanalının Listbox'unda içinde girl kelimesi geçen nickleri nickler.txt belgesine aktarır. -L parametresi ile Çıkış yapılacak pencerenin Listbox'una verileri filtreler. Önce: /window -l15 @YeniKanal komutu ile Listbox'lu bir pencere açıyorum, Sonra:/filter -fwL nickler.txt @YeniKanal *34* Komutu ile nickler.txt belgesinin içinde 34 rakamı geçenleri @YeniKanal'ın Listbox'una aktarıyorum. -a Parametresi ile bir alias oluşturulur ve bu alias türe göre sıralar.Alias tanımında $1 ve $2 kullanılır,tür kısmı burda belirtilir. Türe göre sıralama alias içinde 1 , 0 ,-1 olarak değerlendirilmelidir.Bir örnek vermek gerekirse: Kod: alias dizgi { dizgi kısmında alt sıra $2, üst sıradan $1 büyükse 1 değeri alacak.Eşitse 0,küçükse -1 değer hizası alacak. 1 0 -1 Hizası gibi algılayacaktır.Bu tanım alias içerisinde belirtilmelidir. Filter komutunun $filtered identifieri mevcuttur.Bu identifier filtre tanımına uyan satır sayısını vermektedir. Tüm bu anlatılanlardan sonra konuyla alakalı örnek bir kod sunayım: Kod: on *:text:*:#Kanal:{ !puan nick komutuyla nickin puanını görebilirsiniz. !puan list komutuyla ilk 10'a giren nicklerin puan tablosunu görebilirsiniz. Hoşca paylaşımlar dilerim... |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 13:19. |
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