Code: Alles auswählen
Procedure.s GetParentPath(sPath.s, iLevelsUp.i = 1, sSeparator.s = "")
Protected i.i
ReplaceString(sPath, #NPS$, #PS$, #PB_String_InPlace)
For i = 1 To iLevelsUp
sPath = GetPathPart(RTrim(sPath, #PS$))
Next
If sSeparator
ReplaceString(sPath, #PS$, sSeparator, #PB_String_InPlace)
EndIf
ProcedureReturn sPath
EndProcedure
Debug GetParentPath("D:\1/Obst\Äpfel\Reife\Greenstar")
Debug GetParentPath("D:\1/Obst\Äpfel\Reife/Greenstar/")
Debug GetParentPath("D:\1/Obst\Äpfel\Reife\Greenstar\")
Debug GetParentPath("D:\2\Obst/Äpfel\Reife/Greenstar",2)
Debug GetParentPath("D:/2/Obst/Äpfel/Reife\Greenstar/",2)
Debug GetParentPath("D:/2/Obst/Äpfel/Reife/Greenstar\",2)
Debug GetParentPath("D:\3\Obst/Äpfel\Reife/Greenstar", 3)
Debug GetParentPath("D:\3\Obst/Äpfel\Reife\Greenstar/", 3)
Debug GetParentPath("D:\4\Obst\Äpfel\Reife\Greenstar\", 3)
Debug GetParentPath("D:\0/Obst\Äpfel\Reife\Greenstar", 0, #NPS$)