If else

Aus San Andreas Multiplayer UDF
Wechseln zu: Navigation, Suche

Vorwort

Eine if Anweisung hilft uns zu prüfen ob estwas wahr ist, diese benutzen wir immer dann wenn wir sicherstellen wollen das auch nur etwas passiert wenn es soll und auch nur "jetzt" so gebraucht wird.

Wir werden hier nur die if(ausdruck euch näher bringen, da man den Rest meist eher selten brauch. Ihr seht auch ohne Ausdruck ist das Proggen fast unddenkbar.

if (Ausdruck)

Ein einfacher if ausdruck brauch keine klammern, dieses werden wir nun mit einem kleinen Loop mit einem Toggle mal testen

Loop, 4
{
	Var := !Var
	if(Var == 1)
		MsgBox % "Die Var beinhaltet " Var
	else
		MsgBox % "Die Var hat diesmal " Var
}

Merke: Ein einzeiliger if Ausdruck benötigt keine "{ }"



Wollen wir jetzt jedoch einen Mehrzeiligen if Ausdruck machen, benötigen wir die Klammern.

Loop, 4
{
	Var := !Var
	if(Var == 1) {
		Var2 := Var ? "True" : "false"
		MsgBox % "Die Var beinhaltet " . Var . " und ist " . Var2
	} else {
		Var2 := Var ? "True" : "false"
		MSgBox % "Die Var hat diesmal " . Var . " und ist " . Var2
	}
}

Merke: Ein mehrzeiliger if Ausdruck benötigt "{ }"
Sobald mehr als eine Zeile für das if gebraucht werden müssen wir die Klammern setzen



mehrere if Anweisung koppeln

Wir können auch um platz zu sparen verschiedene if Anweisungen mit einander koppeln hierfür bietet AHK "or"(||) und "and"(&&) an. Was uns erlaubt if zu kombinieren

var := "1"
Loop, 4
{
	var2 := !Var2
	if(Var == 1 && Var2 == 1)
		MsgBox % "Var und Var2 enthalten beide " var
	else 
		MsgBox % "Var enthällt " . Var . " und Var2 " . Var2
}

Hier muss nur eine von beiden Vars 1 enthalten da wir hier Or nutzen

var := "1"
Loop, 4
{
	Var := !Var
	var2 := !Var2
	if(Var == 1 || Var2 == 1)
		MsgBox % "Var Enthällt " . Var . " und Var2 enthällt " . var2
}

Merke: or oder and kann man wie folgt nutzen
Als Text (or) (and) oder als Zeichensatz (||) (&&)



Ternärer Operator

Nun fragen sich sicherlich viele "Was ist das?", doch wir haben es hier auf der Seite schon verwendet.
ein "Ternärer Operator" ist nichts anderes wie ine kurzfassung von einer If Else anforderung

Wir können mithilfe einer Variable gleich ein If Else ausruck erzeugen

Loop, 4
{
	
	Var := !Var 
	Var2:= (Var) ? "Ja" : "Nein"
	MsgBox % Var2
}

Zur erklärung, in der Var2 Speichern wir das ergebniss unseren Ternärer Operator, diesen weisen wir mit hilfer der () die Variable zu die er checken soll wobei das ? für If Else steht. Ein Ternärer Operator kann hier jedoch nur War oder falsch sein nicht wahr oder Wahr und Falsch ("if" "else if" "else")

Merke: Ternärer Operator kann nur zwischen wahr falsch unterscheiden
Zwichen ? wahr : falsch muss immer ein Leerzeichen sein(&&)