Einfache Frage zu Bascom Syntax

Gast #2335134
Lesenswert?

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
Persönliche Seite #2335140
Lesenswert?

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
Gast #2335156
Lesenswert?

>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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren