Hallo.
Heute möchte ich euch eine kleine UDF vorstellen, die benutzt werden kann, um if events zu machen wenn sich eine Variable ändert.
Diese UDF check nämlich ob sich eine Variable verändert hat oder nicht.
Ein kleines Beispiel habe ich auch angehängt, um zu zeigen, wie diese UDF funktioniert.
Einfach die Change.au3 in den Includes ordner im AutoIt verzeichnis stecken.
Hoffentlich ist sie nützlich für jemanden.
Bitte gebt mir auch Feedback
Vielleicht kann ich ja nochwas einbauen wenn ihr wollt.
Changed UDF
-
-
Hey!
Keiner antwortet seit Tagen m..... warum wohl
Könnte sein das Man das einfacher mit MsgBox() erledigen kann oderLg Kleiner
-
Ehm, naja, dies ist aber mehr für If Abfragen gedacht, oder weitere Funktionen.
-
- Offizieller Beitrag
Mal ganz Ehrlich. Für was soll das ganze gut sein? Mit deinen Funktionen ist es weitaus mehr Aufwand als der direkte Vergleich und zudem noch auf eine Variable beschränkt.
Dein Beispiel:Spoiler anzeigen
[autoit]#include <Change.au3>
[/autoit] [autoit][/autoit] [autoit]$a = 20 ; Die Variable wird mit 20 belegt
[/autoit] [autoit][/autoit] [autoit]
_SetCompVar($a) ; Meiner UDF wird gesagt, das sie ab sofort checken soll, ob sie sich verändert.
$a = InputBox("Gebe eine Zahl ein!", "Gib eine Zahl ein die nicht 20 ist, und danach gib 20 ein. Du wirst merken das es klappt.")
; Die Variable verändert sich, wenn ihr nicht 20 eingebt.If Changed($a) = True Then ; Wenn die Variable verändertwurde, dann führe CodeBlock durch.
[/autoit]
MsgBox(0, "", "Verändert")
;Anderer Code kann auch verwendet werden.
ElseIf Changed($a) = False Then ; Wenn die Variable nicht verändert wurde, diesen CodeBlock ausführen.
MsgBox(0, "", "Unverändert")
EndIfOhne deine UDF:
[autoit]$a = 20
[/autoit]
If InputBox("Gebe eine Zahl ein!", "Gib eine Zahl ein die nicht 20 ist, und danach gib 20 ein. Du wirst merken das es klappt.") <> $a Then
MsgBox(0, "", "Verändert")
Else
MsgBox(0, "", "Unverändert")
EndIf -
Hallo Raupi
Ich wusste, dass du negativen Feedback geben würdest, aber diese UDF ist halt für Funktionen gedacht, mein Beispiel ist ja eig. auch nur ganz Simple. -
Feedback ist immer sollte immer als gut empfunden werden. Raupi hat doch ganz sachlich gesagt dass man sowas selten braucht. und er hat ja auch recht.
wenn man eine variable später nochmal mit sich selbst vergleichen möchte dann tut man das halt einfach. man speichert sie sich in ner anderen variable und vergleicht sie später dann. dafür braucht man keine 2 funktionen sondern 2 zeilen
$var_alt = $var
...if $var_alt = $var then msgbox(0,"", "Verändert")
mehr braucht man nicht. das kann wohl jeder selber.