Avatar billede henrik61 Nybegynder
20. februar 2003 - 01:52 Der er 9 kommentarer og
1 løsning

creatTextField loop...

Hej
Havd gør jeg forkert?
Flg. ståri en text.txt fil:
navn1=Per&navn2=Lars&navn3=Keld

Jeg henter det ind i Flash ved hjælp af:
loadVariablesNum("data.txt", 0);

Nu vil jeg gerne lave et loop der der udskriver dem i et tekstfield. Jeg gør flg.
for (var i = 1; i<4; i++) {
    _root.createTextField(["tekst"+i], i, 0, [i+50], 50, 50);
    ["tekst"+i].type = "dynamic";
    ["tekst"+i].border = 1;
    ["tekst"+i].variable = "[\"navn\"]+i";
}
Men det virker ikke. For at tjekke om den udskriver noget overhovedet har jeg gjort flg.
for (var i = 1; i<4; i++) {
    _root.createTextField("tekst", i, 0, [i+50], 50, 50);
    tekst.type = "dynamic";
    tekst.border = 1;
    tekst.variable = "navn1";
}
Hvilket selvfølgelig kun giver mig den første post. Nogle gode forslag?
Henrik
Avatar billede hoejrup Nybegynder
20. februar 2003 - 10:46 #1
["tekst"+i].variable = eval(navn+i);

/per
Avatar billede henrik61 Nybegynder
20. februar 2003 - 11:35 #2
Hej Per
Det virker desværre ikke. Laver jeg en trace på navn kan jeg se at den har fat i navn og udskriver navn1,navn2,navn3 - men stadigvæk ikke noget i mn movie
Henrik
Avatar billede mat Nybegynder
20. februar 2003 - 11:47 #3
for (var i = 1; i<4; i++) {
    _root.createTextField(["tekst"+i], i, 0, i*50, 50, 50);
    _root["tekst"+i].type = "dynamic";
    _root["tekst"+i].border = 1;
    _root["tekst"+i].text = _root["navn"+i];
}

..og husk nu lige at det tager et par øjeblikke inden dine variabler fra tekstfilen er inde, hvorfor det er en god ide med et lille loop der tjekker om de nu osse er der når de assignes til dit tekstfelt.

-mat
Avatar billede henrik61 Nybegynder
20. februar 2003 - 12:10 #4
Hej mat
Ja det er der henad, nu laver den border på de 3 text felter men den putter ikke noget indhold i. Jeg har lavet en if for at tjekke om værdierne er hentet.
Min text fil ser sådan ud: navn1=Per&navn2=Keld&navn3=Lars&done=4
I flashen således:
if (done=4) {
    for (var i = 1; i<4; i++) {
        _root.createTextField(["tekst"+i], i, 0, i*50, 50, 50);
        _root["tekst"+i].type = "dynamic";
        _root["tekst"+i].border = 1;
        _root["tekst"+i].text = _root["navn"+i];
    }
} else {
    gotoAndPlay(1);
}
trace(done);
den udskriver 4 - så den får loaded txtfilen ind

Henrik
Avatar billede mat Nybegynder
20. februar 2003 - 12:12 #5
if (done == 4)
Avatar billede mat Nybegynder
20. februar 2003 - 12:15 #6
..og du behøver heller ikke de der array-brackets rundt om "tekst"+i i din createTextField-metode
Avatar billede henrik61 Nybegynder
20. februar 2003 - 12:33 #7
Hej mat
Det virker nu 1000 mange gange tak -nu skal du bare have dine point - svar lige igen
Henrik
Avatar billede mat Nybegynder
20. februar 2003 - 12:39 #8
oki, men et lille hint: lad være med at afvise svar før du lukker tråden helt ;)

mvh mat
Avatar billede henrik61 Nybegynder
20. februar 2003 - 12:51 #9
Ja det er en af de mange som jeg gør forkert i dette livsforløb - men om ikke andet her er dine point
Henrik
Avatar billede mat Nybegynder
20. februar 2003 - 12:52 #10
takker der dér :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester