![]() |
Bit invertieren mit Checkbox?
Moin !
Ich habe da gerade ein kleines Problem, man könnte auch sagen eine Gehirnblockade, denn es gibt sicher ne ganz einfach Lösung für mein Prob ... Also, ich progge da gerade an einem kleinen Tool um Mikrocontroller (Atmel) zu programmieren (Flash beschreiben). Nun muss ich dafür immer diverse Leitungen der seriellen Schnittstelle an-/abschalten. Je nachdem wie man den Adapter dafür aufbaut, muss man die Port Pins aber invertieren. Und da komm ich nicht weiter oder sagen wir mal ich finde keine einfache Lösung. Also, ich habe da eine Checkbox. Wenn die angehakt ist, dann soll eine Steuerleitung invertiert werden. Bsp: Im Normalfall setzte ich z.B. RTS(0). Bedeutet die RTS Leitung ist auf logisch 0. Nun setze ich den Haken. Wenn ich jetzt RTS(0) aufrufe wäre halt die Leitung logisch 1. Das könnte man nun ja so lösen: If checkbox.checked = True then RTS(1) else RTS(0) Aber das ist mir zu aufwändig, denn man muss das ja an zig Stellen einbauen. Gibt es nicht irgendwie sowas wie ... RTS(0 AND Checkbox.Checked) oder so in der Art? Also irgendeine Logikverknüpfung? Der Input der Procedure RTS ist übrigens Integer. Hoffe jemand hat da einen Tip ... |
Re: Bit invertieren mit Checkbox?
;-) not ;-)
![]() |
Re: Bit invertieren mit Checkbox?
Zitat:
und was ist 0 not 0 :?: |
Re: Bit invertieren mit Checkbox?
Moin !
Habs doch noch rausgefunden ... Die Lösung ist XOR RTS(0 XOR BoolToInt(Checkbox.checked)) |
Re: Bit invertieren mit Checkbox?
Bei einer SPS würde ich sowas wohl mit nem XOR machen ... so wird der Ausgang nur dann invertiert wenn der 2te Eingang high ist quasi n einschltbarer Inverter ^^
edit: misst :( n tick so langsam :mrgreen: |
Re: Bit invertieren mit Checkbox?
Ich würde eine Procedure SetRTS schreiben, die in Abhängigkeit des Zustands der Checkbox die Funktion RTS aufruft.
RTS(0 XOR BoolToInt(Checkbox.checked)) ist äquivalent zu RTS(BoolToInt(Checkbox.checked)) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz