hat es einen Grund warum For Next Schleifen nicht mit Arrays genutzt werden können, den ich im Moment nicht sehe?
Code: Alles auswählen
Dim Reihe(1)
For Reihe(0) = 1 To 10
For Reihe(1) = 1 To 10
; hier passiert was
Next
Next

Code: Alles auswählen
Dim Reihe(1)
For Reihe(0) = 1 To 10
For Reihe(1) = 1 To 10
; hier passiert was
Next
Next


Aha, ok - also nix mit Arrays, Schade.ts-soft hat geschrieben:Ja, es werden nur einfache Variablen vom Typ Integer als Zähler unterstützt. Keine Arrays, keine Float usw.
Aber der Absturz des Compilers ist ein Bug.
ich nixe englisch kannRSBasic hat geschrieben:Na dann lets go: http://www.purebasic.fr/english/posting ... e=post&f=4
Es geht ja (zumindest mit PB 4.60 x86) nicht mal dies:rolaf hat geschrieben:hat es einen Grund warum For Next Schleifen nicht mit Arrays genutzt werden können, den ich im Moment nicht sehe?
Code: Alles auswählen
Dim Reihe(1) For Reihe(0) = 1 To 10 For Reihe(1) = 1 To 10 ; hier passiert was Next Next
Code: Alles auswählen
For i.q = 1 To 100
;...
NextAlso warum sollte 'For' Arrays unterstützen?---------------------------
PureBasic
---------------------------
Zeile 1: 'For' unterstützt keine Quad-Variablen.
---------------------------
OK
---------------------------
Diese Aussage ist übrigens nicht richtig, denn 'i.q' ist eine Variable für ganze Zahlen, und der ihr hier initial zugewiesenen Wert 1 ist eine ganze Zahl.PB-Hilfe hat geschrieben:Die For : Next Schleife arbeitet ausschließlich mit Ganzzahlen, sowohl bei den Ausdrücken als auch der Step Konstante.
Weils nett wäre und ich damit etwas optimieren hätte können.Nino hat geschrieben:Also warum sollte 'For' Arrays unterstützen?

Code: Alles auswählen
Dim Reihe.i(1)
#MAX_RECURSION = 10
Macro ForEx(Var, startValue, endValue, stepValue = 1)
CompilerIf Defined(FOR_EX_STEP_VALUE, #PB_Array) = #False
Global Dim FOR_EX_STEP_VALUE.i(#MAX_RECURSION)
Global FOR_EX_STEP_VALUE_RECURSION = 0
CompilerEndIf
Var = startValue
FOR_EX_STEP_VALUE(FOR_EX_STEP_VALUE_RECURSION) = stepValue
FOR_EX_STEP_VALUE_RECURSION + 1
While (Var <= endValue)
EndMacro
Macro NextEx(Var)
Var + FOR_EX_STEP_VALUE(FOR_EX_STEP_VALUE_RECURSION - 1)
Wend
FOR_EX_STEP_VALUE_RECURSION - 1
EndMacro
ForEx(Reihe(0), 1, 10)
ForEx(Reihe(1), 1, 10)
Debug Str(Reihe(0)) + ", " + Str(Reihe(1))
NextEx(Reihe(1))
NextEx(Reihe(0))