![]() |
Programm beenden: Ja oder Nein?
Ich habe ja schon in einem anderen Thread gefragt, doch ich sollte dafür ein neues Thema aufmachen.
Folgenden Vorschlag habe ich bekommen:
Delphi-Quellcode:
So, das funktioniert nun wunderbar. Könnte mir nun vielleicht jemand erklären warum das so funktioniert? Was bedeutet zum Beispiel 'Tital' etc. Ich hab echt keine Ahnung.
if Application.MessageBox('Programm Beenden?', 'Tital', 36) = 6 then
begin Application.Terminate; end; Noch was: Ich hab versucht mal einfach einzugeben: MessageBox('Hallo') - kann sowas überhaupt funktionieren? Oder wozu ist die MessageBox gut? |
Re: Programm beenden: Ja oder Nein?
Kuck dir mal das Ereignis OnCloseQuery von TForm an. Und nimm besser Close anstatt Application.Terminate.
|
Re: Programm beenden: Ja oder Nein?
Zitat:
tital sollte wohl titel heißen ^^ Zitat:
Zitat:
Ich könnte jetzt auch nur das entsprechende Thema copy&pasten. |
Re: Programm beenden: Ja oder Nein?
Zitat:
Zitat:
Zitat:
Greetz alcaeus [edit]Zu langsam :oops:[/edit] |
Re: Programm beenden: Ja oder Nein?
Du kannst Dir (neben MessageBox quasi) evtl. auch ma MessageDlg anschau'n.. Und wie gesagt OnCloseQuery (-> für Nachfrage vor Schließen des Fensters), damit haste eigentlich alles
Dass Dir MessageBox(...) = 6 wenig sagt, kann ich verstehen, lies in dem anderen Thread, wo Du das her hast, mal weiter, da stehen auch Konstanten, die das bissl vereinfachen :zwinker: Gruß Stephan |
Re: Programm beenden: Ja oder Nein?
Zitat:
Greetz alcaeus |
Re: Programm beenden: Ja oder Nein?
Delphi-Quellcode:
Also 'Programm Beenden?' ist die Frage und 'Tital' ist ja die Überschrifft von diesem ganzen Kasten. Aber was bedeutet das 36 und das =6?
Application.MessageBox('Programm Beenden?', 'Tital', 36) = 6
Muss bei MessageBox eigentlich immer Application. vorstehen? |
Re: Programm beenden: Ja oder Nein?
Hallo Frankie, außerdem würde ich statt der numerischen Werte (hier 6 und 36) immer die Konstanten nehmen, mit den Zahlen kann man ja so nichts anfangen. In der OH steht z.B. folgendes:
Zitat:
Viele Grüße, Sebastian //EDIT Zitat:
Die 6 ist der Rückgabewert der Funktion wenn der Benutzer auf "Ja" geklickt hat. Dafür gibt es die Konstante IDYES, wie in der Hilfe beschrieben. Man sollte also schreiben:
Delphi-Quellcode:
Viele Grüße, Sebastian
Application.MessageBox('Programm Beenden?', 'Tital', MB_YESNO) = IDYES
|
Re: Programm beenden: Ja oder Nein?
Die Ideallösung für dein Problem sähe folgendermaßen aus:
Schreib ins OnCloseQuery Ereignis deiner Mainform folgendes:
Delphi-Quellcode:
CanClose := MessageDlg('Wirklich beenden?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes; Mfg, Interceptor |
Re: Programm beenden: Ja oder Nein?
Das sind Werte für Konstanten. Und nicht um sonst gibt es seöbige, damit nach später noch weiß, was die Zahlen bedeuten. Und in der Delphi Hilfe, wie schon von meinem Vorposter gesagt, findest du alle konstenten, die du mit or verknüpfen kannst.
Das TApplication musst du voranstellen, wenn du die VCl Kapsleung von der API Funktion ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 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