Re: Get ParentDirectory - (Mit nur einer Zeile)
Verfasst: 08.04.2010 02:54
Bei der Zeilenlänge wird das auch am Tage nichts.ts-soft hat geschrieben:Der Logik werde ich lieber nicht folgen, um diese Uhrzeit

Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Bei der Zeilenlänge wird das auch am Tage nichts.ts-soft hat geschrieben:Der Logik werde ich lieber nicht folgen, um diese Uhrzeit
Code: Alles auswählen
Procedure.s GetParentDirectory(Dir$)
If Len(Dir$) > 3
If GetFilePart(Dir$) : Dir$ = GetPathPart(Dir$) : EndIf
Dir$ = GetPathPart(Left(Dir$, Len(Dir$)-1))
EndIf
ProcedureReturn Dir$
EndProcedure
Debug GetParentDirectory("C:\MainFolder\SubFolder_1\SubFolder_2\")
Debug GetParentDirectory("C:\MainFolder\SubFolder_1\")
Debug GetParentDirectory("C:\MainFolder\")
Debug GetParentDirectory("C:\")
Debug GetParentDirectory("C:\a\b\c\d\e\") ; <--- Das geht jetzt also auch.
Debug GetParentDirectory("\\UBUNTU_DESKTOP\pb-ubuntu32\")
Debug GetParentDirectory("d:\ts-temp\simpsons_006.jpg")
Code: Alles auswählen
Procedure.s GetParentDirectory(Dir$)
If Len(Dir$) > 3
Dir$ = GetPathPart(Left(GetPathPart(Dir$), Len(GetPathPart(Dir$))-1))
EndIf
ProcedureReturn Dir$
EndProcedure
Debug GetParentDirectory("\\UBUNTU_DESKTOP\pb-ubuntu32\")
Debug GetParentDirectory("d:\ts-temp\simpsons_006.jpg")
Debug GetParentDirectory("C:\a\b\c\d\e\")
al90 hat geschrieben:Oh man um die Uhrzeit hab ich wohl nur noch Denkfehler.![]()
Naja jetzt weis ich was ich falsch gemacht hatte. Hier meine Lösung:![]()
Code: Alles auswählen
Procedure.s GetParentDirectory(Dir$) If Len(Dir$) > 3 Dir$ = GetPathPart(Left(GetPathPart(Dir$), Len(GetPathPart(Dir$))-1)) EndIf ProcedureReturn Dir$ EndProcedure Debug GetParentDirectory("\\UBUNTU_DESKTOP\pb-ubuntu32\") Debug GetParentDirectory("d:\ts-temp\simpsons_006.jpg")
Code: Alles auswählen
Debug GetParentDirectory("C:\a\b\c\d\e")
Nein, da bisher noch keine korrekt funktioniert!a14xerus hat geschrieben:Bin ich nur doof oder kann mir mal einer die jetzt aktuellste Version der "GetParentDirectory" Procedure geben ?
Ja hast recht, war noch ein Fehler drinn. Korrigiert!
Und was ist mit deiner ? :ts-soft hat geschrieben:Nein, da bisher noch keine korrekt funktioniert!a14xerus hat geschrieben:Bin ich nur doof oder kann mir mal einer die jetzt aktuellste Version der "GetParentDirectory" Procedure geben ?
ts-soft hat geschrieben:Zwar nicht eine Zeile, aber scheint wenigstens zu funktionieren, was ja viel wichtiger ist:Code: Alles auswählen
Procedure.s GetParentDirectory(Dir$) If Len(Dir$) > 3 If GetFilePart(Dir$) : Dir$ = GetPathPart(Dir$) : EndIf Dir$ = GetPathPart(Left(Dir$, Len(Dir$)-1)) EndIf ProcedureReturn Dir$ EndProcedure ; [...]
Geht auch noch nicht.a14xerus hat geschrieben:Und was ist mit deiner ? :
Code: Alles auswählen
Debug GetParentDirectory("d:\a\b\c\d\e")
Code: Alles auswählen
Procedure.s GetParentDirectory(Dir$)
If Len(Dir$) > 3
If Right(Dir$,1)<>"\" And GetExtensionPart(Dir$)="" : Dir$+"\" : EndIf
Dir$ = GetPathPart(Left(GetPathPart(Dir$), Len(GetPathPart(Dir$))-1))
EndIf
ProcedureReturn Dir$
EndProcedure
Debug GetParentDirectory("\\UBUNTU_DESKTOP\pb-ubuntu32\")
Debug GetParentDirectory("d:\ts-temp\simpsons_006.jpg")
Debug GetParentDirectory("d:\a\b\c\d\e")