Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Message Box (https://www.delphipraxis.net/13352-message-box.html)

cylon 16. Dez 2003 18:26


Message Box
 
Hi,
hat jemand nen einfachen code, mit dem man, bei anklicken eines buttons, ne message box öffnet??
Ich fand nämlcih bisher immer nur kompliezierte Codes... :roll:

Duffy 16. Dez 2003 18:33

Re: Message Box
 
Hallo cylon,
einfach genug?
Delphi-Quellcode:
MessageDlg('Eine einfache Messagebox', mtInformation, [mbOK], 0);
bye
Claus

Mirilin 16. Dez 2003 18:34

Re: Message Box
 
:hi:

Delphi-Quellcode:
procedure TMainForm.ButtonShowMessageClick(Sender: TObject);
begin
  Application.MessageBox('Message Text', 'Titel', MB_OKCANCEL);
end;
In der Hilfe findest Du weitere Informationen dazu

mfg Tobias

cylon 16. Dez 2003 18:35

Re: Message Box
 
hey., die ist cool und einfach...
DANKE :-D

cylon 16. Dez 2003 19:01

Re: Message Box
 
Ja OK...
aber ich hab noch ne frage.
wie kann man auf buttondruck ne neue form öffnen?? :dance:

Duffy 16. Dez 2003 19:04

Re: Message Box
 
Hallo cylon,
wenn das zweite Form existiert ...

Delphi-Quellcode:
Form2.ShowModal
bye
Claus

Yan 17. Dez 2003 20:10

Re: Message Box
 
Hi cylon!

Also hier noch ein paar Varianten (wenn du mal was anderes brauchst):

Anstatt:
Code:
MessageDlg('Text',mtInformation,[mbOK],0)
kann man auch schreiben:
  • Für eine Warnung (Symbol):
    Code:
    MessageDlg('Text',mtWarning,[mbOK],0)
    Für eine Frage (Symbol):
    Code:
    MessageDlg('Text',mtConfirmation,[mbOK],0)
    Mehrere Buttons:
    Code:
    MessageDlg('Text',mtInformation,[mbYes,mbNo],0) // Man kann belibig viele Buttons angeben (glaube ich)
  • Wenn du wissen möchtest, welchen Button der benutzer gedrückt hat:
    Code:
    if MessageDlg('Frage',mtWarning,[mbYes,mbNo],0) = mrYes then // mr steht für "Message Result"
    begin // Wenn Benutzer "Ja" gedrückt hat
    //...
    end
    else
    begin // Wenn Benutzer "Nein" gedrückt hat
    //...
    end;

Ich hoffe ich konnte dir helfen!

cylon 17. Dez 2003 20:22

Re: Message Box
 
ja das ist gut...
danke..

merlin17 17. Dez 2003 20:30

Re: Message Box
 
cylon,

noch schöner geht es, wenn du die gexperts (GExperts)installierst und dort
dann im GExperts-Menü (in der Delphi - IDE) "Messagedialg" aufrufst.

:-) thomas

MrKnogge 17. Dez 2003 21:12

Re: Message Box
 
beliebig viele Buttons angeben ?
ich dachte es gehen nur so art "vordefinierte Varianten" von MS
also OK oder OK und Cancel.....

tommie-lie 17. Dez 2003 22:05

Re: Message Box
 
Wenn man schon beim Auflisten von Alternativen ist, warum dann nicht auch die einfachste?
Delphi-Quellcode:
ShowMessage('Text');
Die Sparlösung für alle, die mal etwas weniger brauchen. Gibt nur 'ne Box mit Text, nur ein OPK-Button, kein Symbol, Titel entspricht dem des Programmes. Wenn man vom Fehlenden Warnsymbol absieht, die einfachste Möglichkeit dem User irgendwas mitzuteilen.

Yan 19. Dez 2003 19:15

Re: Message Box
 
@ MrKnogge:

Keine Ahnung :(
Ist auch durchaus denkbar, dass Delphi den "MessageDlg(...)" Befehl in den Windows-API Befehl umwandelt.
Dort kann man nur die verdefinierten nehmen. (Das ist aus meinem bisschen C++ "Know-How" entnommen).

Ich würd' sagen du hast recht :wink:

[edit=Sharky]Doppelposting gelöscht ;-) Mfg, Sharky[/edit]

PhöniX 7. Feb 2004 19:59

Re: Message Box
 
Gibt es auch eine MessageBox, in der es nur den Button Close gibt?
Also sozusagen eine Fehlermeldung und wenn der User sie gelesen hat und den Button drückt, dass das gesamte Projekt geschlossen wird?

Luckie 8. Feb 2004 01:57

Re: Message Box
 
Delphi-Quellcode:
Messagebox(Handle, 'Text', 'Caption', MB_OK);

PhöniX 9. Feb 2004 15:03

Re: Message Box
 
Und wie kann man eine Messagebox schließen?

Matze 9. Feb 2004 15:07

Re: Message Box
 
