UO-Dev Arama


Stringsel Kullanımı hakkında scripting yardımı

Yazar: Bilinmiyor
Tarih: 29-07-2009 21:41


Paylaş : Paylaş

Sphere in kelimeler uzerinde işlem yapmak icin bize sundugu fonksiyonlar :

STRCMP
STRCMPI
STRMATCH
STRTOUPPER
STRTOLOWER
STRLEN

dir..

Buna ek olarak sphere icinde ;

StrIndexOf
StrMid
StrLeft
StrRight komutlari bulunuyor.. Fakat doğru çalıştığı soylenemez..


ilk bu fonksiyonlara genel olarak bakalım.. STRLEN, STRMATCH, STRCMP, ve STRCMPI fonksiyonların etraflarinda < > işaretleri kullanılmıyor. Digerlerinde kullanırken kullanmak zorundasınız.

Ornegin :
Yanlış - IF <STRMATCH( "yazi1", "yazi2" )>

Doğru - IF STRMATCH( "yazi2", "yazi2" )

STRCMP/STRCMPI

Sözdizilimi :
STRCMP( yazi1,yazi2)
STRCMPI( yazi1,yazi2)

Bu fonksiyon 2 sözcüğün karşılaştırılmasında kullanılır.. STRCMP tam acilim olarak "String Compare" dir. Çoğu kişi test amacli 2 sozcugun esitligi olarak kullanir.. Ama aslında geri donen deger daha karmaşık.. su sekilde ;

yazi1 eşitse yazi2 ye = 0
yazi1 düşükse yazi2 den < 0
yazi1 büyükse yazi2 den > 0


Garipseme sorusu ? : Ho ?? nasi yani küçük büyük ?

Cevap : bi dk şimdi diyorsunuzki bir string nasıl birşeyden az olabilir ? string metni değilmi ? elbette öyle ama bilgisayardaki herşey sayılarla saklanır bu yüzden sayılar çok fazla önemli programlamada. stringdeki herbir karakter 0 ila 255 arasında sunulur.Strcmp nin fonksiyonu ise iki stringdeki her karaktere doğruca gitmektir ve eşit olmayanları bulabileceği kadar çabuk bulmaktır, rakamları karşılaştırır ve farkları ile döner. karakterler tabi tam istedigimiz gibi belli bir duzen icindedirler.. , A C den küçüktür ama K H dan büyüktür ve tüm büyük harfler tüm küçük harflerden büyüktür..

Genellikle bu fonksiyonu büyüktür yada küçüktür şeklinde kullanmıyoruz . nedeni ise özelliklerini pek bilmediğimizden .. Çoğunlukla 2 string in eşitliğini kontrol etmek için kullaniyorsunuzdur bu fonksiyonu.. örnek olarak bir playerin isminin "Osman" olup olmadiginin kontrolunde kullanirsiniz.

IF !STRCMP( "<src.name>", "Osman" )

tırnaklar gereksiz fakat hem acikca gostermek icin hemde icinde boşluklar bulunabilecegi icin koymamizda yarar var.

şimdi dusunuyorsunuz ki STRCMPI fonksiyonuna ne oldu.. Soyle aciklayalim sondaki I yi "case - insensitive" yani buyuk kucuk harfe duyarsiz olarak dusunun .. Boylece "A" ile "a" aynı şey olur.. Oncekinde ise nasildı ? Buyuk harfler buyuktu kucuk harflerden değilmi ? kullanimi ayni sekilde

IF !STRCMPI( "<src.name>", "Osman" )


STRMATCH

Sözdizimi:
STRMATCH( pattern, string )

Bu deyim STRCMPI den daha güçlüdür fakat daha yavaş çalışır.. Aynı STRCMPI gibi buyuk kucuk harfe karşı duyarsızdır.. Fakat buna ragmen geri donen deger biraz daha fazla duyarlidir. eger stringteki kelime pattern'dekine uyuyor ise true degeri doner. Uymuyor ise false doner.

Bu fonksiyonda joker karakterler (* - ? ) ve [] kullanarak kontrol ettirebilirsiniz.. Bunları açıklayalım.. Daha sonra ornelerle gosterecegiz.

