[autoit]
For $i=3 To 8 Step 1
Msgbox(0,"Test",$i)
Next
;Gibt es eine geschickte Möglichkeit nach $i=8 einen "letzten" Durchlauf mit $i=1 zu starten?
For $i=3 To 8 Step 1
Msgbox(0,"Test",$i)
Next
;Gibt es eine geschickte Möglichkeit nach $i=8 einen "letzten" Durchlauf mit $i=1 zu starten?
Naja das wäre z.B. mit If möglich
[autoit]For $i=3 To 9
If $i <> 9 Then
Msgbox(0,"Test",$i)
Else
Msgbox(0,"Test",1)
EndIf
Next
ZitatAlles anzeigenNaja das wäre z.B. mit If möglich
[autoit]For $i=3 To 9
[/autoit]
If $i <> 9 Then
Msgbox(0,"Test",$i)
Else
Msgbox(0,"Test",1)
EndIf
NextMsgBox soll im Code nur einmal vorkommen, ist das auch möglich?
Wenn dann fast nur so:
For $i=3 To 8
Box($i)
Next
Box(1)
Func Box($Zahl)
Msgbox(0,"Test",$Zahl)
EndFunc
Edit: Oder so:
Global $Folge[7] = [3,4,5,6,7,8,1]
[/autoit] [autoit][/autoit] [autoit]For $i In $Folge
Msgbox(0,"Test",$i)
Next
For $i=3 To 8 Step 1
Msgbox(0,"Test",$i)
If $i = 8 Then
$i = 1
EndIf
Next
Ungetestet.
Sonst nur AspirinJunkie's Version.
@ Sen das wär ne Endlosschleife
[autoit]For $i=3 To 9
If $i <> 9 Then
$ausgabe = $i
Else
$ausgabe = 1
EndIf
Msgbox(0,"Test",$ausgabe)
Next
Zitat$Zahl)
ZitatAlles anzeigenWenn dann fast nur so:
Spoiler anzeigen
[autoit]For $i=3 To 8
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Box($i)
Next
Box(1)Func Box($Zahl)
[/autoit]
Msgbox(0,"Test",$Zahl)
EndFuncEdit: Oder so:
Spoiler anzeigen
[autoit]Global $Folge[7] = [3,4,5,6,7,8,1]
[/autoit] [autoit][/autoit] [autoit]For $i In $Folge
[/autoit]
Msgbox(0,"Test",$i)
Next
ZitatAlles anzeigenWenn dann fast nur so:
Spoiler anzeigen
[autoit]For $i=3 To 8
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Box($i)
Next
Box(1)Func Box($Zahl)
[/autoit]
Msgbox(0,"Test",$Zahl)
EndFuncEdit: Oder so:
Spoiler anzeigen
[autoit]Global $Folge[7] = [3,4,5,6,7,8,1]
[/autoit] [autoit][/autoit] [autoit]For $i In $Folge
[/autoit]
Msgbox(0,"Test",$i)
Next
ich danke dir! nur diese $zahl verstehe ich nicht, das kommt ja wie aus dem nichts...
woher weiss $zahl was in ihm steckt?
gibts da auch $buchstabe? oder ähnliche befehle?
$zahl ist sozusagen eine Variable der Funktion
mit Box(1) gibst du $zahl den Wert 1
Box ist eine Funktion. (Stichwort >>Func<<)
$Zahl ist der erste Parameter dieser Funktion (kann den Parameter nennen wie ich will).
Innerhalb der Funktion kann dann diese Variable dann verwendet werden.
Ihren Wert bekommt sie beim Aufruf der Funktion ( Box($i) ).
Als ersten Parameter erhält die Funktion Box() also den Wert von $i.
Also erhält $Zahl in der Funktion Box() den Wert von $i.
ZitatBox ist eine Funktion. (Stichwort >>Func<<)
$Zahl ist der erste Parameter dieser Funktion (kann den Parameter nennen wie ich will).
Innerhalb der Funktion kann dann diese Variable dann verwendet werden.
Ihren Wert bekommt sie beim Aufruf der Funktion ( Box($i) ).
Als ersten Parameter erhält die Funktion Box() also den Wert von $i.
Also erhält $Zahl in der Funktion Box() den Wert von $i.
ja die funktion ist mir klar nur wusste ich noch nicht das man Variablen ohne = Werte zuordnen kann:)
Ich frag mich immer noch warum so umständlich.
[autoit]
For $i=3 To 8 Step 1
Msgbox(0,"Test",$i)
Next
For $i=1 To 8 Step 1
Msgbox(0,"Test",$i)
Next
Macht genau was du willst. Warum also nur eine Msg Box?
Ob du eine MsgBox 20x aufrufst, oder 2 10x macht keinen Unterschied o.o
Macht nicht was er will.
Er will keine Schleife mit Start $i=1 sondern nur einen Aufruf mit $i=1.
Ich denke das hier ist nur ein Beispielcode.
Wenn es tatsächlich nur eine Msgbox wäre könnte man diese problemlos noch einmal dahinter schreiben.
Ich denke sein Schleifeninhalt ist deutlich komplexer als nur eine MsgBox und dann macht Vermeidung von Codedopplung schon Sinn.
Ah okay, falsch verstanden.
Ich denke allerdings auch das der Code complexer ist.
Sonst würde er denke ich keine Frage stellen die man leichter lösen kann
m47:
Dadurch das es in der Func steht bekommt $zahl den Wert der in der aufgerufenen Functionen Box() stehenden Variable/ des in der Box() stehenden Wertes
ZitatAh okay, falsch verstanden.
Ich denke allerdings auch das der Code complexer ist.
Sonst würde er denke ich keine Frage stellen die man leichter lösen kann
danke an alle, die lösung mit dem array hat mir sehr geholfen, da sonst enorme codeverdopplung:)
wo kann dieses thema auf gelöst gesetzt werden ?