Schließt die sich nicht von alleine, wenn du auf einen Button klickst?

PhöniX 9. Feb 2004 15:15

Re: Message Box
 
Ja. Aber...Ich hab ne MessageBox von mtConfirmation und darin zwei Buttons (Ja und Nein). Wenn ich auf Ja klicke schließt die Form.
Wenn ich Nein klicke soll einfach die MessageBox weg sein und die From offen bleibern. Aber hier schließt sich die Form ebenfalls.

noch ein bisschen Code:
Delphi-Quellcode:
if MessageDlg('Sie müssen die Auswahl durch OK bestätigen.'+#10#13+
   'Anwendung schließen?',mtConfirmation,[mbYes,mbNo],0) = mrYes then
    begin
     Close;
    end
   else
    ???  //<---- hier muss die MessageBox geschlossen werden OHNE das die Form schließt...
  end;

MrKnogge 9. Feb 2004 15:23

Re: Message Box
 
lass das else einfach weg !

Deine MesageBox schliest sich von alleine.

PhöniX 9. Feb 2004 15:29

Re: Message Box
 
Dann erhalte ich auf einmal den Fatalen Fehler:

Ausgabedatei: 'F:\...\test.exe' kann nicht erstellt werden.

[OT] Wie kann ich diesen Fehler allgemein verhindern oder wodurch kommt er zustande? [/OT]

Neg 9. Feb 2004 15:33

Re: Message Box
 
Der fatale Fehler kann aber nicht an der MessageBox liegen. Mehr Code, please.

MrKnogge 9. Feb 2004 15:34

Re: Message Box
 
der kommt zustande, wenn du deine Exe gerade laufen hast...

Matze 9. Feb 2004 15:35

Re: Message Box
 
Da fehlt jetzt bissle Code, so kann man net viel dazu sagen. ;)

Nachtrag: Mensch, ich lahme Maus :mrgreen:

PhöniX 9. Feb 2004 15:36

Re: Message Box
 
ich hab meine anwendung aber nicht laufen...nicht inner taskleiste zu sehen und im Tast Mananger auch nicht..

Was nun? :gruebel:

MrKnogge 9. Feb 2004 15:39

Re: Message Box
 
Dann müsste er mehrere Fehler bringen, und dir eventuell noch n paar Zeilen-Nr ausspucken, wenn du uns diese dann noch posten würdest :roll:

fkerber 9. Feb 2004 15:40

Re: Message Box
 
Hi!

Tritt der Fehler beim Kompilieren auf oder erscheint der während das Programm am "Arbeiten" ist.

Ich tippe mal beim Kompilieren: Das kann wie gesagt nur sein, dass die Anwendung noch läuft. Vielleicht wurde sie unsauber beendet und ein Prozess spukt noch irgendwo rum.

An der Message-Box an sich kann es aber echt nicht liegen.

Ciao fkerber

PhöniX 9. Feb 2004 15:42

Re: Message Box
 
was braucht ihr denn fürn code..ich hab ganz schöän viele auf verschiedene Forms verteilt??
Kann man das eingranzen oder alles?

fkerber 9. Feb 2004 15:45

Re: Message Box
 
den Code, der den Fehler verursacht :)

Wie gesagt, wenn es beim kompilieren auftritt und du den Prozess nicht findest oder sonstwas mach vielleicht mal nen Neustart und guck dann mal wieder.
Sollte der Fehler erst mit dem "Einbau" verschiedener Funktionen aufgetreten sein, kommentiere diese Funktionen mal aus.

Solltest du dann gar keine Idee haben, häng dein Projekt gezipt als Anhang an.

Ciao fkerber

MrKnogge 9. Feb 2004 15:50

Re: Message Box
 
Zitat:

Zitat von fkerber
Tritt der Fehler beim Kompilieren auf oder erscheint der während das Programm am "Arbeiten" ist.

Wenn es sich um den Fehler handelt: "Fataler Fehler: Ausgabedatei: 'F:\...\test.exe' kann nicht erstellt werden", würde ich behaupten beim Compilieren :mrgreen:

@PhöniX
gib uns einfach dein komplettes Projekt zum download...

fkerber 9. Feb 2004 15:51

Re: Message Box
 
:wall: :wall: :wall:

hast ja recht ...

aber ich hatte ja angenommen, dass es beim Kompilieren ist. :drunken:

Ciao fkerber

Die Muhkuh 9. Feb 2004 16:08

Re: Message Box
 
Das hab ich auch manchmal und ist recht einfach zu lösen:

Als erstes klickste in die Projektansicht. Danach einen Rechtsklick auf das Projekt und dann neu Compilieren und danach auf neu Erstellen!

Danach sollte es wieder gehen

PhöniX 9. Feb 2004 16:17

Re: Message Box
 
Zitat:

Zitat von MrKnogge
lass das else einfach weg !

Deine MesageBox schliest sich von alleine.

