/ Forside / Teknologi / Multimedie & design / Flash / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Flash
#NavnPoint
bentjuul 4251
molokyle 1978
Klaudi 1488
jhvp 1265
pallenoc 1160
katekismus 1020
Fnollerpi.. 790
slander 510
Dr.Disco 500
10  Flash77 500
Variabler of For-løkker
Fra : Peter Ingemann Hanse~


Dato : 05-05-02 14:26

En masse tekst bliver importeret og variablerne har næsten samme navn.
Variablerne er navngivet: menu1, menu2, menu3 osv helt op til menu44.

Jeg skal undersøge hvorvidt nogle af variablerne er tomme for tekst og da
jeg ikke gider at lave 44 If-konstruktioner lavede jeg det sådan her. Hvis
variablen er tom udskrives de en textbox1 eller ryger de i textbox2.
If-løkkens sammenligningstal, 2, er åbentbart længden af en tom variabel -
jeg tænker det har noget med liniskift i variablen at gøre (men det er også
lige meget for længden af en tom variabel er 2)

for (i=0; i<45; i++) {
p = menu add i;
o = length(p);
if (p <= 2) {
_root.textbox1 = p add ", " add _root.textbox1
} else{
_root.textbox2 = p add ", " add _root.textbox2
}
}

Det der selvfølgelig sker er at den tæller længden op på variablens navn og
da længden af ordet 'menu' er på 4 tegn plus det dynamiske tal i så bliver
alle længderne lig med 6 (menu10 til menu44)eller 5 (menu1 til menu9).
Det var ikke det der var formålet - formålet var at tælle variblens indhold
op - jeg fatter godt selv fejlen og sytnes at det er fair nok at den gør som
den gør men jeg kan ikke finde ud af at rette den.

Hilsen fra Peter



 
 
Søren Bjerrum (05-05-2002)
Kommentar
Fra : Søren Bjerrum


Dato : 05-05-02 16:36

Hej Peter

Det magiske 2 tal må være "" som angiver at det er en tekst.
Jeg har leget lidt med dit problem, måske kan du bruge dette:

onClipEvent (load) {
_root.Menu1 = "";
_root.Menu2 = "";
_root.Menu3 = "Dette er 3";
_root.Menu4 = " og dette er 4";
i = 1;
}
onClipEvent (enterFrame) {
//4 fordi jeg kun har 4 variabler og ikke 44
if(i<=4) {
if (_root["Menu"+i].length!=0) {
_root.textbox1 = _root.textbox1+","+_root["Menu"+i];
}
i++;
}

}

Du kan jo bruge:
trace(_root["Menu"+i]);
for at se hvad der evalueres i [ ]

Søren Bjerrum
www.mijau.dk


"Peter Ingemann Hansen" <dingemann@hotmail.com> skrev i en meddelelse
news:3cd53302$0$97306$edfadb0f@dspool01.news.tele.dk...
> En masse tekst bliver importeret og variablerne har næsten samme navn.
> Variablerne er navngivet: menu1, menu2, menu3 osv helt op til menu44.
>
> Jeg skal undersøge hvorvidt nogle af variablerne er tomme for tekst og da
> jeg ikke gider at lave 44 If-konstruktioner lavede jeg det sådan her. Hvis
> variablen er tom udskrives de en textbox1 eller ryger de i textbox2.
> If-løkkens sammenligningstal, 2, er åbentbart længden af en tom variabel -
> jeg tænker det har noget med liniskift i variablen at gøre (men det er
også
> lige meget for længden af en tom variabel er 2)
>
> for (i=0; i<45; i++) {
> p = menu add i;
> o = length(p);
> if (p <= 2) {
> _root.textbox1 = p add ", " add _root.textbox1
> } else{
> _root.textbox2 = p add ", " add _root.textbox2
> }
> }
>
> Det der selvfølgelig sker er at den tæller længden op på variablens navn
og
> da længden af ordet 'menu' er på 4 tegn plus det dynamiske tal i så bliver
> alle længderne lig med 6 (menu10 til menu44)eller 5 (menu1 til menu9).
> Det var ikke det der var formålet - formålet var at tælle variblens
indhold
> op - jeg fatter godt selv fejlen og sytnes at det er fair nok at den gør
som
> den gør men jeg kan ikke finde ud af at rette den.
>
> Hilsen fra Peter
>
>



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste