TOpenDialog (TFileSaveDialog)

Grundlegendes
Mit der Komponente TOpenDialog
und TSaveDialog
liest man prinzipiell nur den Dateinamen + Pfad der ausgewählten
bzw. zu speichernden Datei in ein String ein, um in dann im weiteren verlauf des
Programms zu verwenden. Dazu zieht man die TOpenDialog bzw.
TSaveDialog
Komponente auf das Form, dann noch ein TButton und hinterlegt
folgende Zeilen auf ein Click-Event des TButton:
|
var
Datei: String;
if
OpenDialog1.Execute then
// bzw. if SaveDialog1.Execute then...
begin
Datei := OpenDialog1.FileName; // bla
SaveDialog bla... ab hier spar ich mir den Mist
ShowMessage('gewählte
Datei: ' + Datei);
{mach irgend was}
end
else
ShowMessage('nix ausgewählt...');
// oder einfach nur exit;
|

Nur den Pfad zur Datei auslesen (
var Pfad:
String;)
|
if
OpenDialog1.Execute then
Pfad := ExtractFileDir(OpenDialog1.FileName); |

Nur Dateiname + Endung auslesen (
var Pfad:
String;)
|
if
OpenDialog1.Execute then
Pfad := ExtractFileName(OpenDialog1.FileName); |

Dateiendung (Extension) aus Dateiname extrahieren
|
ExtractFileExt('text.txt');
// Ergebnis wird
txt sein |

Dateiendung tauschen bzw. entfernen
|
ChangeFileExt('text.txt','.bmp');
// Ergebnis wird
test.bmp sein ChangeFileExt('text.txt','');
// Ergebnis wird
test sein, also keine Endung mehr |

Filter für Dateinamen setzen
(
var Datei:
String;)
(aus Programm heraus)
|
OpenDialog1.Filter := ('Datei |
Datei.txt');
// mehrere Filter
('Textdatei
| *.txt; *.doc | Bilder | *.bmp; *.jpg')
if
OpenDialog1.Execute then
Datei := OpenDialog1.FileName; |

Beim Datei Öffnen-Dialog nicht das gewählte Verzeichnis als
aktuell setzten:
Im
Objektinspektor die Option „ofNoChangeDir“
auf true setzen

Beim Datei-Öffnen-Dialog ein Verzeichnis vorab als
aktuell setzten:
|
OpenDialog1.InitialDir := ('B:\work');
// direkt vor
if
OpenDialog1.Execute then... |

|