BASCOM: Wie kann ich "if ( ((a<=1) || (a>=15)) && ((b<7) || (b>9)) )" umsetzen

OP #1201455
Lesenswert?

Liebes Forum,
ich bin gerade gezwungen, ein Projekt in BASCOM umzusetzen.
Nun frage ich mich, wie ich die folgende C-Anweisung in Bascom umsetzen 
kann:
1
if ( ((a<=1) || (a>=15)) && ((b<7) || (b>9)) )...
Den ersten Teil habe ich. Der lautet
1
If a <= 1 Or a >= 15  Then...

Aber wie schaffe ich es nun, die zusätzlich "Und"-Verknüpfung zu 
realisieren?
Die Klammern sind ja nicht ganz unwichtig. Die erlaubt mir der Compiler 
aber nicht.

Danke schon mal im Voraus.

Phili
Gast #1201469
Lesenswert?

Zu BASCOM kann ich nix sagen, aber
1
If (a <= 1 Or a >= 15) And (b < 7 Or b > 9) Then
2
    ' Mach was
3
End If

geht in allen Basic-Dialekten, die mir bisher so untergekommen sind (VB, 
VBA, QuickBasic, OpenOffice Basic. Hast du vielleicht eine der Klammern 
vergessen?

Ansonsten:
1
If a <= 1 Or a >= 15 Then
2
    If b < 7 Or b > 9 Then
3
        ' Mach was
4
    End If
5
End If

ist funktional äquivalent. Oder
1
If a > 1 And a < 15 Or b >= 7 And b <= 9 Then
2
    ' Mach was anderes oder nix
3
Else
4
    ' Mach was
5
End If

vorausgesetzt, dieses BASCOM hält sich an die Konvention, daß ohne 
Klammern Und vor Oder gerechnet wird.
OP #1201510
Lesenswert?

Hallo ihr beiden,
danke für die Hinweise.
Ja, in separaten If-Anweisungen kann man das Problem lösen. Bin ich 
irgendwie nicht drauf gekommen.

Die Klammerlösung funktioniert leider nicht, weil Bascom Klammern in 
If-Cases nicht akzeptieren will.

Danke!

Schönen Abend noch!

Phili

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