chat eczaonline.com yazılım uzmanı gaziantep web tasarım

Ders: Token Identifiers

L4roXyL

Profesyonel
Katılım
16 Eki 2011
Mesajlar
124
Beğeniler
2
#1
Ders: Token identifiers/tanımları.
Tarih: Hatırlamıyorum.
Yazan: L4roXyL - (Hasan AYDENİZ)

-

mIRC Scripting'in kodlama dilinin yapı taşları olan;
Token identifier'larını ele alıcağız.
Bu identifier'lar mIRC Scripting ile uğraşıcaksanız;
Veya daha iyi kod yazmak istiyorsanız öğrenmeniz gereken önemli bilgilerdir.

-

İlk öncelikle, bu identifier'ları kullanmak için bazı bilgilere ihtiyacımız var.
Bir karakterin, ascii numarasını öğrenmek için; $asc(karakter)
Örneğin; //echo -a $asc(a) yaptığımızda; 97 sayısını vericektir.
Bu 97 sayısı a harf'inin ascii numarasıdır.

Ascii rakam'ını karakter'e çevirme.
Şimdi yukarıda gödrüğünüz gibi $asc identifier'ı ile bir karakterin ascii numarasını öğrenebildik.
Şimdi bu ascii numarayı karakter'e çevirmek için; $chr(ascii-numarası)
Örneğin; //echo -a $chr(97) yaptığınızda, "a" olarak cevap gelicektir.
Yani mantık olarak $asc identifier'ının tam tersini yapmakta.

Bu bilgileri en başta verdim, çünki token identifier'larında işinizi fazlası ile yarıyacaktır.
Ve token identifier'larına başlıyalım.

-

1- $addtok(yazı,token,C)

Buradaki C üst tarafta verdiğimiz bilgilerden, bir karakterin $asc(karakter) ile aldığımız ascii sayısıdır.Bu identifier; yazı olan kısıma token yazan yere yazılıcak veriyi eklemenizi sağlar.Ve bu ekleme işlemini text yazısının sonuna ekler.Örneğin; //echo -a $addtok(1 2 3 4 5,6,32)
Yaptığımızda; "1 2 3 4 5 6" olarak dönecektir.
Gördüğünüz gibi 6 sayısını en sona ekledi.
Buradaki 32 eklenicek 6 rakam'ının başına gelecek ascii karakter rakamıdır.
32 boşluk(space)'un ascii sayısıdır.
Yani 32 yerine 46(.) yazsaydık "1 2 3 4 5.6" şeklinde cevap alırdık.
$addtokcs(Case sensitive): $addtokcs şeklinde kullandığınız zaman büyük küçük duyarlı olarak ekleme yapar.


2- $deltok(text,N-N2,C)

Bu identifier text olan yerdeki herhangi bir veya birden fazla karakter'i silmek için kullanılır.
N kısmı numara oluyor. N2 kısmı ise numara 2 oluyor anlaşıldığı gibi.
Şimdi örnek verince daha iyi anlıyacaksınız.
Örneğin; a.b.c.4.d diye bir text'imiz var.
Biz buradaki 4 rakam'ını silmek istiyoruz bunun için, ilk önce 4 rakam'ının kaçıncı sırada olduğuna bakalım.
a(1.)b(2.)c(3.)4(4.)d(5) Gördüğünüz gibi 4. sırada.
//echo -a $deltok(a.b.c.4.d,4,46) yaptığımızda; a.b.c.d olarak dönecektir.
Buradaki 46 nokta(.) karakterinin ascii numarası oluyor.
Ayrıca N2 diye belirtilen kısım ise şu şekilde oluyor.
Mesela a.b.c.d.e.f.g diye bir text var ve;
Siz bu text'in ilk 3(a.b.c) karakterini birden silmek istiyorsunuz, yapmanız gereken;
//echo -a $deltok(a.b.c.d.e.f.g,1-3,46)
Yaptığınızda; d.e.f.g olarak dönecektir. Buradaki "1-3" 1. harf'den 3. harfe kadar sil demek oluyor.


3- $findtok(text,token,N,C)

Bu identifier text içinde varolan yazıdaki;
N(sıra) numarası ile aratılacak karakterin(token) kaçıncı sırada olduğunu belirtir.
Buradaki token; Sıra numarası aranıcak karakter.
N: Rakam girilecektir. Örneklerle daha iyi anlıyacaksınız.
C: Bildiğiniz gibi ascii numarasıdır.
Örneğin; 1.2.3.4.5 diye bir text mevcut.
Biz burada 2 rakam'ının kaçıncı sırada olduğunu öğrenmek istiyoruz.
//echo -a $findtok(1.2.3.4.5,2,1,46) yaptığımızda; 2 cevabını alırız.
Gördüğünüz gibi 2 rakam'ı 2. sırada olduğu için 2 olarak döndü.
Gayet basit bir identifier'dır. $findtokcs olarak'da kullanılabilir.
Bildiğiniz gibi cs(case sensitive) büyük küçük duyarlı oluyor.


