Home » Tipps & Tricks » Dateien/Verzeichnisse » Verzeichnisse » Erstes Verzeichnis von einem Dateipfad abschneiden

Erstes Verzeichnis von einem Dateipfad abschneiden

Will man den ersten Verzeichnisnamen von einem Pfad abschneiden, kann man den Quellcode der Funktion CutFirstDirectory (Unit FileCtrl) verwenden. Diese Funktion ist von außen nicht aufrufbar, da sie nicht im Interface steht. In folgendem Beispiel wird aus ‚dokumente und einstellungen\benutzer\eigene dateien\test\blabla\tipp.txt‘ ‚…benutzer\eigene dateien\test\blabla\tipp.txt‘.

var LangerPfad: string;
begin
  LangerPfad:='dokumente und einstellungen\benutzer\eigene dateien\test\blabla\tipp.txt';
  CutFirstDirectory(LangerPfad);
  Label1.Caption:=LangerPfad;

Wem der Quellcode von FileCtrl nicht vorliegt, kann diese Aufgabe auch von Hand erledigen:

function CutFirstDirectory(longPath: string): string;
begin
  result:='...'+Copy(longPath, Pos('', longPath), Length(longPath)-Pos('', longPath)+1);
end;

Der Aufruf verändert sich entsprechend, da es sich nun um eine Funktion, nicht (wie im Original) um eine Prozedur handelt:

var LangerPfad: string;
begin
  LangerPfad:='dokumente und einstellungen\benutzer\eigene dateien\test\blabla\tipp.txt';
  Label1.Caption:=CutFirstDirectory(LangerPfad);