@Kaeru
Kaeru Gaman hat geschrieben:
Code: Alles auswählen
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
#Seperator$ ="" ; für Windows
CompilerElse
#Seperator$ ="/" ; für MacOS, Linux
CompilerEndIf
Ja, irgendwie hatte es mir auch noch nicht gefallen mit der globalen Variable. Aber weißt ja, wie es manchmal ist, da fällt es einem einfach nicht ein
Hab mich da schon oft gefragt, ob es da nicht schon eine Konstante von PB aus gibt und wenn nein, wieso nicht.
Genauso das ZeilenUmbruchzeichen. Immer muss man da irgendwas mit Charactern machen
Das macht es hier und da etwas kompliziert.
zu AND51 und ts-Soft
Ziel war es ja, dass es auch auf einem Mac läuft. Und ts-soft, nutzt du nicht selbst auch Linux. Wie machste es denn da?
Meine Routine, die ich am Anfang gepostet hatte, dient erstmal dazu, dass die Verzeichnisse erstellt werden. Ob man nun den Pfad mit Slash, mit falschen Zeichen oder sonst irgendwie an die Prozedur liefert, steht ja wieder auf einem anderen Blatt.
Wenn man vorher einen Requester benutzt, oder eine Verzeichnisliste hat, genauso kann man noch einen Slash ransetzen oder nicht.
Denke aber mit dem Nachtrag von Kaeru ist die Prozedur wohl schon eine gute Lösung. Zu mindest hab ich nicht viel was anderes gesehen.
al90 hat geschrieben:Code: Alles auswählen
Procedure.l MakeDirectoryGroup(Dir$)
Protected i, b$, c$
If Right(Dir$,1)<>"" : Dir$+"" : EndIf
If Mid(Dir$,2,2)=":" And FileSize(Dir$)=-1
c$=Left(Dir$,3)
For i=4 To Len(Dir$)
b$=Mid(Dir$,i,1)
c$+b$
If b$=""
CreateDirectory(c$)
EndIf
Next
EndIf
ProcedureReturn FileSize(Dir$)
EndProcedure
;Debug MakeDirectoryGroup("C:\windows\temp\Eins\Zwei\Drei")
Wieso fängt dein "i" erst bei vier an? versuchst du damit "C:" zu übersprinen?

(Gibt es sowas bei MacOS und Linux?)
@String
CreateTopDirectory("C:\hallo/paul...?\klaus//tach post*\>>Maus<<\::Pure|y|BasIc")
Wenn man gut ist, funktioniert die Prozedur auch für URLs.
Natürlich mit der entsprechenden richtigen Anpassung.
