Die gemeinsame Grundlage von TOpenDialog, TSaveDialog und TSelectDirectoryDialog: Verzeichnisliste, Namensfeld, Filter und das modale Zeigen. Unmittelbar benutzt wird sie selten — man nimmt eine der drei Ableitungen, die sich nur in Mode und den Vorgaben unterscheiden.
Unit: vega.filedlg · Basis: keine — eigene Wurzel
→ Alle Steuerelemente · Klassenbaum · Guide: Komponenten
Kette: TFileDialog — eigene Wurzel, kein Vorfahr. Was diese Klasse kann, steht vollständig auf dieser Seite.
Direkte Nachfahren: TOpenDialog · TSaveDialog · TSelectDirectoryDialog
Quelle: vega/filedlg.lyx
Ein Dateidialog wird angelegt, eingestellt und mit Execute gezeigt. Er ist modal: der Aufruf kehrt erst zurück, wenn der Benutzer bestätigt oder abgebrochen hat.
var dlg: TOpenDialog := new TOpenDialog();
dlg.SetFilter("*.txt;*.md;*.lyx");
dlg.SetTitle("Textdatei oeffnen");
dlg.SetInitialDir("/home/andreas");
if (dlg.Execute(app)) {
var voll: TTextBuffer := new TTextBuffer();
dlg.FullPath(voll); // Verzeichnis + Dateiname
// ... Datei laden ...
voll.Destroy();
}
dlg.Destroy();
Execute liefert true bei Bestätigung und false bei Abbruch. Das Ergebnis steht danach in FileName (nur der Name) bzw. vollständig über FullPath; das Verzeichnis liefert Directory.
.. führt nach oben.Filter ist ein Muster wie in Delphi, mehrere durch Semikolon getrennt: "*.txt;*.md". Vorgabe ist "*".DefaultExt wird angehängt, wenn der eingegebene Name keine Endung hat — mit führendem Punkt angeben.OverwritePrompt fragt beim Sichern nach, wenn die Datei schon existiert. Bei TSaveDialog ist das die Vorgabe, bei den beiden anderen nicht.Alle Eigenschaften, auch die geerbten.
| Name | Typ | Bedeutung | Herkunft |
|---|---|---|---|
DefaultExt | TTextBuffer | Wird angehängt, wenn der Name keine Endung hat. Mit führendem Punkt | eigen |
FileName | TTextBuffer | Vor dem Aufruf der Vorschlag, danach das Ergebnis | eigen |
Filter | TTextBuffer | Muster wie in Delphi, mehrere mit Semikolon: „*.txt;*.md“ | eigen |
InitialDir | TTextBuffer | Startverzeichnis. Leer heißt: das aktuelle Arbeitsverzeichnis | eigen |
Mode | int64 | Betriebsart des Dialogs (FD_OPEN, FD_SAVE, FD_DIR) | eigen |
OverwritePrompt | bool | Beim Sichern nachfragen, wenn die Datei schon da ist | eigen |
Title | TTextBuffer | Titelzeile des Dialogs | eigen |
Alle Methoden, auch die geerbten.
| Signatur | Zweck | Herkunft |
|---|---|---|
AcceptSelection(): bool | Die gewaehlte Zeile übernehmen: Verzeichnis betreten oder Namen ins Feld schreiben. Liefert true, wenn der Dialog fertig ist | eigen |
Confirm(app: TApplication): void | Der Bestaetigen-Weg, gemeinsam für Knopf und Eingabetaste | eigen |
Create(mode: int64): void | Anlegen; new TFileDialog() | eigen |
CurrentDir(): pchar | Verzeichnis, in dem der Dialog gerade steht | eigen |
Destroy(): void | Gibt eigene Ressourcen frei | eigen |
Directory(): pchar | Das gewaehlte Verzeichnis. Im Verzeichnismodus dasselbe wie FileName, sonst das Verzeichnis, in dem die gewaehlte Datei liegt | eigen |
Execute(app: TApplication): bool | Zeigt den Dialog und kehrt erst zurück, wenn eine Entscheidung gefallen ist. true = eine Datei wurde gewaehlt, FileName traegt sie | eigen |
FullPath(dst: TTextBuffer): void | Der vollständige Pfad des Ergebnisses | eigen |
GoUp(): void | Eine Ebene nach oben | eigen |
Navigate(path: pchar): void | Wechselt in das Verzeichnis path | eigen |
Refill(): void | Die Liste neu aus dem Dateisystem fuellen | eigen |
SetDefaultExt(s: pchar): void | Setzt DefaultExt | eigen |
SetFileName(s: pchar): void | Setzt FileName | eigen |
SetFilter(s: pchar): void | Setzt Filter | eigen |
SetInitialDir(s: pchar): void | Setzt InitialDir | eigen |
SetTitle(s: pchar): void | Setzt Title | eigen |
Letzte Aktualisierung: 2026-09-05 — Seite neu angelegt; erhoben aus vega/filedlg.lyx im Repo lyx-vcl.