Právě je stř 23. kvě 2012 23:26:23
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[otázka] Kde spraviť mod ? od D4n09
[Ms 2012] NHL 2009 Remake od SweS
[HELP] stock & undefined symbol od WilliamKrizak
asus k8v-x od 7.Host
[HELP] Pickupy ! od AvestX

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 

Jako ve škole
1 78%  78%  [ 7 ]
2 0%  0%  [ 0 ]
3 0%  0%  [ 0 ]
4 0%  0%  [ 0 ]
5 22%  22%  [ 2 ]
Celkem hlasů : 9
Autor Zpráva
 Předmět příspěvku: [TuT] string.inc aneb práce se stringy
PříspěvekNapsal: úte 30. bře 2010 17:44:28 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: pát 28. lis 2008 22:39:53
Příspěvky: 873

V tomhle tutoriálu vypíšu práci se stringy pomocí funkcí, které obsahuje string.inc. Tyto funkce mohou být velmi důležité a určitě by je měl zvládnout každý pawner. Tutoriál rozdělím na 2 části, toto je 1. a obsahuje:
Citace:
strlen
strpack
strunpack
strcat
strmid
strdel

[hr][/hr]
strlen

[hr][/hr]
Velmi používaná funkce, která slouží k tomu, aby zjistila délku textového řetězce (počet znaků). Jako výslednou hodnotu vrací tuto délku.

Syntaxe:
Citace:
strlen(string[]);

Např.:
Citace:
new SL = strlen("Délka tohoto stringu je 33 znaků.");
printf("%d", SL);

V tomto případě vrátí délku 33.
[hr][/hr]
strpack

[hr][/hr]
Tato funkce nám zabalí textový řetězec do proměnné.

Syntaxe:
Citace:
strpack(string[], text[], maxlength=sizeof string);

Např.:
Citace:
new string[40];
strpack(string, "Text bude \"zabalen\" do proměnné string.");
print(string);

V tomto případě vypíše text v uvozovkách "Text bude "zabalen" do proměnné string."
V případě, že bychom použili
Citace:
strpack(string, "Text bude \"zabalen\" do proměnné string.", 7);

Vypíše to "Text bude "zabalen" do prom"
A proč?
1. část = "Text" poté je mezera a nastává druhá část
2. část = "bude" potom je další mezera
3. část = "\"" - " to bere jako samostatné slovo
4. část = "zabalen"
5. část = "\""
6. část = "do"
7. část = "prom" a to kvůli tomu, že "ě" a jiné diakritické znaky bere jako mezeru...
Proto se to také nazývá balení, kvůli tomu že se text "namáčkne" do méně znaků. To se vyplatí pokud bychom chtěli vypsat string delší jak 1024 znaků.
[hr][/hr]
strunpack

[hr][/hr]
Je to opak předchozí funkce. Myslím že k tomu nemusím moc dodávat.

Syntaxe:
Citace:
strunpack(out[], string[], maxlenght=sizeof out)

Myslím že stačí říct že do proměnné out vepíše rozbalený string.
[hr][/hr]
strcat

[hr][/hr]
Tato funkce zkopíruje text do proměnné stejně jako strpack, jen bez zabalení.

Syntaxe:
Citace:
strcat(string[],text[],maxlength=sizeof string);

Např.:
Citace:
new string[40];
strcat(string, "Text se přepíše do proměnné string.");
print(string);

Pokud tedy použijete
Citace:
strcat(string, "Text se přepíše do proměnné string.", 2);

Tak se vypíše pouze "T" protože 2 je považována jako první znak.
[hr][/hr]
strmid

[hr][/hr]
Vyjme řetězec znaků od zadané pozice do zadané pozice a zbytek uloží do proměnné.

Syntaxe:
Citace:
strmid(string[],text[],start,end,maxlength=sizeof dest);

Např.:
Citace:
new string[40];
strmid(string, "Knihovna pro děti.", 3, 19);
print(string);

V tomto případě vyjmeme první 3 znaky a zbytek vložíme do proměnné string. Co nám to vypíše si můžete domyslet ;)
[hr][/hr]
strins

[hr][/hr]
Tato funkce vloží zadaný string do jiného stringu v určeném místě.

Syntaxe:
Citace:
strins(out[],string[],pos,maxlength=sizeof string);

Např.:
Citace:
new outp[40] = "Kni pro děti";
strins(outp, "ho*na", 3);
print(outp);

Zde je to zcela evidentní co se nám vypíše.
[hr][/hr]
strdel

[hr][/hr]
Jak už název napovídá, tato funkce smaže danou část stringu

Syntaxe:
Citace:
strdel(string[],start, end);

Např.:
Citace:
new string[40] = "Malý velký muž";
strdel(string, 5, 11);
print(string);

Jak je vidět tak nám print vypíše "Malý muž". Toto je asi všem jasné
[hr][/hr]
Tímto dnes skončím, je toho celkem dost... Kdo si to zapamatuje přičtěte si 5% k těm vašim "pawno skillům" :D


Offline
 Profil  
PříspěvekNapsal: úte 30. bře 2010 17:47:58 
Sean Johnson "Sweet"
Sean Johnson "Sweet"
Uživatelský avatar
Registrován: pon 29. čer 2009 17:47:40
Příspěvky: 3165
Bydliště: Petrovice u Sedlčan

nj furt good :D 10/10...
Udělej prosím ještě float.inc :( nwm co ty funkce znamenaj a na wikinu mě nebaví chodit :D

_________________
Obrázek
Obrázek
Obrázek

[FS] Titanic


Offline
 Profil  
PříspěvekNapsal: úte 30. bře 2010 17:49:32 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: pát 28. lis 2008 22:39:53
Příspěvky: 873

Kureci Rizek píše:
nj furt good :D 10/10...
Udělej prosím ještě float.inc :( nwm co ty funkce znamenaj a na wikinu mě nebaví chodit :D

Mou rychlostí by to tu mohlo být ještě dneska :-D


Offline
 Profil  
PříspěvekNapsal: úte 30. bře 2010 17:51:49 
Sean Johnson "Sweet"
Sean Johnson "Sweet"
Uživatelský avatar
Registrován: pon 29. čer 2009 17:47:40
Příspěvky: 3165
Bydliště: Petrovice u Sedlčan

Tak dělej :D

_________________
Obrázek
Obrázek
Obrázek

[FS] Titanic


Offline
 Profil  
PříspěvekNapsal: úte 30. bře 2010 17:54:02 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 04. pro 2008 12:15:11
Příspěvky: 4563
Bydliště: @home

Myslim že už to tu je od chytraka, ae dobře vysvětleny 8/10 (za to že to tu už je- myslim)

_________________
Omlouvám se všem, které jsem tu někdy urazil, dal jim ban nebo jim provedl cokoliv jiného, co se jim nelíbilo.

Twitter: @Cinska_polivka
Last.fm: Chinese_soup
XMPP (Jabber): Cinska_polivka@jabbim.com"
IRC: Chinese_soup @ IRCNet, Freenode, CZFree


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: