![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Christian, Du bist ein Opfer der "Hierarchie der Operatoren" geworden. Sie ist in der Bedienungsanleitung zur Open-Macro und Open-Maxi genau beschrieben: Das AND hat einen höheren Rang als das OR und wird deshalb zuerst ausgeführt. Das ist bereits bei CCBASIC und vermutlich auch bei jeder anderen BASIC-Programmiersprache so. Wenn Du die Berechnungsreihenfolge anders festlegen willst, mußt Du Klammern setzen. Ein allgemeiner Tip: Wenn etwas nicht funktionieren will, solltest Du Variableninhalte und Hinweise auf den Programmfluß auf der Seriellen Schnittstelle mit dem OCBASIC-Befehl PRINT ausgeben. Die Kurzform von PRINT ist ein Fragezeichen ("?"). Die Ausgaben kannst Du dann auf dem PC mit TERMINAL32.EXE empfangen und das "TERMINAL.OUT" auswerten. So wie ich das in unten stehendem Programm realisiert habe. Freundliche Grüße Dietmar ' =========================================================================== ' OMAX - Hierarchie der Operatoren ' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 05. Juni 2023 ' =========================================================================== ' --- Definitionen ---------------------------------------------------------- INCLUDE "omax.def" 'Definitionen für die Open-Maxi DEFINE port1 PORT[9] DEFINE port2 PORT[10] DEFINE port3 PORT[11] ' --- Hauptprogramm --------------------------------------------------------- PrintSpc=ON 'Bei PRINT dezimale Zahlen mit führendem Leerzeichen ausgeben End2Host=ON 'Bei Programmende (siehe END) gleich in den Host-Modus wechseln ?"OMAX - Hierarchie der Operatoren" port1=ON 'wahr port2=ON 'wahr port3=OFF 'nicht wahr ?port1 '-1, also wahr ?port2 '-1, also wahr ?port3 '0, also nicht wahr ? ?port1 OR port2 AND port3 '-1, also wahr ?(port1 OR port2) AND port3 '0, also nicht wahr ? ?ON OR ON AND OFF '-1, also wahr ?(ON OR ON) AND OFF '0, also nicht wahr ?:?"Programmende." END 'Zurück in den Hostmodus. Neustart mit RETURN-Taste. ' --- Programmende ---------------------------------------------------------- Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |