Hey Gerhard,
ich glaube das muss so lauten:
Code:$regfile = "m32def.dat" Dim A As Byte Dim B As Byte A = 10 B = 11 If A = 10 And B = 10 Then Print "Hallo" Else Print "Nicht Hallo" end IF
Hallo Kenner des Fachs !
Nun ich bin nicht gerade ganz "firm" in Sachen Bascom, aber das mir eine if..else solche Probleme macht hätte ich nie gedacht.
Hier mal mein Code, und ich weiss nicht warum.
Variablen festlegen usw...
Hier nun die Auswertung, es soll entweder PortB.0 HIGH oder LOW sein, bzw PortB.1Code:DIM _sec as Byte DIM _min as Byte DIM _hour as Byte ... DIM Ph1 as Byte DIM Pm1 as Byte DIM Ph2 as Byte DIM Pm2 as Byte ... Ph1 = 8 Pm1 = 30 Ph2 = 8 Pm2 = 31 ...
worüber sich der Compiler über die IF..Else Auswertungen beschwert : IF THEN expected ???Code:TestTime: If _HOUR = Ph1 AND _MIN = Pm1 then SET PORTB.0 else RESET PORTB.0 end IF if _HOUR = Ph2 AND _MIN = Pm2 then SET PORTB.1 else RESET PORTB.1 end if return
Vielleicht ist wer so nett, mir ein wenig helfen zu wollen.
Mit besten Grüssen und ein grosses Danke schon vorne weg...
Gerhard
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Hey Gerhard,
ich glaube das muss so lauten:
Code:$regfile = "m32def.dat" Dim A As Byte Dim B As Byte A = 10 B = 11 If A = 10 And B = 10 Then Print "Hallo" Else Print "Nicht Hallo" end IF
Geändert von Kampi (28.06.2013 um 19:51 Uhr) Grund: War Mist....Codebeispiel eingefügt.
Schaut ruhig mal auf meiner Homepage vorbei :
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Es gibt unterschiedliche Formen der Anwendung, als Einzeiler, welcher ohne End If auskommt und als Befehlsabfolge zwischen der If Then / Else /End If Anweisung.
Mach's einfach so wie in der Hilfe.
- - - Aktualisiert - - -
Es wird im Moment wieder Bascom gesprochen
Was Du meinst, ist C, da macht's 'nen Unterschied.
Hallo
versuchs mal so:
oh shit ..zu spätCode:TestTime: If _HOUR = Ph1 AND _MIN = Pm1 then SET PORTB.0 else RESET PORTB.0 end IF if _HOUR = Ph2 AND _MIN = Pm2 then SET PORTB.1 else RESET PORTB.1 end if return
..
Geändert von HeXPloreR (28.06.2013 um 19:57 Uhr)
Ich Danke Euch allen !!! Ja ich mach zu wenig in Bascom, sonst GCC oder Arduino-C . Ich habe es schon selber rausgefunden, mit Müseligem Auskommentieren habe ich es so, wie HexPlorer es postete, auch hinbekommen...
Danke nochmals ging ja l suuperschnell die Hilfe !!
Gerhard
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Ja auch gerade gesehen
Hab dann doch mal Sicherheitshalber Bascom angeschmissen und geschaut
War mir selber nicht ganz so sicher....dann gucke ich lieber noch mal nach!
Schaut ruhig mal auf meiner Homepage vorbei :
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
So soll es sein, schön
...ich stolper auch manchmal noch darüber das ich hinter dem else immer gerne gleich die Anweisung schreibe möchte.
Was war jetzt der Fehler?
Zeilenumbruch zwischen then/else und dem Befehl war zwingend, oder wie?
Gruß Ryoken
A mistake is evidence that someone tried to do something.
It`s not impossible - it just costs more
@Ryoken: Ja so geht es !
Code:'------------------------------------------------------------------------------- TestTime: If _HOUR = Ph1 AND _MIN = Pm1 then SET PORTB.0 else RESET PORTB.0 end IF if _HOUR = Ph2 AND _MIN = Pm2 then SET PORTB.1 else RESET PORTB.1 end if return '-------------------------------------------------------------------------------
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
@Ryoken: Ja, Zeilenumbruch ist zwingend nötig wenn man über mehrer Zeilen eine einzige IF abhandeln möchte, ansonsten geht es auch noch so wie MagicWSmoke schreibt - dann ohne "end if".
Das geht aber auch nur wenn jeweils eine einzige Anweisung ausgeführt werden soll:
Code:TestTime: If _HOUR = Ph1 AND _MIN = Pm1 then SET PORTB.0 else RESET PORTB.0 'end IF 'kann dann raus bleiben If _HOUR = Ph2 AND _MIN = Pm2 then SET PORTB.1 else RESET PORTB.1 'end if 'kann dann raus bleiben return
Lesezeichen