Home » Tipps & Tricks » Dateien/Verzeichnisse » Verzeichnisse » Pfadvariablen zerpflücken

Pfadvariablen zerpflücken

Beispiel: Datei:=’C:\Programme\MeinProgramm\MeinProgramm.EXE‘.
Liefert einen String, der einen vollständigen Pfad- und Dateinamen enthält.

ExpandFileName(ParamStr(0));

Ergebnis = ‚C:\Programme\MeinProgramm\MeinProgramm.EXE‘
Liefert Laufwerksangabe und Verzeichnispfad des Dateinamens zurück (ohne „“).

ExtractFileDir(Datei);

Ergebnis = ‚C:\Programme\MeinProgramm‘
Warnung: Im zusammenhang mit dem Root-Verzeichnis und String-Operationen ist hier ein Fehlerquelle gegeben.

ExtractFileDir('C:\Testdatei.TXT');

Ergebnis = ‚C:‘ statt ‚C:\‘
Dies ist entsprechend dem Pfadsyntax zwar richtig, führt aber beim erweitern des Strings zu Problemen:

ExtractFileDir('C:\Testdatei.TXT')+'Merke.TXT';

Ergebnis = ‚C:\Merke.TXT‘
Liefert die Dateinamenerweiterung zurück.

ExtractFileExt(Datei);

Ergebnis = ‚.EXE‘
Liefert den angegebenen Dateinamen zurück.

ExtractFileName(Datei);

Ergebnis = ‚MeinProgramm.EXE‘
Liefert den vollständigen Pfad zu der angegebenen Datei (mit „“).

ExtractFilePath(Datei);

Ergebnis = ‚C:\Programme\MeinProgramm‘
Diese Funktion ändert die Dateierweiterung einer Datei.

ChangeFileExt(Datei,'.SCR');

Ergebnis = ‚C:\Programme\MeinProgramm\MeinProgramm.SCR‘
Erstellt einen „relativen“ Pfad

ExtractRelativePath('C:\test1\test2','C:\test2\test3 test4');

Ergebnis = ….\test2\test3 test4
Gibt die 8.3 Version des Pfades und der Datei wieder (Datei und Pfad muss vorhanden sein):

ExtractShortPathName(Datei);

Ergebnis = ‚C:\Progra~1\MeinPr~1\MeinPr~1.EXE‘
In der Delphi-Hilfe sind noch weitere Routinen zur Pfad- Bearbeitung und -Ermittlung enthalten (z.B. ProcessPath). Auf jede einzelne hier einzugehen würde den Rahmen sprengen.