Avatar billede larsbaun Nybegynder
06. oktober 2003 - 14:04 Der er 54 kommentarer og
1 løsning

Ny variabel i dyn.text felt via button

Jeg har et dynamisk tekst felt hvor jeg i "var" feltet
definerer følgende værdi :

_root.wss0.number1

Nu vil jeg så skifte værdien ud på feltet hver gang jeg trykker på en knap , dvs at trykkes der på knappen får det dynamiske tekstfelt værdien

_root.wss0.number2

og næste gang

_root.wss0.number3 osv.

Hvordan gøres det ?

Der er f.eks 18 steps og når max nås skal det hente nr 1 igen ...

Hjælp
Avatar billede _k Nybegynder
06. oktober 2003 - 14:10 #1
er number1, number2, number3 osv. variabelnavne? Og indeholder de noget, eller er du også igang med at sætte det?

Hvis det er dynamisk genererede variabelnavne, skal du skrive noget i retning af: eval(_root.wss0.number" + aktuelleNummer);

Hvis ovenstående er helt hen i vejret, så prøv at beskrive dit problem mere konkret....
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 14:16 #2
Jeg henter noget xml ind i flash hvorefter jeg definerer hver variabel :

number1    = getNodeByName(stepnumber, 'number1').firstChild.nodeValue;
number2    = getNodeByName(stepnumber, 'number2').firstChild.nodeValue;

og det er så dem jeg godt vil skifte imellem
Avatar billede hoejrup Nybegynder
06. oktober 2003 - 14:19 #3
on (release) {
  i++;
  if (i > 18) {
    i = 1;
  }
  _root.wss0.felt = _root["number" + i];
}

/per
Avatar billede jakwag Nybegynder
06. oktober 2003 - 14:19 #4
du kan bare bruge text propertien til textfeltet:

textFeltNavn_txt.text = number1;

eller:

textFeltNavn_txt.text = number2;
Avatar billede jakwag Nybegynder
06. oktober 2003 - 14:20 #5
nå, havde ikke lige set det med de 18 steps... : )
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 14:28 #6
hoejrup - jeg kan ikke få det til at virke ...

mit tekstfelt har følgende værdier:

instance name = number
var: = _root.wss0.number1

Jeg har prøvet at smidde din kode ind på min knap med det virker ikke.

Det skal lige siges at jeg ikke på forhånd ved hvor mange steps der er ..
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 14:37 #7
Følgende virker :

on (release) {
  _root.wss0.number1 = _root.wss0.number2;
}

Men det virker selvsagt kun en gang
Hvordan laves en tæller der kan automatisk ligger en til og når værdin i feltet er tomt eller null så går den til 1 igen ...
Avatar billede gulekings Nybegynder
06. oktober 2003 - 14:48 #8
Hvis det du skriver der virker, så burde det her også virke!?
on (release) {
  i++;
  if (i > 18) {
    i = 1;
  }
  _root.wss0.number1 = _root.wss0["number" + i];
}
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 14:54 #9
det gør det også men det er også en lille bitte smule anderleds end det per hoejrup skrev.

Så mangler jeg bare at den skal hoppe til 1 igen hvis værdien er tom !
Avatar billede gulekings Nybegynder
06. oktober 2003 - 14:56 #10
Det skulle det her stykke kode gerne sørge for, har du tjekket at den ikke gør det?
  i++;
  if (i > 18) {
    i = 1;
Avatar billede gulekings Nybegynder
06. oktober 2003 - 14:58 #11
hov, min fejl:
on (release) {
  i++;
  if (i > 18 || i="") {
    i = 1;
  }
  _root.wss0.number1 = _root.wss0["number" + i];
}
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 15:01 #12
det virkede ikke:

**Error** Scene=Scene 1, layer=Layer 23, frame=1:Line 3: Left side of assignment operator must be variable or property.
      if (i > 18 || i="") {

Total ActionScript Errors: 1     Reported Errors: 1
Avatar billede gulekings Nybegynder
06. oktober 2003 - 15:03 #13
on (release) {
  i++;
  if (i > 18 || i=="") {
    i = 1;
  }
  _root.wss0.number1 = _root.wss0["number" + i];
}
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 15:06 #14
når man når til 18 og trykke på knappen - sker der ikke noget og trykker man så igen hopper den til 2 ?
Avatar billede gulekings Nybegynder
06. oktober 2003 - 15:10 #15
Det gør den ikke hos, der går den fra 18 til 1
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 15:13 #16
kan det have noget at gøre med at jeg fra start har defineret
text feltet til at henter data var "number1" ?
Avatar billede gulekings Nybegynder
06. oktober 2003 - 15:16 #17
åh jo:
on (release) {
  i++;
  //trace(i)
  if (i > 17 || i=="") {
    i = 0;
  }
}
og så du starte med at definere var "number0"
Avatar billede gulekings Nybegynder
06. oktober 2003 - 15:20 #18
ok.. jeg er ret forvirret idag..
Jeg tror at den kode du skal bruge er følgende:
on (release) {
  i++;
  if (i > 18 || i=="") {
    i = 1;
  }
  trace(i)
}
Avatar billede gulekings Nybegynder
06. oktober 2003 - 15:21 #19
Du kan så state med at sætte i til 0, fx i keyframen:
i=0
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 15:34 #20
Jeg kan se at den tæller op nu i output vinduet men der sker intet på skærmen

jeg har brugt en var der hedder v og har kun 4 steps men det skulle ikke ændre noget.

on (release) {
  v++;
  if (v > 4 || v=="") {
    v = 1;
  }
    trace(v)
  _root.wss0.number0 = _root.wss0["number" + v];
}
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 15:38 #21
ahh - det er sikkert fordi det er variabel number0 og  den har jeg ikke defineret , jeg starter med at definerer var number1

Jeg prøver lige at lave det om .....
Avatar billede gulekings Nybegynder
06. oktober 2003 - 15:47 #22
ellers, hvis du har mulighed for det, så læg filen ud eller mail den til mig, så kigger jeg på det..?
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 15:48 #23
nu har jeg ændret min xml til at starte med number 0 derved får jeg et blankt felt når den når til 4 - eller 18 i dit eks.
Men fra 0 - 4 er der jo også 5 enheder så ændre jeg det til v til max at være 3
tæller den fin op , men springer ellers 1 over !!!

Jeg har sat v=0 på frame 1

on (release) {
  v++;
  if (v > 4 || v=="") {
    v = 1;
  }
    trace(v)
  _root.wss0.number0 = _root.wss0["number" + v];
}
Avatar billede gulekings Nybegynder
06. oktober 2003 - 15:51 #24
if (v > 4 || v=="") {
    v = 0;
}
prøv det!
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 15:52 #25
- jeg har også en knap hvor den skal tælle ned ...

Hjælper du mig helt i land så begge knapper virker - smider jeg 40 point oven i !! ellers får du selvfølig de 120 for tak for hjælpen.
Avatar billede hoejrup Nybegynder
06. oktober 2003 - 15:53 #26
on (release) {
  v++;
  if (v > 4 || v=="") {
    v = 0;
  }
    trace(v)
  _root.wss0.number0 = _root.wss0["number" + v];
}

/per
Avatar billede hoejrup Nybegynder
06. oktober 2003 - 15:53 #27
Hvis den skal tælle ned: v--;

/per
Avatar billede hoejrup Nybegynder
06. oktober 2003 - 15:54 #28
on (release) {
  v--;
  if (v <= 0 || v=="") {
    v = 18;
  }
    trace(v)
  _root.wss0.number0 = _root.wss0["number" + v];
}

/per
Avatar billede gulekings Nybegynder
06. oktober 2003 - 15:57 #29
Ja - jeg er helt sikkert enig med hoejrup.. ;)
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:02 #30
Når man når til 4 og trykker på knappen igen bliver den bare stående , men i output vinduet tæller den godt nok ned til 0 ?

Jeg har også rette i mit xml doc til at starte med number 0 og jeg har også rettet der hvor jeg henter min xml ind til at starte med 0 :

number0    = getNodeByName(stepnumber, 'number0').firstChild.nodeValue;

Så hvad kan der være galt ??? - der er også problemer med 1 når man tæller baglæns , der hopper den fra 2 til 4 ....

on (release) {
  v--;
  if (v <= 0 || v=="") {
    v = 4;
  }
    trace(v)
  _root.wss0.number0 = _root.wss0["number" + v];
}
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:03 #31
jeg har også prøvet at rette v=4; til v=3;
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:05 #32
når man tæller baglæns viser output vinduet 3 , 2 , 1 , 3 osv.
derved når den aldrig til 0 igen !
Avatar billede gulekings Nybegynder
06. oktober 2003 - 16:08 #33
Det har gør at du kan komme helt ned på nul..
on (release) {
  v--;
  if (v < 0 || v=="") {
    v = 4;
  }
}
Avatar billede gulekings Nybegynder
06. oktober 2003 - 16:10 #34
prøv at trace "v" og _root.wss0.number0 og se om de stemmer overens.
Avatar billede hoejrup Nybegynder
06. oktober 2003 - 16:12 #35
Det lyder mystisk, for det virker udemærket i mit program.
Det er helt sikkert, fordi din 'load af data' funktion ikke er bygger korrekt op.

/per
Avatar billede hoejrup Nybegynder
06. oktober 2003 - 16:14 #36
Hvis den skal blive 0, så skulle det virke nu.

/per
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:18 #37
I kan se mine filer på www.widex.com/lba-test

der ligge følgende :wss_8.fla og global.asi , de ligger der de næste 4 min !
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:20 #38
jeg arbejder med 2004 - hvad har i ?
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:21 #39
fla filen er nu gemt som mx !
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:25 #40
så er tiden gået og jeg sletter filerne ...
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:28 #41
Min load funktion kommer ikke med nogen fejl , så hvad det skulle være ved jeg ikke :

System.useCodepage = true;
xmldata = new XML();
xmldata.ignoreWhite = true;
xmldata.onLoad = function(success) {
xmldata.ignoreWhite = true;
if (success) {
        var i, max = 30, top = this.childNodes;
        for (i = 0; i < max; i++) {
            _root["wss"+i].init(top[i]);
        }
    }
}



xmldata.load("http://sti/wss_1.xml");
Avatar billede gulekings Nybegynder
06. oktober 2003 - 16:35 #43
jeg sletter dem når du siger "til".
Jeg mener problemet er, at når v bliver "0", så sætter var variablen _root.wss0.number0 til sig selv.. den går jo ikke! Så jeg har ændret variablens navn til var0 - du kan bare lave den om hvis du vil.. kan du bruge det?
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:36 #44
det virker fint , bortset fra at den starter med ingenting og herefter 3 ?
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:37 #45
Til !
Avatar billede gulekings Nybegynder
06. oktober 2003 - 16:49 #46
http://www.hvadmeddigselv.dk/E/wss_8.fla
endelig skulle den være der.. bare sig til igen
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:51 #47
Kanon - ligger du lige et svar  !!!

øh - tør man spørge - hvad så med tilbage ?
Avatar billede gulekings Nybegynder
06. oktober 2003 - 16:52 #48
virker tilbage ikke?? den tæller da 4,3,2,1,4??
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:52 #49
UNDSKYLD  - den var der - tusinde tak for hjælpen ....
Avatar billede gulekings Nybegynder
06. oktober 2003 - 16:53 #50
np! jeg har slettet filerne igen ;)
Avatar billede gulekings Nybegynder
06. oktober 2003 - 16:55 #51
Er det ok  at jeg bruger dine filer til lidt privat studie.. jeg er nemmelig helt ny i behandling af XML!? Ellers sletter jeg bare filerne igen sæfølig!
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:55 #52
den virkede - ligger gulekings lige et svar ! TAK !
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:55 #53
Jepper
Avatar billede larsbaun Nybegynder
06. oktober 2003 - 16:56 #54
øhh - lige hurtigt nok - jeg opretter lige et spørgsmål med tillægs point
Avatar billede gulekings Nybegynder
06. oktober 2003 - 16:56 #55
swØØt
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