DruckenMister WongFacebook

Pfadvariablen zerpflücken

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

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.