Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi autom. Erweiterung beim Savedialog... (https://www.delphipraxis.net/23928-autom-erweiterung-beim-savedialog.html)

Markus 12. Jun 2004 10:59


autom. Erweiterung beim Savedialog...
 
Hallo,

ich habe bei einem Savedialog mehrere Filter. Wie kann ich nun einstellen, dass, wenn der Benutzer nur den Dateinamen (ohne Erweiterung) eingibt, die Datei mit dem ausgewählten Dateiformat (Filter) gespeichert wird? Bei DefaultExt kann ich doch nur ein Format eingeben.

MrKnogge 12. Jun 2004 11:02

Re: autom. Erweiterung beim Savedialog...
 
Moin Markus

Delphi-Quellcode:
if ExtractFileExt(SaveDialog.FileName) = '' then
  case SaveDialog1.FilterIndex of
    1: DateiName := ChangeFileExt(SaveDialog.FileName,'.txt');
    2: DateiName := ChangeFileExt(SaveDialog.FileName,'.doc');
  end;
[Edit]Hochkomma vergessen :roll: [/Edit]

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

Markus 12. Jun 2004 11:18

Re: autom. Erweiterung beim Savedialog...
 
Danke, genau das was ich suchte :thuimb:

Störtebeker 31. Jul 2007 12:52

Re: autom. Erweiterung beim Savedialog...
 
Mal ne dumme frage: unter welcher eigenschaft muss ich

Zitat:

Delphi-Quellcode:
if ExtractFileExt(SaveDialog.FileName) = '' then
  case SaveDialog1.FilterIndex of
    1: DateiName := ChangeFileExt(SaveDialog.FileName,'.txt');
    2: DateiName := ChangeFileExt(SaveDialog.FileName,'.doc');
  end;

einsetzen? Geht ebenfalls um einen SaveDialog. Mit dem Dateiendungen, .rtf, .txt, .html, .htm

Delphi-Quellcode:
if ExtractFileExt(SaveDialog.FileName) = '' then
  case SaveDialog1.FilterIndex of
    1: DateiName := ChangeFileExt(SaveDialog.FileName,'.rtf');
    2: DateiName := ChangeFileExt(SaveDialog.FileName,'.txt');
    3: DateiName := ChangeFileExt(SaveDialog.FileName,'.html');
    4: DateiName := ChangeFileExt(SaveDialog.FileName,'.htm');
  end;
müsste dann ja so aussehen. Aber unter welcher eigenschaft im OI?

Neutral General 31. Jul 2007 13:21

Re: autom. Erweiterung beim Savedialog...
 
Einfach hinter Savedialog.Execute. ;)

Störtebeker 31. Jul 2007 13:50

Re: autom. Erweiterung beim Savedialog...
 
meinst du so:

Delphi-Quellcode:
procedure TForm2.Speichern1Click(Sender: TObject);
begin
if SaveDialog1. Execute then
SynEdit1.Lines.SaveToFile(SaveDialog1.FileName);
if ExtractFileExt(SaveDialog1.FileName) = '' then
  case SaveDialog1.FilterIndex of
    1: DateiName := ChangeFileExt(SaveDialog1.FileName,'.rtf');
    2: DateiName := ChangeFileExt(SaveDialog1.FileName,'.txt');
    3: DateiName := ChangeFileExt(SaveDialog1.FileName,'.html');
    4: DateiName := ChangeFileExt(SaveDialog1.FileName,'.htm');

end;

DeddyH 31. Jul 2007 14:06

Re: autom. Erweiterung beim Savedialog...
 
So erscheint mir das logischer:
Delphi-Quellcode:
procedure TForm2.Speichern1Click(Sender: TObject);
var Dateiname: string;
begin
  if SaveDialog1. Execute then
  begin
    if ExtractFileExt(SaveDialog1.FileName) = '' then
      case SaveDialog1.FilterIndex of
        1: DateiName := ChangeFileExt(SaveDialog1.FileName,'.rtf');
        2: DateiName := ChangeFileExt(SaveDialog1.FileName,'.txt');
        3: DateiName := ChangeFileExt(SaveDialog1.FileName,'.html');
        4: DateiName := ChangeFileExt(SaveDialog1.FileName,'.htm');
      end
    else
      Dateiname := SaveDialog1.FileName;
    SynEdit1.Lines.SaveToFile(Dateiname);
  end;
end;

Störtebeker 31. Jul 2007 14:09

Re: autom. Erweiterung beim Savedialog...
 
ok, das funzt. Danke an euch alle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 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 by Thomas Breitkreuz