4- $gettok(text,N,C)

Bu identifier tabiri caiz'se, mIRC Scripting'de en gözde olan token'dir.
Yani bu cümlemden anlıyacağınız gibi, en çok kullanılan;
En çok kullanıldığına göre o kadar'da işe yarıyan bir identifier'dır.
Bu identifier text kısmında'ki yazıyı ayırabilmemizi sağlar.
N: Bildiğiniz üzere sıra numarasıdır.
C: Yine bildiğiniz gibi ascii numarasıdır.
Örneğin; text1 text2 text3 diye bir yazımız var. Ve biz bu yazıdaki text2 kısmını almak istiyoruz;
//echo -a $gettok(text1 text2 text3,2,32) yaptığımızda; text2 olarak cevap gelicektir.
Buradaki 2 alıcağımız verinin sıra numarası, 32 ise boşluk karakter ascii numarası.
Bu identifier gerçekten çok kullanışlıdır. Bir kaç örnek göstermek istiyorum.
Örneğin; ders.dersler.derslerimiz.dersleriniz şeklinde bir text'imiz var.
Bir burada ders kelimesi hariç hepsini almak istiyoruz;
//echo -a $gettok(ders.dersler.derslerimiz.dersleriniz,2-,46)
Yaptığımızda; dersler.derslerimiz.dersleriniz cevabını alırız.
2- numarasındaki mana, 2. kelime ve sonrasını ayır demektir.


5- $instok(text,token,N,C)

Bu identifier text kısmında yazılı olan verilere token(veri) eklemek için kullanılır..
Buradaki token; eklenicek veridir.
N: Eklenicek verinin sıra numarasıdır.
C: Bildiğiniz üzere ascii numarası oluyor.
Örneğin; ders1|ders2|ders4|ders5 dite bir text'imiz mevcut.
Ve biz bu text'in 3. sırasına ders3 kelimesini(token) eklemek istiyoruz.
//echo -a $instok(ders1|ders2|ders4|ders5,ders3,3,124)
Yaptığımızda; ders1|ders2|ders3|ders4|ders5 olarak dönecektir.
Yani gördüğünüz gibi ders2 kelimesinin önüne ders3 kelimesini ekledik.
Buradaki 124 "|" karakterinin ascii numarasıdır.
Eğer text'in içinde ayraç olarak varolmayan bir karakter numarası girseydik;
ders3 kelimesini text'in en sonuna ekliyecekti.
Örneğin; //echo -a $instok(ders1|ders2|ders4|ders5,ders3,3,64)
Yaptığımızda; ders1|ders2|ders4|ders5@ders3 olarak dönecektir.


6- $istok(text,token,C)

Bu identifier'ın kullanımı gayet basittir.
Token kısmına yazılan veri, text kısmında bulunuyorsa $true olarak dönecektir.
Örneğin; //echo -a $istok(ders ders1 ders2,ders,32)
Yaptığımızda, cevap $true olarak dönecektir.
Buradaki dönen cevap $true; Onaylandı manasına gelir.
Eğer cevap $false olarak dönerse, onaylanmaz. Dolayısı ile dönmez.


7- $matchtok(tokens,string,N,C)

Bu identifier tokens kısmındaki veride girilen string'i arar ve kaç adet bulunduğu rakam ve kullanıma göre belirtir
Buradaki tokens; aranılacak text oluyor.
String ise aranılacak veri oluyor.
N: Bildiğimiz gibi sıra numarası olarak çalışır.
C: Herdefasında belittiğimiz gibi ascii numarasıdır.
Örneğin; //echo -a $matchtok(bu dersleri okuyun,e,0,32) yaptığımızda; 2 olarak dönecektir.
Gördüğünüz gibi içerisinde e bulunan kelime dersleri oluyor.
Yani; //echo -a $matchtok(bu dersleri okuyun,e,1,32) yaptığımızda; dersleri cevabını alırız.
İçerisinde e bulunan kelime "dersleri"
Duruma göre kullanışlı bir token identifier'ıdır.
Büyük küçük duyarlı olarak işlem yapmak için her zamanki gibi identifier sonuna cs ekliyoruz; $matchtokcs