* := hersey yerine gecer.. Herhangi sayida herhangi bir karakter demektir.

? := sadece bir karakter eşleştirir. Daha fazla yada daha az eşleştirme yapmaz.

[abc] := bir karakter setini kontrol ettirir. sadece icinde a b ve c gecenlere true degeri verir.

[a-z] := oncekinden farkli olarak a ile z arasindaki harfleri kontrol ettirir.

^ := Eger bir karakter setinin basina bunu koyarsaniz iceriginde bu karakter setinin gecmemesini istiyorsunuzdur.. [^abc] derseniz a - b ve c ye izin verilmez...

ufak da bi tablo yapmaya calisalim...

Pattern : Gecerli uyusan kelimeler:

test "Test" ,"test"

t* "test" ,"top" ,"tanjant" ,"teknik"

t??? "test", "tool", "tell"

??t? "with","both", "pati"

t[a-e]st "tast" , "tbst" , "tcst" , "tdst","test"

t[aeiouy]] "tast","test","tist","tost","tust","tyst"

t[^a]s* "toss","tussle","test","tuscon","tis"

[^ab]* "a" yada "b" ile baslamayan hersey
[ab]* "a" yada "b" ile baslayan hersey


Asagidakiler de diger ornekler.. sınırsız cogaltilabilir..

test
t*
te*
tes*
test*
*est
[abt]???
[a-t]???
[^a-e]???
[^a-e]*

if strmatch( "Osman", "<src.name>" ) seklinde kullanildigi gibi

if strmatch( "Osman", "[os]*n" da bize true degerini vermesi gerekir..


STRTOUPPER

Sözdizimi :
STRTOUPPER(string)

String degerine girilen ifadenin tum harflerini buyuk harfe cevirir. < > işaretleriyle kullanilir.
örnek :
<STRTOUPPER(string)> // geri donen "STRING"
<STRTOUPPER(StRiNg)> // geri donen "STRING"

STRTOLOWER

Sözdizimi :
STRTOLOWER(string)

Kullanimi ustteki gibidir. Fakat tam tersidir.. < > işaretleriyle kullanilir.

<STRTOLOWER(dehset SCRIPT YAZARim)> //donen deger "dehset script yazarim" olacaktir..

STRLEN

Sözdizimi :
STRLEN(string)

Bu fonksiyonun Eval fonksiyonu ile beraber kullanılması daha uygun olacaktir.. < > isaretleriyle kullanilir.

<EVAL strlen(dehsetim dehset)> // geri donen deger 15 olacaktir . Bosluklar da sayilmaktadir.



Yorumlar

Henüz yorum yapılmamıştır.

Oylamalar

Oylama :
Üyelerin oylama ortalaması (10 dışında) : Henüz Oylanmamış   
Oylar: 0

Benzer Sayfalar

SayfalarYorumlarGönderenTarih
Tilepic Kullanımı0Mrs.xariyla23-02-2012
Tag - Var Kullanımı0tyr1027-04-2011
Ultima Online Skill Kullanımı0TheRaskol22-09-2009
Sendpacket Kullanımı0TheRaskol09-08-2009
Argv ve Argn Kullanımı0TheRaskol09-08-2009


Keywords:

ultima online, RunUO, ultima online download, sphere scripting, role play, uo grafik, second age ultima, uo loop, macroman, pvp server, server kurulumu, sphere, multool, ml mulls, 56b 55r 55i, htmlgumps, client 4x, client edit, sphere release, osi, rp server, sunucular, ghost mouse, inside uo, kingdom reborn, stygian abyss, uo nasıl oynanır, mondain's legacy, age of shadows, world build, grandmaster, ultima online pvp, player dosyaları, ultima online indir, frp game, RunUO 1.0.0, razor, uo rice, hue editör, skill tools, ultima online patch, axis, world build, verdata, verdata patcher, map editör, gump editör, mul patcher, aos mulls, scriptler, anim edit, anim publish, hues mul, hosting vps, event dialog, account sistemi, skill gain, static yapımı,