AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sender: TSaveDialog or TOpenDialog

Ein Thema von Martin W · begonnen am 16. Apr 2006 · letzter Beitrag vom 16. Apr 2006
Antwort Antwort
Seite 2 von 2     12   
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Sender: TSaveDialog or TOpenDialog

  Alt 16. Apr 2006, 17:50
Das Posten sollte möglich sein, aber bitte als Attachment, sonst gibt's Ärger mit den Moderatoren.

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
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#12

Re: Sender: TSaveDialog or TOpenDialog

  Alt 16. Apr 2006, 17:54
Das werde ich dann wohl als neuen Thread machen Und noch mal ne dumme Frage:

Delphi-Quellcode:
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;
Wie komme ich jetzt innerhalb der an "AOnCanCLose" übergebenen Prozedure an dem Dateiname / Pfad der in dem Dialog eingegeben wurde???

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#13

Re: Sender: TSaveDialog or TOpenDialog

  Alt 16. Apr 2006, 17:57
Hi!

Zitat von Hawkeye219:
Falls es sich um ein vollständiges Projekt handelt, wäre vielleicht die Freeware-Sparte geeigneter.
Gruß Hawkeye
Die OpenSource-Sparte würde sich sogar noch besser eignen

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
Frederic Kerber
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#14

Re: Sender: TSaveDialog or TOpenDialog

  Alt 16. Apr 2006, 18:03
Auf eine Variable zugreifen, die innerhalb einer anderen Prozedur geschrieben wurde???
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#15

Re: Sender: TSaveDialog or TOpenDialog

  Alt 16. Apr 2006, 18:05
Hi!

Zitat von Martin W:
Auf eine Variable zugreifen, die innerhalb einer anderen Prozedur geschrieben wurde???
Auf eine Property eines Dialoges....
Hast du es mal versucht?

Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#16

Re: Sender: TSaveDialog or TOpenDialog

  Alt 16. Apr 2006, 18:17
Property ...??? Was ist dies??? Die Onlinehilfe ist nicht sehr aussagekräftig..

Gruß
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#17

Re: Sender: TSaveDialog or TOpenDialog

  Alt 16. Apr 2006, 18:26
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:
procedure TForm1.OpenDialog1CanClose(Sender: TObject; var CanClose: Boolean);
begin
  Dateiname := (Sender AS TOpenDialog).Filename;
end;
Das funktioniert sogar für TSaveDialog, weil TSaveDialog von TOpenDialog abgeleitet wurde.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#18

Re: Sender: TSaveDialog or TOpenDialog

  Alt 16. Apr 2006, 18:27
Danke.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 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