Hallo, Leute, ich habe eine Frage. Angenommen sind "A" und "B" meine Variablen. Die können einen Wert bis 10 haben. Ist will jetzt schauen, ob A= 2 UND B=4 ist. Wie machen ich das Syntaxmäßig? Habe damit irgendwie noch nichts zu tun gehabt. Soll ETWA so aussehen: If A=2 (UND???) B=4 then gosub Treffer Else return End if Wie ist das denn richtig geschrieben? Danke Gruss Alex
>Wie ist das denn richtig geschrieben?
Das steht in dem gottverschissenen Handbuch von BASCOM.
Das solltest du mal lesen. Oder kannst du das auch nicht?
Mit einem "AND". Aaaaaber: BASCOM erlaubt nur 1 Operand (nicht mehr und nicht weniger) pro Operation. Also musst Du das so prorammieren:
1 | Dim Flag As Bit |
2 | Dim A As Byte |
3 | Dim B As Byte |
4 | |
5 | Flag = 1 |
6 | If A <> 2 Then Flag = 0 |
7 | If B <> 4 Then Flag = 0 |
8 | If Flag = 1 Then |
9 | Gosub Treffer |
10 | EndIf |
Ja, BASCOM ist etwas unflexibel in mancher Hinsicht... Gruß Jonathan
kein Wunder, wenn in diesem Forum einige ausrasten http://avrhelp.mcselec.com/index.html?if_then_else_end_if.htm
>Mit einem "AND". Aaaaaber: BASCOM erlaubt nur 1 Operand
hm, nicht so gut. was machen ich, bei meinem Aktuellen Beispiel:
Int_mcp:
Gosub Lesen
Return
Lesen:
Disable Interrupts
Mcp2515_read_register Rxb0dlc
Wert1 = Canin
Mcp2515_read_register Rxb0d0
Wert2 = Canin
Mcp2515_read_register Rxb0d1
Wert3 = Canin
Mcp2515_read_register Rxb0d2
Wert4 = Canin
If Wert1 = 3 And Wert2 = 160 And Wert3 = 15 And Wert4 = 0 Then
Goto Bin_hier
Else
Goto Abfrage
End If
so wie du es vorgeschlagen hast, sieht das etwas "unhandlich" zu sein.
Gruss Alex
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.