Hallo und Willkommen in den Heiligen Hallen des Wissens und des Wahnsinns.
(1) Wofür stehen die Konstanten bei Application.Messagebox? (52 und 6)
Hab auf die schnelle nur diese
Übersicht gefunden. Die ist wohl aber etwas veraltet
Die "magischen Nummern" wie 52 und 6 sind ein
absolutes Verbrechen das dich jetzt schon viel unnötige Zeit gekostet hat! Das einzige was dir hier vielleicht noch helfen kann ist die Dokumentation zu den Befehlen: Die Hilfe versteckt sich hinter der F1-Taste und kann hier wirklich weiterhelfen:
Zu
TApplication.MessageBox(..) findest du die Werte die sich als dritter Parameter ("Flags") angeben lassen und was man zurückbekommt: Es sind Konstanten aus der
Unit "
WinApi.Windows".
Die "52" steht für "Schaltfläche ja+nein und bitte ein Ausrufezeiche-Icon". Kann man das aus einer "52" herauslesen? Nein. Deshalb sollte man lieber die vorgefertigten Werte "MB_YESNO" und "MB_ICONEXCLAMATION" dafür verwenden.
Vernünftig geschrieben sähe die Zeile also so aus:
if Application.MessageBox('Wirklich beenden?', 'Berechnung', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then [...]
oder noch besser:
Delphi-Quellcode:
const
flags: DWORD = MB_YESNO or MB_ICONEXCLAMATION;
begin
if Application.MessageBox('Wirklich beenden?', 'Berechnung', flags) = IDYES then [...]
Auch: Die offizielle Doku ist nicht perfekt, aber besser als sie auf den ersten Blick scheint. Grade bei Delphi sind die meisten Internet-Treffer die du finden wirst gerne 10-15 Jahre alt. Ich würde mich davor hüten.
Zu den weiteren Punkten bekommst du mit Sicherheit noch mehr Input