Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ja / Nein Abfrage (https://www.delphipraxis.net/103019-ja-nein-abfrage.html)

N30N 8. Nov 2007 13:48


Ja / Nein Abfrage
 
Hi!


Ich hab mal ne Frage: Ich bräuchte so eine Art Messagebox, welche zwei oder mehrere Antwortmöglichkeiten hat.

In Basic hieß das glaube mal YesNoBox, aber das ist schon ewig her.


Beispiel: Wollen sie formatieren? >JA< >Nein<


Ich weiss, dass es möglich ist, nur wie ist mir (mal wieder) nciht klar.


Danke schonmal für Tipps & Tricks, der entsprechende Komponentenname könnte auch shcon reichen :)

DeddyH 8. Nov 2007 13:50

Re: Ja / Nein Abfrage
 
Delphi-Quellcode:
if MessageBox(Handle,'Wirklich löschen?','Bestätigen',MB_YESNO) = IDYES then...
Schau Dir dazu mal die MB*-Konstanten an.

Neutral General 8. Nov 2007 13:50

Re: Ja / Nein Abfrage
 
Hi,

Ganz einfach:

Delphi-Quellcode:
var mr: Cardinal;
begin
  mr := MessageDlg('Message',mtConfirmation,[mbYes,mbNo],0);
  if mr = IDYES {IDNO} then
    // ...
;)

@DeddyH: Die MessageDlg function ist da ein bisschen komfortabler finde ich.

Gruß
Neutral General

DeddyH 8. Nov 2007 13:56

Re: Ja / Nein Abfrage
 
Dafür ist MessageBox IMO flexibler, aber letztendlich ist das Geschmackssache, was man im Einzelfall verwendet.

Muetze1 8. Nov 2007 14:01

Re: Ja / Nein Abfrage
 
@Neutral General: Du mischt die WinAPI Konstanten (für die MessageBox) mit den VCL Konstanten für den MessageDlg(). Das Result sollte so abgeprüft werden:

Delphi-Quellcode:
var
  mr: Integer; // oder alternativ TModalResult
begin
  mr := MessageDlg('Message',mtConfirmation,[mbYes,mbNo],0);
  if mr = mrYes {mrNo} then
    // ...

Neutral General 8. Nov 2007 14:04

Re: Ja / Nein Abfrage
 
oh :oops:

Hab die Funktion letztens nochmal benutzt und dadurch das ich im Moment wegen meinem aktuellen Projekt soviel mit non-VCL mache sind mir die VCL-Konstanten nicht mehr eingefallen :gruebel:

freak4fun 8. Nov 2007 23:31

Re: Ja / Nein Abfrage
 
Warum dafür eine extra Variable?
Delphi-Quellcode:
if MessageDlg('Message',mtConfirmation,[mbYes,mbNo],0) = mrYes {mrNo} then
  begin
    // ...
  end
else ...
MfG
freak

Muetze1 9. Nov 2007 07:46

Re: Ja / Nein Abfrage
 
Zitat:

Zitat von freak4fun
Warum dafür eine extra Variable?

Zum Beispiel weil ich damit auf den Typ TModalResult hinweisen und gleichzeitig die Kompatibilität mit Integer darstellen konnte.

alzaimar 9. Nov 2007 08:41

Re: Ja / Nein Abfrage
 
Noch ein Tip:

Die Gexperts von www.Gexperts.org installieren und mit CTRL+D sehr bequem die passende MessageBox/Dlg generieren. Wirklich einfach.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz