Právě je stř 23. kvě 2012 23:20:38
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ů: 3 ] 
Autor Zpráva
 Předmět příspěvku: [TUT] Statická proměná
PříspěvekNapsal: ned 22. lis 2009 13:16:30 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2877
Bydliště: Továrna na marmeželádu / Sklad bagrů

Obtiznost tutorialu: 4/5 -> Jen pro pokrocilejsi pawnery

Hi all.. Mam tu novy tut.. Brouzdal jsem wikinou a nasel funkci static.. Zde vam ji popisu.

Staticka promena se pouziva v situaci kdy chcete pracovat s hodnotou (treba v smycce for) a nechcete si davat new na zacatek scriptu. Tak date do danneho scriptu statickou promenou a ona si bude pamatovat svoji hodnotu pred ukoncenim jednoho loopu smycky..

Nejlepe pochopitelno na prikladu:

Takze tato funkce:
Kód:
public neco() //Nas vytvoreny public
{
   for(new i = 0;i < 3; i++) //Smycka na 3 loopy
   {
       new
               a = 1; //Tento new nam vytvori promenou a s hodnotou 1
      printf("%d", a); //Posle do logu cislo promenne
      a++; //pricte promene +1
   }//ukonci smycku
}//ukonci public


Tato funkce nam do logu napise pod sebou 1 1 1. Pricemz kdyz pouzijeme statickou promenou:
Kód:
public neco() //Nas vytvoreny public
{
   for(new i = 0;i < 3; i++) //Smycka na 3 loopy
   {
       static
               a = 1; //Vytvoreni staticke promenne s hodnotou 1
      printf("%d", a); //Posle do logu cislo promenne
      a++; //pricte promene +1
   }//ukonci smycku
}//ukonci public


Tak se nam do logu napise pod sebe 1 2 3. Staticka promena si totiz pamatuje svoji hodnotu kdyz se ukonci loop. Toho muzeme vyuzivat kdyz se nechceme otravovat s globalni promenou..

Pak je take globalni staticka promena. Tu jsem moc nepochopil ale podle vseho se muze odkazovat do includu daneho scriptu.. Na wiki samp je to napsane asi takto:
Spoiler:
global static

Global static variables are like normal globals but can only be used in the file in which they are declared:

File1:
Kód:
static
    gsMyVar = 4;

MyFunc()
{
    printf("%d", gsMyVar);
}

#include "File2"


File2:
Kód:
MyFunc2()
{
    // This is wrong as gsMyVar doesn't exist here
    printf("%d", gsMyVar);
}


static can also be applied to functions in the same way.


Takze vam k tomu moc nepovim..

Myslim, ze jsem sem napsal vsechno co jsem pochytil z wikiny.. Zkuste si ty priklady dat do prazdneho scriptu a opravdu to funguje.. Ja osobne to budu ted pouzivat v kazdem pripade kdy se to hodi :)

Ocekavam od vas kritiku, pripominky a samozrejme i podekovani :)

_________________
*Brain reset*


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Statická proměná
PříspěvekNapsal: ned 22. lis 2009 13:21:48 
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

No moc si nam toho nepověděl ale dobry .. ale třeba:

static
a = 1; //Vytvoreni staticke promenne s hodnotou 1


to ma bejt takhle? (s tim dalšim řadkem)

_________________
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  
 Předmět příspěvku: Re: [TUT] Statická proměná
PříspěvekNapsal: ned 22. lis 2009 13:22:35 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2877
Bydliště: Továrna na marmeželádu / Sklad bagrů

jj si to zkus me to funguje :)

_________________
*Brain reset*


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ů: 3 ] 

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: