Forum: PC-Programmierung HTML, AJAX, JavaScript, Merkwürdigkeit im Script


von Jochen (Gast)


Angehängte Dateien:

Lesenswert?

Das Java Scipt Programm in bmp.htm holt Daten (measure.dat) von einem 
Server und trägt 5 Werte in das Array 'param' ein (p[22] bis p[26]). Die 
eingetragenen Werte werden zusammen mit vorhandenen Werten in eine 
Temperatur und einen rel. Feuchtewert umgerechnet.

Das merkwürdige in diesem Programm ist die Zeile, die mit *1 
gekennzeichnet ist.

Ist die Zeile aktiv, dann gib sie '0-number' aus. Das ist die 
Merkwürdigkeit Nummer 1, da der Wert in P[22] 144 ist. Die Zeile, die 
mit *2 markiert ist, gibt korrekt '114-number' aus. Temperatur und rel. 
Feuchte werden richtig berechnet.

Klammere ich die *1-Zeile aus, kommt es zu Merkwürdigkeit Nummer 2. Es 
wird mit falschen Werten gerechnet und das Ergebnis ist dem 
entsprechend.

Das Programm ohne *1-Zeile nimmt die Startwerte (0, 0, 0, 0, 0) für 
p[22] bis p[26] und mit *1-Zeile die Werte, die vom Server kommen.


Wo liegt das Problem? Wie kann die *1-Zeile bewirken, dass verschiedene 
Werte zur Berechnung herangezogen werden?

von TestX .. (xaos)


Lesenswert?

der 23. Wert in deinem "param" array ist 0.
Demzufolge ist param[22] ==> 0

Da es sich um den Typ "Number" handelt, gibts typeof(param[22]) nunmal 
"number" zurück - also wo ist dein Problem ? ;)

von Jochen (Gast)


Lesenswert?

Andi ... schrieb:
> der 23. Wert in deinem "param" array ist 0.
> Demzufolge ist param[22] ==> 0
>
> Da es sich um den Typ "Number" handelt, gibts typeof(param[22]) nunmal
> "number" zurück - also wo ist dein Problem ? ;)

Das Problem ist, dass du das Problem nicht verstanden hast. Bitte noch 
einmal durchlesen. Insbesondere die beiden Fragen.

von g457 (Gast)


Lesenswert?

> Wo liegt das Problem?

Du hast Nebenläufigkeiten nicht verstanden.

HTH

von Udo N. (weinbauer73)


Angehängte Dateien:

Lesenswert?

Arrays fangen mit [0] an und nicht mit [1]. Daher ist param[22] = 0. 
Wenn du loadmeasure() in getparam() nach param[26] = s[6] (Zeile 141) 
setzt, sollte es klappen. Ajax ist asynchron!

von Jochen (Gast)


Lesenswert?

Udo Neist schrieb:

> Arrays fangen mit [0] an und nicht mit [1]. Daher ist param[22] = 0.
> Wenn du loadmeasure() in getparam() nach param[26] = s[6] (Zeile 141)
> setzt, sollte es klappen. Ajax ist asynchron!

Das mit dem 'Ajax ist asynchron!' habe ich verstanden und es beseitigt 
auch Merkwürdigkeit 1 und 2.

Vielen Dank für deine Hilfe.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.