8- $numtok(text,C)

Bu identifier'da gayet basittir.
Mantığı şu oluyor; text içerisindeki veride C kısmına yazılan karakter'den kaç adet var ise rakam olarak belitir.
Yani örneğin; //echo -a $numtok(a;b;c;d;e;,59) yaptığımızda, "5" cevabını alırız.
Buradaki C: Girilen asci numarası oluyor. ";" karakterinin ascii numarası 59'dur.
Yani ascii numarası 59 olan 5 katakter içeriyormuş text'imiz.


9- $puttok(text,token,N,C)

Aslında bu identifier $instok identifier'ı ile neredeyse aynıdır.
Yalnız bu identifier'daki fark $instok gibi veriyi belirtilen yerin önüne eklemez.
Yani eklenilen verinin yerini siler.
Örneğin; //echo -a $puttok(1.2.3.4.5,15,2,46) yaptığımızda; 1.15.3.4.5 olarak dönecektir.
Gördüğünüz gibi $instok identifier'ındaki gibi verinin önüne eklemedi. Eklenilen sıra numarasındaki veriyi sildi.
Ve onun yerine belirtilen "15" sayısını ekledi.
N: Sıra numarası oluyor. Yani eklenilecek veriyi hangisi sıraya koyacağınızı belirliyorsunuz.
C: Bildiğiniz gibi ascii numarası oluyor. Verdiğimiz örnekte;
Sıra numarası olarak 2 girdik. Token olarak 15 yazdık. Asci numarası olarak 46(Nokta".") kullandık.


10- $remtok(text,token,N,C)

Aslında bu identifier'ın işlevi $remove ile aynıdır.
Fakat bu identifier'da sıra numarası belirliyebilmek, gayet kolaylık sağlıyor.
Buradaki text: İçinden veri silnecek yazı olmaktadır.
Token: Text içerisinde silinecek veri oluyor.
N: Bildiğiiz gibi sıra numarası. Yani hangi bölümden silinecek bunu belirliyoruz.
C: Bildiğimiz gibi ascii numarası oluyor.
Örneğin; //echo -a $remtok(a&b&c&d,a,1,38) yaptığımızda; b&c&d cevabını alırız.
Yani burada belirtmek istediğimiz;
text içerisinde 1. sıradaki a verisini ascii numarası belirterek silmek.
Ascii numarası belirtmemizin sebebi, silinecek verinin önündeki karakterin diğerleri ile aynı olmasıdır.
Eğer farklı bir ascii numarası belirtirsek, herhangi bir silme işlevi yapamayacaktır.


11- $reptok(text,token,new,N,C)

Bu token identifier'ı ise $replace ile aynı görevi görmektedir. Fakat yine sıra numarası belirleyebildiğimiz için;
Büyük bir ayrıcalık tanımaktadır.
Buradaki text: İçerisinden veri değiştirilecek yazı oluyor.
Token: Değiştirilecek veri oluyor.
New: Değişen verinin yerine gelecek replay verisi oluyor.
N: Sıra numarası olmaktadır.
C: Bildiğimiz gibi ascii numarasıdır.
Örneğin; //echo -a $reptok(ders1.ders2.ders3.ders4,ders4,ders6,1,46)
Yaptığımızda; ders1.ders2.ders3.ders6 cevabını alırız.
Şimdi bunu açıklıyalım;
Verilerin aralarında "." olduğu için ascii numarasını 46 yaptık.
Token olarak text içerisindeki replay edilmesi istediğimiz veriyi belirttik.(ders4)
Replay edilmesi gereken kelimesi belirledik.(ders6)
Ve sonuç olarak; ders1.ders2.ders3.ders6 cevabını almış olduk.
Bu token identifier'ında cs(case sensitive) kullanabiliyoruz.($reptokcs)
Biliyorsunuz'ki "cs" büyük küçük duyarlılığı aktif kılacaktır.


12- $sorttok(text,C,ncra)

