Forum: PC-Programmierung Schleifenprogrammieren bei VirtualBasic 6


von elektrorick (Gast)


Lesenswert?

Guten tag (;
Bin gerade dabei mit VirtualBasic6 eine Leiterplatte mit 8 LED's über 
den paralellport anzusteuern. Nun meine Frage:
wie kann ich das Programm durch Schleifen(mit 10er Potenzen) 
vereinfachen?
Bis jetzt siehts so aus:

Lauflicht links nach rechts

Private Sub Command1_Click()
M1:
Call PortOut(&H378, 128)
Pause 1
Call PortOut(&H378, 64)
Pause 1
Call PortOut(&H378, 32)
Pause 1
Call PortOut(&H378, 16)
Pause 1
Call PortOut(&H378, 8)
Pause 1
Call PortOut(&H378, 4)
Pause 1
Call PortOut(&H378, 2)
Pause 1
Call PortOut(&H378, 1)
Pause 1
GoTo M1
End Sub

Lauflicht kumulativ

Private Sub Command3_Click()
M1:
Call PortOut(&H378, 1)
Pause 1
Call PortOut(&H378, 3)
Pause 1
Call PortOut(&H378, 7)
Pause 1
Call PortOut(&H378, 15)
Pause 1
Call PortOut(&H378, 31)
Pause 1
Call PortOut(&H378, 63)
Pause 1
Call PortOut(&H378, 127)
Pause 1
Call PortOut(&H378, 255)
Pause 1
GoTo M1
End Sub

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Du meinst vermutlich Visual Basic.

Und jetzt sieh Dir doch einfach mal Deine Werte an:

128 - 64 - 32 - 16 ...

Die Startbedingung wird jeweils durch 2 geteilt.


x = 128

do
  x = x / 2
  output x
while x > 0



1 - 3 - 7 - 15 ...

Hier ist's nur einen Hauch komplizierter:

Die Startbedingung wird mit zwei multipliziert - und ausgegeben wird 
dieser Wert, nachdem 1 abgezogen wird.

x = 1
do
  x = x * 2
  output x - 1
while x < 256

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.