Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Öffnen-Fenster (https://www.delphipraxis.net/75495-oeffnen-fenster.html)

EDatabaseError 20. Aug 2006 13:14

Re: Öffnen-Fenster
 
Zitat:

Zitat von Cöster
Also ich kann den OpenDialog jetzt öffnen, aber wenn ich in diesem Dialog dann auf "Öffnen" oder "Abbrechen" klicke, passiert nichts. Der Dialog bleibt geöffnet. Erst wenn ich ca. 20 mal auf "Öffnen" bzw. "Abbrechen" geklickt hab, schließt der Dialog auch wirklich.

Hier sind die beiden Procedures:
Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
begin
  OpenPictureDialog1.Execute;
end;
{...}
procedure TForm1.OpenPictureDialog1Close(Sender: TObject);
begin
  If OpenPictureDialog1.Execute then
    ImMain.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
Was hab ich noch falsch gemacht?

:roll: les dir mal alles nochmals genau durch...

Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
begin
  If OpenPictureDialog1.Execute then
    ImMain.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

SirThornberry 20. Aug 2006 13:17

Re: Öffnen-Fenster
 
das ist ja logisch. Schließlich rufst du im OnClose des Dialoges den Dialog wieder auf. Der OpenDialog und alle anderen Dialog der Sorte werden wie folgt benutzt (sollte bei dir ins Click-Ereignis und gegebenfalls solltest du dir mal die Hilfe zu den Dialogen durchlesen):
Delphi-Quellcode:
//OpenDialog1.Execute öffnet den Dialog und gibt "true" zurück wenn er nicht abgebrochen wurde (durch klick auf Kreuz, Alt + F4, Abbrechen etc.)
if OpenDialog1.Execute then
begin
  //Jetzt ist in OpenDialog1.FileName der Dateiname enthalten welcher im Dialog gewählt wurde
  //Beispiel:
  ShowMessage('Folgende Datei wurde ausgewählt: ' + OpenDialog1.FileName);
end;

Daniel G 20. Aug 2006 13:19

Re: Öffnen-Fenster
 
Wie oben schon stand:

Der Code gehört in das OnClick - Event des Buttons. OpenPictureDialog1.Execute ist eine Funktion. Wird die beendet, liefert sie einen bool'schen Rückgabewert, je nachdem, ob "OK" (true) oder "Abbrechen" (false) gedrückt wurde.

Das hier

Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then //do sth.
end;
ist also dasselbe wie das:

Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
var
test: Boolean;
begin
test := OpenPictureDialog1.Execute;
if test then //do sth.
end;
//Edit: Jetzt habe ich mir soviel Mühe gegeben, jetzt wollte ich das auch abschicken. :stupid:

Cöster 20. Aug 2006 13:50

Re: Öffnen-Fenster
 
Aah, jetzt hab ich's kapiert.
Zitat:

Zitat von Gausi
Den Dialog öffnest du per OpenDialog1.Execute.

Das hatte ich erst so verstanden, dass Execute auch eine procedure wäre.

Jetzt hab ich also gar kein OnClose-Ereignis, nur noch das OnClick.
Danke nochmal an alle!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 Uhr.
Seite 2 von 2     12   

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