![]() |
Re: Standard-Dialoge
Es handelt sich hier aber im ein Set.
|
Re: Standard-Dialoge
oh. klar. sorry.
|
Re: Standard-Dialoge
@Luke: Normalerweise gebe ich Dir uneingeschränkt recht, da 00110100 + 00001100 eben 01000000 sind und nicht, wie evtl. erwartet 00111100.
Da die Konstanten aber von Microsoft klugerweise(?) so gewählt wurden, dass jeweils nur ein Bit gesetzt ist, kann man in diesem Fall wohlwollend darüber hinwegsehen (solange man nicht die kombinierten, wie mbYesNoCancel oder so addiert). @inherited: En contraire, mon ami. Das sind pure Integerkonstanten, auch die kombinierten. |
Re: Standard-Dialoge
Ändert nichts an der Tatsache das sich Sets ohne Probleme mit + zusammenprökeln lassen.
|
Re: Standard-Dialoge
Hallo,
Zitat:
Delphi-Quellcode:
Gruß Hawkeye
// aus "Dialogs.pas"
const mbYesNo = [mbYes, mbNo]; mbYesNoCancel = [mbYes, mbNo, mbCancel]; mbYesAllNoAllCancel = [mbYes, mbYesToAll, mbNo, mbNoToAll, mbCancel]; mbOKCancel = [mbOK, mbCancel]; mbAbortRetryIgnore = [mbAbort, mbRetry, mbIgnore]; mbAbortIgnore = [mbAbort, mbIgnore]; // aus "Windows.pas" const MB_OK = $00000000; MB_OKCANCEL = $00000001; MB_ABORTRETRYIGNORE = $00000002; MB_YESNOCANCEL = $00000003; MB_YESNO = $00000004; MB_RETRYCANCEL = $00000005; |
Re: Standard-Dialoge
Richtig. Nix da Integerkonstanten. In der Delphi-Hilfe ist TMsgBtn als enum definiert (mbOK, mbCancel...) und TMsgButtons als set of TMsgBtn. mbOkCancel und so weiter sind schließlich Set-Konstanten vom Typ TMsgButtons.
|
Re: Standard-Dialoge
Nur um Klarheit zu schaffen:
Hier handelt es sich um den Unterschied zwischen der Win32-API Funktion MessageBox und der entsprechenden Kapselung von Delphi unter dem Namen MessageDlg. Die erstere arbeitet natürlich mit Integerkonstanten, die man idealerweise mit den bitoperatoren kombiniert (or, and, xor) wobei die letztere mit Sets arbeitet, die man mit den Set-operatoren (gibts das Wort?) kombiniert - hierzu auch das ![]() |
Re: Standard-Dialoge
Ja, und wir haben die ganze Zeit über über MessageDlg gesprochen.
|
Re: Standard-Dialoge
Zitat:
|
Re: Standard-Dialoge
Ja bei Sets ist das '+' völlig in Ordnung und entspricht der Mengenoperation 'Vereinigung'. Das '*' wäre dann ein 'Schnittmenge'. In diesem Fall ist Or als Boolscher Operator Disjunktion sogar falsch.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 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