victor1
Böhse Onkelz - Denn wer keine Angst vorm Teufel hat Braucht auch keinen Gott
Dit is een gedeelte van mijn programma waarmee ik een kenteken in de
EEPROM. In dit geval slaat hij elke cycles weer de waarde op.
Cls
For x=0 To 7
dummy=ERead x ;read 3 chars from eeprom table
Print At 1,x+1, dummy
Next
kenteken1 = 0 ;Opstartwaarde
kenteken = 1 ;Opstartwaarde
While 1 = 1
If S1=0 Then Inc kenteken
If S2=0 Then Dec kenteken
DelayMS 10
If kenteken =39 Then kenteken = 0
If kenteken =255 Then kenteken = 39
kenteken1 = LookUp kenteken ,["ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890- "]
Print At 1 , plaats , kenteken1
Print At 2, plaats, "-"
DelayMS 200
EWrite plaats-1, [kenteken1]
If S4 = 0 Then plaats = plaats+1
If plaats = 9 Then plaats= 1
DelayMS 10
If S3 =0 Then GoTo Menu
Wend Ik heb het volgende al geprobeerd maar dat gaf foutmeldingen met compileren
If S4 = 0 Then plaats = plaats+1 and EWrite plaats-1, [kenteken1]
Ik wil de waarde pas opslaan als S4 ingedrukt wordt
Victor
@Arco
Als ik S4 indruk moet de cursor eentje opschuiven en de nieuwe waarde van kenteken1 opgeslagen worden
Ik heb de oplossing gevonden moest een : tussen ipv and, nu werkt het goed
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Breek die regel eens in wat kleinere stukjes.
De compiler begrijpt niet wat je daar mee bedoelt. (En ik ook niet...)
AND is een logische operatie, die gebruik je bijvoorbeeld voor:
If (S1=0 and S2=0) Then {...} //Voorbeeld: Als S1 en S2 ingedrukt zijn.
In jouw geval moet je hebben:
If (S4=0) Then {
plaats++
EWrite plaats-1, [kenteken1]
}
Met de dubbele punt ging het ook goed, omdat dat een nieuwe regel betekent in PicBasic, maar je moet ze ook nog even tussen haakjes zetten, anders slaat hij het altijd op in EEPROM.
Edit: Werkt niet, zie posts lager.
victor1
Böhse Onkelz - Denn wer keine Angst vorm Teufel hat Braucht auch keinen Gott
@Hagdos
Ik heb jouw voorbeeld geprobeerd maar krijg dan foutmeldingen in de compiler
In de manual staat dat ik het toch goed deed
Any commands on the same line after Then will only be executed if the comparison if fulfilled: -
IF VAR1 = 1 THEN HIGH LED : DELAYMS 500 : LOW LEDVictor
Owhja, het is een beetje weggezakt. De nette manier om in BASIC meerdere commando's op 1 IF uit te voeren is
IF S4 = 0 THEN
plaats++
EWrite plaats-1, [kenteken1]
ENDIF
Dan wordt alles tussen IF en ENDIF alleen uitgevoerd als S4 nul is.