"FOR" (bei Bascom) geht nur mit einer Variable
Anders geht's aber natürlich immer, z.B:
Code:For I = 1 To 3 J = LOOKUP( I , FOR_TAB) *Befehle, die I und J benutzen* Next I FOR_TAB: DATA 0, 1, 5, 9
Hallo,
ich möchte eine Schleife bauen, in der in jedem Schleifendurchlauf nicht nur die eigentliche Schleifenvariable I, sonder auch ein weiterer Integer J verändert wird. Bei den 3 Durchläufen soll sein:
I=1, J=1
I=2, J=5
I=3, J=9
Ich habe das jetzt folgendermaßen gelöst:
geht das auch eleganter, zB mit zwei variablen direkt in der for-zeile?Code:For I = 1 To 3 Select Case I Case 1 J = 1 Case 2 J = 5 Case 3 J = 9 End Select *Befehle, die I und J benutzen* Next I
Beste Grüße,
Benjamin
"FOR" (bei Bascom) geht nur mit einer Variable
Anders geht's aber natürlich immer, z.B:
Code:For I = 1 To 3 J = LOOKUP( I , FOR_TAB) *Befehle, die I und J benutzen* Next I FOR_TAB: DATA 0, 1, 5, 9
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
das sieht auf jeden fall schonmal kompakter aus. Ich werds erstmal so umsetzen, danke!
Das geht für deine Zahlen natürlich auch.Code:J=1 For I = 1 To 3 *Befehle, die I und J benutzen* j=j+4 Next I
Gruß
Rolf
gibt es keine möglichkeit j aus i zu berechnen:
zb: j = 1 + i * 4
i=1 --> j=1
i=2 --> j=5
i=3 --> j=9
ich wieß nicht wie die folge wieter geht aber für die drei Fälle stimmt die Formel
die folge geht garnicht weiter, bei I=3 ist bei mir schluss.
Ich hab nicht wirklich eine idee, wie ich die verschiedenen varianten bewerten soll, ich schätze mal, dass die von for_ro am schnellsten läuft... also werd ich die wohl auch nehmen.
Danke nochmal für eure Hilfe,
Benjamin
Da ist ein Unterschied zwischen elegant und schnell
Bei nur 3 Fällen ist am schnellsten, wenn es auch barbarisch aussieht
Die "FOR" Konstruktion und das Berechnen von J braucht mehr Code, als man glaubt.Code:I = 1 J = 1 gosub I_J_ROUTINE I = 2 J = 5 gosub I_J_ROUTINE I = 3 J = 9 gosub I_J_ROUTINE
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Lesezeichen