Du müsstest die Pfadangaben aufsplitten (siehe Explode-Funktion aus der Codelib) und dann nur die Verzeichnisebenen wieder zusammenfügen die hinter dem Hauptverzeichnis liegen.
Pseudocode:
Code:
function RelativerPfad(Hauptpfad, Unterverzeichnis: string): string;
{
hauptpfad_verzeichnistiefe = array_count(split(hauptpfad,'\'));
unterverzeichnis_parts = split(hauptpfad,'\');
for i := hauptpfad_verzeichnistiefe to array_count(unterverzeichnis_parts) do
result = result+unterverzeichnis_parts[i]+'\';
}