Mal wieder zum Thema zurück..
Mit else weglassen gehts nicht, aber mit OnCloseQuery:
Delphi-Quellcode:
if MessageDlg('Sie müssen die auswahl durch OK bestätigen.'+#10#13+
   'Anwendung schließen?',mtConfirmation,[mbYes,mbNo],0) = mrYes then
    begin
     question := False;
     CanClose := True;
    end
    else
    CanClose := False;
    FormKonf.visible := true;
   end

Die Muhkuh 9. Feb 2004 16:19

Re: Message Box
 
Na also,

wo ist das PRoblem? So gehts doch

PhöniX 10. Feb 2004 17:55

Re: Message Box
 
Zitat:

Zitat von Spider
Das hab ich auch manchmal und ist recht einfach zu lösen:

Als erstes klickste in die Projektansicht. Danach einen Rechtsklick auf das Projekt und dann neu Compilieren und danach auf neu Erstellen!

Danach sollte es wieder gehen

gibz noch ne andre möglichkeit...
einfach taskmananger öffnen und bei prozesse das programm suchen und dann den prozess beeden..
einfacher :mrgreen:

Die Muhkuh 10. Feb 2004 19:18

Re: Message Box
 
Oder so :D

Hansa 18. Apr 2004 15:11

Re: Message Box
 
Wie kann ich in dem MessageDlg auch Koordinaten mitgeben ?
Delphi-Quellcode:
WeiterJaNein := MessageDlg('Weiter ?',mtInformation,[mbYes,mbNo],0,x,y,mbNo,nil) = mrNo;
Da kommt immer "zu viele Parameter".

Und dann noch zur Application.Messagebox. Worauf genau bzw. wie wirkt sich das aus ?

MathiasSimmack 18. Apr 2004 15:18

Re: Message Box
 
Zitat:

Zitat von Hansa
Wie kann ich in dem MessageDlg auch Koordinaten mitgeben ?
Delphi-Quellcode:
WeiterJaNein := MessageDlg('Weiter ?',mtInformation,[mbYes,mbNo],0,x,y,mbNo,nil) = mrNo;
Da kommt immer "zu viele Parameter".

Warum wohl? :roll:
Schau mal in die Hilfe.

Hansa 18. Apr 2004 15:33

Re: Message Box
 
Dann stelle ich die Frage anders rum: In der Delphi Hilfe stehen 5 verschiedene MessageDlg mit unterschiedlichen Parametern, ich brauche eine mit x und y, da die "normale" etwas wichtiges verdeckt.

MathiasSimmack 18. Apr 2004 16:37

Re: Message Box
 
Willst du mich verar****? Wenn du 5 MessageDlg-Funktionen in deiner Hilfe hast, dann bedeutet das, du kannst die Box auf 5 verschiedene Arten aufrufen. Das gibt´s bspw. auch bei der .NET-MessageBox. Die einfachste Variante (vergleichbar mit "ShowMessage"):
Delphi-Quellcode:
MessageBox.Show('Hallo, Welt!');
Du kannst aber zusätzlich auch einen Titel angeben:
Delphi-Quellcode:
MessageBox.Show('Hallo, Welt!', 'Titel');
usw. Du musst eben nur die Konventionen (sprich: die erlaubten Parameter) beachten! Selbst ausdenken darfst du dir keine. Und wenn keine der 5 MessageDlg-Funktionen was von den X/Y-Koordinaten sagt, dann geht die Positionierung auch nicht.

Hansa 19. Apr 2004 11:35

Re: Message Box
 
Jo, Verarsche. Versuche das hier mal zu compilieren:

Delphi-Quellcode:
function WeiterJaNein (x,y : integer) : boolean;
begin
(*
function MessageDlg(const Caption: WideString;
                    const Msg: WideString;
                    DlgType: TMsgDlgType;
                    Buttons: TMsgDlgButtons;
                    HelpCtx: Longint;
                    X,
                    Y: Integer;
                    DefaultBtn: TMsgDlgBtn = mbNone;
                    Bitmap: TBitmap = nil): Integer; overload;
*)
  WeiterJaNein := MessageDlg('Weiter ?',
                             '????????',
                             mtInformation,
                             [mrYes,mrNo],
                             0,
                             10,
                             11,
                             mbYes,
                             nil) = mrYes;
end;
Der Kommentar ist aus der Hilfe. Da wo die ??? stehen bleibt Delphi hängen "inkompatible Typen TMsgDlgType und string". Dafür kommt er erst gar nicht dazu, über "zuviele Parameter" zu meckern. :mrgreen:

Hansa 21. Apr 2004 08:56

Re: Message Box
 
"Hilf sir selbst dann hilft dir Gott" :

Delphi-Quellcode:
function WeiterJaNein (x,y : integer) : boolean;
begin
  WeiterJaNein := MessageDlgPos('Weiter ? ',mtInformation,[mbYes,mbNo],0,x,y) = mrYes;
end;
MessageDlgPos. Und das wußte keiner ? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr.
Seite 1 von 2  1 2      

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