Entwickler-Ecke

Sonstiges (Delphi) - variable als txt speicher, automatische namensbennenung


spoof - Do 17.10.13 15:31
Titel: variable als txt speicher, automatische namensbennenung
Hey, ich hab etwas gecodet was mir am Ende etwas speichern kann.

Ich hab es jetzt durch

Delphi-Quelltext
1:
SD_File.Filter := 'Textdatei (*.txt)|*.txt';                    

so deklariert dass er es als txt speichern soll.

Es wird zwar im Feld Dateityp beim speichern angezeigt (*.txt)
aber wenn ich nun al dateiname eingebe "dokument" und speicher es, so ist es eine undefinierte datei.
Mache ich hingegen dokument.txt speichert er eslogischerweise als txt.

Die Frage ist nun wie kann ich es machen dass ich nicht .txt hinzuschreiben muss und er es trotzdem als txt speichert.

Meine zweite frage zu dem Thema ist wie kann ich eine Vorgabe der Benennung der Datei machen, sodas im Feld Dateiname beim speichern, der Textpfad eines Edit Feld genommen wird?


baumina - Do 17.10.13 15:37

Beim TSaveDialog gibt es die Eigenschaft

Zitat:
DefaultExt Legt die standardmäßige Dateierweiterung fest.


EDIT : Zur 2. Frage: Du kannst die Eigenschaft FileName zuvor als Vorgabe setzen.

Schau einfach mal in die Delphi-Hilfe, da findest du alle Eigenschaften eines TSaveDialogs genau beschrieben.


spoof - Do 17.10.13 15:40

user profile iconbaumina hat folgendes geschrieben Zum zitierten Posting springen:
Beim TSaveDialog gibt es die Eigenschaft

Zitat:
DefaultExt Legt die standardmäßige Dateierweiterung fest.



Ah vielen dank, hab gerade gesehen auch das mitm Namen is im Objektinspektor :D vielen dank


WasWeißDennIch - Do 17.10.13 15:40

Und die Eigenschaft Filename. Übrigens ist das Zitat unvollständig:
Zitat:
Die Eigenschaft DefaultExt bezeichnet eine Dateierweiterung, die automatisch an den ausgewählten Dateinamen angehängt wird, wenn dieser noch keine registrierte Erweiterung enthält. Wenn der Benutzer eine Datei mit einer nicht registrierten Erweiterung auswählt, wird DefaultExt an die Erweiterung angehängt.

Zur Not muss man sonst auf ChangeFileExt zurückgreifen.