![]() |
Re: Sender: TSaveDialog or TOpenDialog
Das Posten sollte möglich sein, aber bitte als Attachment, sonst gibt's Ärger mit den Moderatoren. :wink:
Falls es sich um ein vollständiges Projekt handelt, wäre vielleicht die Freeware-Sparte geeigneter. Vielleicht könnte einer der (mitlesenden) Mods dazu was sagen? Gruß Hawkeye |
Re: Sender: TSaveDialog or TOpenDialog
Das werde ich dann wohl als neuen Thread machen :-) Und noch mal ne dumme Frage:
Delphi-Quellcode:
Wie komme ich jetzt innerhalb der an "AOnCanCLose" übergebenen Prozedure an dem Dateiname / Pfad der in dem Dialog eingegeben wurde???
type
TDialogType = (dtOpen, dtSave); procedure Tserver_mainform_form.ExecuteDialog(AOnCanClose: TCloseQueryEvent; AType: TDialogType); var lOpenDialog : TOpenDialog; lSaveDialog : TSaveDialog; begin case AType of dtOpen: begin lOpenDialog := TOpenDialog.Create(server_mainform_form); try lOpenDialog.DefaultExt := 'xml'; lOpenDialog.Filter := 'XML File / xml|*.xml'; lOpenDialog.Title := 'Datei öffnen...'; lOpenDialog.OnCanClose := AOnCanClose; lOpenDialog.Options := [ofHideReadOnly,ofFileMustExist,ofEnableSizing]; lOpenDialog.Execute; finally lOpenDialog.Free; end; end; dtSave: begin lSaveDialog := TSaveDialog.Create(server_mainform_form); try lSaveDialog.DefaultExt := 'xml'; lSaveDialog.Filter := 'XML File / xml|*.xml'; lSaveDialog.Title := 'Speichern unter...'; lSaveDialog.OnCanClose := AOnCanClose; lSaveDialog.Options := [ofOverwritePrompt,ofHideReadOnly,ofEnableSizing]; lSaveDialog.Execute; finally lSaveDialog.Free; end; end; end; // case AType end; Gruß |
Re: Sender: TSaveDialog or TOpenDialog
Hi!
Zitat:
Wenns noch kein fertiges Projekt ist, du aber Fragen hast, dann kannst du es ja bei "Sonstige" unterbringen. Ergänzung zu AoCanClose: Diese müsste doch auf den Dialog zugreifen können, oder? Also lSaveDialog.Filename, oder? Ciao Frederic |
Re: Sender: TSaveDialog or TOpenDialog
Auf eine Variable zugreifen, die innerhalb einer anderen Prozedur geschrieben wurde???
|
Re: Sender: TSaveDialog or TOpenDialog
Hi!
Zitat:
Hast du es mal versucht? Ciao Frederic |
Re: Sender: TSaveDialog or TOpenDialog
Property ...??? Was ist dies??? Die Onlinehilfe ist nicht sehr aussagekräftig..
Gruß |
Re: Sender: TSaveDialog or TOpenDialog
Wenn Deine Ereignisbehandlungsroutine aufgerufen wird, erhältst Du im Parameter Sender einen Zeiger auf den Dialog. Durch einen TypeCast kannst Du dann auf alle Eigenschaften des Dialogs zugreifen:
Delphi-Quellcode:
Das funktioniert sogar für TSaveDialog, weil TSaveDialog von TOpenDialog abgeleitet wurde.
procedure TForm1.OpenDialog1CanClose(Sender: TObject; var CanClose: Boolean);
begin Dateiname := (Sender AS TOpenDialog).Filename; end; Gruß Hawkeye |
Re: Sender: TSaveDialog or TOpenDialog
Danke.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 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