lunes, 7 de marzo de 2011

Separar el nombre del fichero del resto de la ruta

Esta es una función muy útil y que siempre viene bien tener a mano. Sirve para partir el path completo de un fichero en ruta hasta la carpeta y nombre de fichero.

Var Name DataType Subtype Length
No FileName Text          250
Path Text          250
Name Text          250




Path := '';
Name := '';
FileName := DELCHR(FileName,'<>');
IF (FileName = '') THEN
  EXIT;


Pos := STRLEN(FileName);
REPEAT
  Found := (COPYSTR(FileName,Pos,1) = '\');
  IF NOT Found THEN
    Pos := Pos - 1;
UNTIL (Pos = 0) OR Found;


IF Found THEN BEGIN
  Path := COPYSTR(FileName,1,Pos);
  Name := COPYSTR(FileName,Pos+1);
END ELSE BEGIN
  Path := '';
  Name := FileName;
END;