Ich möchte mir ausgelesene Werte in einem Label anzeigen lassen. Das funktioniert auch so:
Damit das immer aktualisiert wird, steckt der Befehl in einer Endlosschleife mit Sleep(50).
Durch das schnelle Wiederholen flackert aber das Label.
Das möchte ich verhindern, indem ich nur Überschreibe, falls der Wert sich seit dem letzten Durchlauf der Schleife geändert hat. Habe das wie folgt versucht mit einer If Abfrage umzusetzen:
Das funktioniert aber nicht. Das Label behält den im Gui definierten Anfangswert.
Was muss ich anders machen?
Edit: Bin gerade dabei, einen Lösungsansatz zu testen: Statt Not und = nehme ich <>. Irgendwie scheint das zu funktionieren. Kann mir einer erklären, wo der unterschied zwischen "größer oder kleiner" und "nicht gleich" ist ? O.o
Edit 2: Ja, funktioniert jetzt perfekt. Der neue Code:
Bin aber immer noch auf der Suche nach einer Erklärung.
Code:
GUICtrlSetData($targethplabel, $targethpcurvalue & "/" & $targethpmaxvalue)
Durch das schnelle Wiederholen flackert aber das Label.
Das möchte ich verhindern, indem ich nur Überschreibe, falls der Wert sich seit dem letzten Durchlauf der Schleife geändert hat. Habe das wie folgt versucht mit einer If Abfrage umzusetzen:
Code:
If Not GUICtrlRead($targethplabel) = $targethpcurvalue & "/" & $targethpmaxvalue) Then GUICtrlSetData($targethplabel, $targethpcurvalue & "/" & $targethpmaxvalue) EndIf
Was muss ich anders machen?
Edit: Bin gerade dabei, einen Lösungsansatz zu testen: Statt Not und = nehme ich <>. Irgendwie scheint das zu funktionieren. Kann mir einer erklären, wo der unterschied zwischen "größer oder kleiner" und "nicht gleich" ist ? O.o
Edit 2: Ja, funktioniert jetzt perfekt. Der neue Code:
Code:
If GUICtrlRead($targethplabel) <> $targethpcurvalue & "/" & $targethpmaxvalue) Then GUICtrlSetData($targethplabel, $targethpcurvalue & "/" & $targethpmaxvalue) EndIf