PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anzahl von Schleifen festlegen ?



gandalf
09.10.2006, 23:52
Hallo Leute,
ich hab hier noch ein Verständnis Problem-

dieses Lauflicht läuft bei der ersten do..loop Schleife nach links und bei der zweiten do..loop Schleife zurück. Nennen wir das Durchlaufen beider Schleifen einen Zyklus.

Wie kann ich jetzt z.B festlegen, daß 5 Zyklen durchlaufen werden ?



'knightrider_m8.bas aus roboternetz von teslanicola 28.03.05

$regfile = "m8def.dat"
'$crystal = 8000000

Dim A As Byte
Config Portd = Output
A = 1 'A= dezimal 1

Do
Do
Portd = A 'PortB = 1 <= &B00000001
Waitms 100
Rotate A , Left , 1 'Stelle A als Byte dar,Schiebe 1Bit um eine Stelle nach links
Loop Until A = 128 'solange bis A = &B1000000

Do
Portd = A ' schreibe A = &B10000000 nach PortB = PortB.7=1
Waitms 100
Rotate A , Right , 1 'Stelle A als Byte dar,Schiebe 1Bit um eine Stelle nach rechts
Loop Until A = 1 'solange bis A = &B0000001

Loop
End 'end program


'A=00000001
'A=00000010
'A=00000100
'A=00001000
'A=00010000
'A=00100000
'A=01000000
'A10000000

'und jetzt wieder zurück

verri
10.10.2006, 01:10
Hallo Gandalf,

leg eine Hilfvariable z.B B an : Dim b as byte.
und mit 1 füllen :B=1
Dann die Variable vor deinem letzten Loop hochzählen : incr B
zum Schluss noch deine Hauptschleife mit loop until b>=6 verlassen.
6-1 = 5 Durchläufe

Fertig

Gruß Verri

rathma
10.10.2006, 11:54
Also ich würde, wenn ich eine schleife nur x mal durchlaufen lassen will lieber
for i = 1 to x
...
next i
machen.

gruss
markus

gandalf
12.10.2006, 23:01
Danke für die Hilfe,
werd ich mal ausprobieren