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.