![]() |
Re: Programm beenden: Ja oder Nein?
Hi!
Leserlich sieht das ganze so aus:
Delphi-Quellcode:
Dann versteht man es eigentlich auch, oder?
if Application.MessageBox('Programm Beenden?', 'Tital', MB_ICONQUSTION + MB_YESNO) = IDYES then
begin Application.Terminate; end; Ciao fkerber |
Re: Programm beenden: Ja oder Nein?
Da es sich um eine bitweise or-Verknüpfung handelt nicht mit + verknüpfen, sondern mit or.
Und im richtigen Ereignis sieht es so korrekt aus:
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin if Application.MessageBox('Anwendung schließen?', 'Projekt1', MB_ICONQUESTION or MB_YESNO) = ID_YES then CanClose := True else CanClose := False; end; |
Re: Programm beenden: Ja oder Nein?
Hi!
Warum geht es auch mit + und warum sollte man dann or benutzen? Eben war noch ein Schreibfehler drin, also hier mal korrekt:
Delphi-Quellcode:
Ciao fkerber
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin if Application.MessageBox('Programm Beenden?', 'Titel', MB_ICONQUESTION + MB_YESNO) = IDYES then CanClose:=true else CanClose:=false; end; |
Re: Programm beenden: Ja oder Nein?
Danke. Hab den entsprechenden Eintrag in der Delphi Hilfe gefunden. THX. :thuimb:
|
Re: Programm beenden: Ja oder Nein?
Zitat:
z.B.:
Code:
Wenn Du das addierst kommt 0011 raus. Du kannst also noch immer prüfen welcher der Beiden werte gesetzt wurde weil jeder aus einem eindeutigen bit besteht.
MB_YESNO = 0001 = Dezimal 1
MB_ICONQUESTION = 0010 = Dezimal 2 Aber was machst Du jetzt:
Code:
Bei der Addition bekommst Du 1010 = Dezimal 8 Jetzt wird es schwer zu prüfen ob die Bits für Button MB_YESNO gesetzt wurden. Genauer gesagt es ist unmöglich ;-)
MB_YESNO = 0101 = Dezimal 5
MB_ICONQUESTION = 0011 = Dezimal 3 Bei einer Binären OR-Operation bekommst Du aber:
Code:
Und somit könntest Du es wieder mit einer AND Operation ausmaskieren.
0101
OR 0011 ---- 0111 |
Re: Programm beenden: Ja oder Nein?
Hi!
Danke für die Info, Sharky. Hatte den Quellcode so von Sakura aus dem anderen Thread übernommen. Ciao fkerber |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 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-2025 by Thomas Breitkreuz