Avatar billede penta Nybegynder
16. marts 2005 - 14:23 Der er 10 kommentarer og
1 løsning

Hvad gør jeg med meddelsen NaN ?

Jeg har følgende kode hvor jeg indlæser et var fra et tekstdoc. til et mc. Jeg vil nu gerne benytte værdien fra variablen(pris1) fra min tekstfil(som i øvrigt er 10.000). Mit problem er at når jeg forsøger at trace(designpris) så udskrives "undefined" og når jeg forsøger at lægge designprisen sammen med værdien fra mit input, så udskrives NaN - hvad skal jeg gøre. Jeg kan godt trace(_root.design_pris.pris1)

//indlæs variable fra tekstfil
loadVariables("priser.txt", "_root.design_pris");//design_pris er navnet på mc

//variable
designpris = _root.design_pris.pris1;//pris er navnet på variablen i tekstfilen
input_antal1.text = 0;//et inputfelt


this.onEnterFrame = function() {

HER ER MIT PROBLEM  trace(designpris);//udskriver undefined
HER ER MIT PROBLEM  total_designpris.text = Number(input_antal1.text)*Number(designpris);//udskriver NaN 
 
};

(total_designpris er navnet på et dynamisk tekstfelt converteret til et graphic - her vil jeg have skrevet resultatet ud)

Håber det er til at forstå og håber at høre noget hurtigst mulig
Avatar billede barklund Nybegynder
16. marts 2005 - 14:54 #1
Så hurtigt bliver dine variabler altså ikke hentet. Du bør itested bruge LoadVars - så kan du nemlig opdage, præcis hvornår dine variabler er tilgængelige.

var hent_pris = new LoadVars();
hent_pris.load("priser.txt");
hent_pris.onLoad = function() {
    designpris = Number(this.pris1);
    trace("designpris er ankommet og er "+designpris);
}
input_antal1.restrict = "0-9";
input_antal1.onChanged = function() {
    trace("så er der skrevet "+Number(this.text));
    total_designpris.text = Number(this.text) * designpris;
}

Fjern bare traces, når du er færdige med dem :)

--
Morten Barklund
Avatar billede penta Nybegynder
16. marts 2005 - 15:07 #2
Hej Morten
Når jeg bruger det du har skrevet så er den første besked "designprisen er ankommet og er NaN"
Avatar billede barklund Nybegynder
16. marts 2005 - 15:11 #3
Well, så er det jo nok ikke et tal - prøv at trace:

hent_pris.onLoad = function() {
    designpris = Number(this.pris1);
    trace("designpris er ankommet og er "+this.pris1+" => "+designpris);
}

For hvis den for eksempel er "Kr. 27,-" så kan flash selvfølgelig ikke bruge den til beregninger :)

--
Morten Barklund
Avatar billede barklund Nybegynder
16. marts 2005 - 15:12 #4
Hov, du har jo skrevet:

//pris er navnet på variablen i tekstfilen

Men alligevel har du i scriptet skrevet pris1. Hedder den 'pris' eller 'pris1'? Ret lige til i scriptet derefter :)

--
Morten Barklund
Avatar billede penta Nybegynder
16. marts 2005 - 15:24 #5
Variablen i filen er pris1.
Når jeg benytter denne linie:
trace("designpris er ankommet og er "+this.pris1+" => "+designpris);
så er this.pris1 god nok - der skrives 10000, men designpris er NaN ?
Avatar billede barklund Nybegynder
16. marts 2005 - 15:43 #6
Kunne tyde på, at der var mellemrum eller linjeskift rundt om din variabels værdi. Hvordan ser din tekstfil ud? Skriv evt.:

&pris1=10000&
&pris2=20000&
...

Bare for at være helt sikker :)

--
Morten Barklund
Avatar billede penta Nybegynder
16. marts 2005 - 15:45 #7
hehe det var det mægtigt - hvor er jeg glad nu - tak for hjælpen :) Du er min ven :))
Avatar billede penta Nybegynder
16. marts 2005 - 15:45 #8
kunne du give mig et "svar" så får du de mange points :)
Avatar billede penta Nybegynder
16. marts 2005 - 15:57 #9
der var lige en sidste ting -

hele den sidste del virker ikke - absolut ingen reaktion på onChanged:

input_antal1.restrict = "0-9";
input_antal1.onChanged = function() {
    trace("så er der skrevet "+Number(this.text));
    total_designpris.text = Number(this.text) * designpris;
}
Avatar billede barklund Nybegynder
16. marts 2005 - 16:15 #10
Måske den hedder onChange - altså uden d.

Og et svar :)
Avatar billede barklund Nybegynder
21. marts 2005 - 22:13 #11
Håber du fandt ud af det - og tark for point :)
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