Loop Noob :D

Tags:    c++

Hej folkens :)

Jeg har et lille problem jeg tror i kan hjælpe med...

jeg laver et kyskryds i c# der skifter farver osv, til det har jeg en ekstern boks der er et lyskryds. Den sender jeg så signaler til via c# og paralelporten gennem filen inpout.dll.

Mit program kører sådan her:

eksempel:
Rød lampe på boksen:

// Vælger adressen og tænder på lys

Lys 2:

Output(0x378, 0x02);
strobe();
Output(0x378, 0x81);
strobe();

Lys 3:

Output(0x378, 0x03);
strobe();
Output(0x378, 0x81);
strobe();

osv osv osv osv.....

Når mit program har kørt ville jeg gerne have det til at køre forfra igen og igen.

Hvordan sætter jeg det hele i et loop??

Og et andet krav til min opgave er at jeg skal kunne ændre forløbet via knapperne på den fysiske boks. Kan man godt ændre forløbet undervejs selvom det hele kører i loop?

Skal have f.eks alt til at blive rødt ved blot et enkelt tryk på boksen. Ved dog ikke lige kommandoerne til det, men er det muligt at afbryde det og gøre dette, selvom det kører i loop??

På forhånd tak :)





3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Du kan bare lave en løkke der kun kører når en boolsk værdi er sand

Du sætter den til falsk når du så vil ændre forløbet

Lad os antage du har en variabel der hedder:
bool runLoop = true;

while (runLoop)
{
Output(0x378, 0x02);
strobe();
Output(0x378, 0x81);
strobe();
}

Når du så trykker på boksen sætter du runLoop til false hvilket får din boks til at stoppe med at lyse



Indlæg senest redigeret d. 11.02.2010 18:06 af Bruger #11386
TAK!!!

Når du så trykker på boksen sætter du runLoop til false hvilket får din boks til at stoppe med at lyse


Hvordan sætter jeg den til false så? Og vil den så udføre en handling jeg vælger når jeg trykker, og fortsætte loopet efter?



Hvis det er C#, bør du nok spørge her:
http://www.udvikleren.dk/DotNet/Forum.aspx/15/



t