Bu token identifier'ı ise text kısmına yazılan verinin farklı yollar ile sıralanmasına/dizilmesine olanak tanır.
Parametreleri tanıyalım;
n: Text içerisindeki verileri en küçük'den büyüğe doğru okutacaktır.
Örneğin; //echo -a $sorttok(1.3.6.7.5.9,46,n)
Yaptığımızda; 1.3.5.6.7.9 cevabını alırız. Yani küçükten büyüğe doğru sıralar.
c: Bu paramtre çok özel'dir. text içerisindeki, kanal prefix'lerini(+,%,@,&) yetki sıralamasına göre gösterir.
En yüksek yetkiden, en düşük yetkiye doğru.
Örneğin; //echo -a $sorttok([email protected]&ders.%ders,46,c)
Yaptığınızda; &[email protected]%ders.+ders cevabını alırız.
Gördüğünüz gibi yetki sıralaması en yüksekten, alçağa doğru olmuştur.
a: Bu paramtre text içerisindeki verileri, alfabetik sıralamayla gösterir.
Örneğin; //echo -a $sorttok(a c b f d l k,32,a)
Yaptığınızda; a b c d f k l cevabını alırız. Gördüğünüz gibi alfabetik sıralam yapılmış.
r: Bu parametre, text içerisindeki sıralamyı ters olarak gösterecektir.
Mesela;
//echo -a $sorttok([email protected]&ders.%ders,46,c)
Yaptığınızda, &[email protected]%ders.+ders cevabını alırken;
//echo -a $sorttok([email protected]&ders.%ders,46,cr)
Yaptığınızda; +ders.%[email protected]&ders cevabını alırsınız.
Yani r parametresi dizilim ayarlarını tersine çevirir.
Son olarak belirtmek istiyorum, $sorttok identifier'ında cs(case sensitive) kullanabilirsiniz.($sorttokcs)
Bildiğiniz gibi büyük/küçük harf duyarlılığı için kullanılmaktadır.


13- $wildtok(token,wildstring,N,C)

Aslında bu identifier adından'da belli olduğu gibi wilcard kullanılan bir token'dir.
Benzerlik olarak $matchtok identifier'ı ile bir uyumluluğu vardır.
Ama $wildtok identifier'ında wildcard(s) kullanabiliyoruz.
Wildcards: "*" "?" karakterleridir.
Wildcard açıklaması; Örneğin ders kelimesini ele alalım.
* Karakterini ders kelimesinin başında kullanırsak(*ders);
ders kelimesi ile biten kelimeler manasına gelir.
* Karakterini ders kelimesinin sonunda kullanırsak(ders*);
ders kelimesi ile başlıyan kelimeler manasına gelir.
* Karakterini ders kelimesinin hem başında hem'de sonunda kullanırsak(*ders);
içerisinde ders kelimesi geçen kelimeler manasına gelir.
? Karakteri ise, bilinmeyen karakter yerine kullanılır. Örneğin; der?ler gibi.
Bu bilgilerden yola çıkarak $wildtok identifier'ı hakkında bilgi sahibi olalım.
Token: İçerisinde wildcard kullanılmış string(veri) aranılacak text.
Wildstring: Wildcards kullanılmış text oluyor.
N: Sıra numarası oluyor bildiğiniz gibi.
C: Ascii karakteri oluyor yine bidliğiniz gibi.
Örneğin; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,*i*,0,32) yaptığınızda; 4 cevabını alırız.
Yani içerisinde i harfi geçen 4 adet kelime varmış bu cümlede.
Eğer; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,*i*,1,32) yaparsak;
İçerisinde i harfi geçen 1. kelimeyi okutur. Bu kelimede; dersin oluyor.
Eğer; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,*i*,2,32) yaparsak;
İçerisinde i harfi geçen 2. kelimeyi okutur. Bu kelimede; geldik oluyor.
Eğer; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,*i*,3,32) yaparsak;
İçerisinde i harfi geçen 3. kelimeyi okutur. Bu kelimede; biliyorsunuz oluyor.
Eğer; //echo -a $wildtok(dersin sonuna geldik biliyorsunuz değilmi?,*i*,4,32) yaparsak;
İçerisinde i harfi geçen 4. kelimeyi okutur. Bu kelimede; değilmi? oluyor.
Yani soldan sağa doğru okunmakta token identifier'larında bunu unutmayın.
Son bilgi olarak; $wildtok identifier'ında cs(case sensitive) kullanabilirsiniz.
Bildiğiniz gibi büyük/küçük harf duyarlılığı için kullanılmaktadır.($wildtokcs)

-

Dersimiz burada sona ermiştir.
Umarım işinize yarıyacak bilgiler verebilmişimdir.
 

Bu konuyu okuyanlar (Üyeler: 1, Misafirler: 0)

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur. iyinet.com sayfalarında yer alan yazı, görsel ve linklerle ilgili hukuki şikayetleriniz için Buradan iletişime geçmeniz durumunda, ilgili kanunlar ve yönetmelikler çerçevesinde en geç 7 gün içerisinde iyinet yönetimince tarafınıza dönüş sağlanacaktır. Betcup Artemisbet Forum canlı bahis
Üst