If mit %VAR% = XX

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

nacken012
Posts: 71
Joined: 22 Jul 2016, 14:39

If mit %VAR% = XX

12 Aug 2019, 00:54

Hallo

Eine kleine Frage:
Ist der folgende Befehl nicht möglich ?

Code: Select all

If %ReadSchlossUser1% = Ritter ; um diese Zeile geht es
goto, Ritter
return

Ritter:
msgbox, Ritter
Die Werte stehen in einer ini Datei, mit dem Befehl:
msgbox, %ReadSchlossUser1%

Gibt er mir den Wert aus, aber bei der
If bekomme ich nichts zurück, geht auch keine msgbox auf.
gregster
Posts: 4976
Joined: 30 Sep 2013, 06:48

Re: If mit %VAR% = XX

12 Aug 2019, 01:21

Geht doch:

Code: Select all

ReadSchlossUser1 := "Ritter"		; zu Demo-Zwecken

;expression-Syntax/If (Ausdruck): https://ahkde.github.io/docs/commands/IfExpression.htmhttps://ahkde.github.io/docs/commands/IfExpression.htm
If (ReadSchlossUser1 = "Ritter")	; If ReadSchlossUser1 = Ritter 		-> geht auch, aber nicht empfohlen ("traditionelle Syntax")
	goto, Ritter
return

Ritter:
msgbox, Ritter
Du versuchst in deinem Code ja offenbar die traditionelle If-Syntax (also if Var = Wert) zu verwenden (ohne Klammern, also keine Ausdrucks/expression-Syntax), aber da heisst es für die linke Seite des If-Vergleichs:
https://ahkde.github.io/docs/commands/IfEqual.htm#Parameter wrote:Var
Eine Variable (EingabeVar). Prozentzeichen müssen weggelassen werden, es sei denn, eine Doppelreferenzierung ist beabsichtigt
Daher würd man If ReadSchlossUser1 = Ritter schreiben - aber empfohlen ist eigentlich If (ReadSchlossUser1 = "Ritter") (If (Ausdruck)s-Syntax), siehe oben.

In beiden Fällen werden Variablennamen auf der linken Seite korrekt ohne %s aufgelöst; Unterschiede der beiden Schreibweisen gibt es aber auf der rechten, der Wert-Seite: in der einen Syntax werden Zeichenketten ohne " " geschrieben, in der anderen mit; auch bei Variablen auf der rechten Seite gibt es Unterschiede)

Du weißt ja bestimmt, dass goto etwas verpönt ist und leicht zu unübersichtlichem Spaghetti-Code führen kann. Ok, in diesem (kurzen) Beispiel besteht die Gefahr nicht... aber mal so als Gedanke ;)
nacken012
Posts: 71
Joined: 22 Jul 2016, 14:39

Re: If mit %VAR% = XX

12 Aug 2019, 01:35

Vielen Dank, klappt super

Ja an dem goto arbeite ich noch an meinem Hauptscript

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: swagfag and 2 guests