CreatePath - erstellt beliebig tiefe Verzeichnisebenen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

CreatePath - erstellt beliebig tiefe Verzeichnisebenen

Beitrag von Sicro »

Code: Alles auswählen

CompilerSelect #PB_Compiler_OS
  CompilerCase #PB_OS_Windows
    #Path_Slash$ = "\"
  CompilerDefault
    #Path_Slash$ = "/"
CompilerEndSelect

Procedure.i CreatePath(Path$)
  
  Protected CountOfDirectories, i
  Protected TempPath$
  
  Path$ = Trim(Path$, #Path_Slash$)
  
  CountOfDirectories = CountString(Path$, #Path_Slash$) + 1
  For i = 1 To CountOfDirectories
    CompilerIf #PB_Compiler_OS = #PB_OS_Windows
      If i = 1
        TempPath$ = StringField(Path$, i, #Path_Slash$)
        Continue
      EndIf
    CompilerEndIf
    TempPath$ + #Path_Slash$ + StringField(Path$, i, #Path_Slash$)
    If FileSize(TempPath$) <> -2 And Not CreateDirectory(TempPath$)
      ProcedureReturn #False
    EndIf
  Next
  
  ProcedureReturn #True
EndProcedure

;Debug CreatePath("/home/username/myproject/codes/gui")
;Debug CreatePath("C:\Dokumente und Einstellungen\Benutzername\Programmieren\Mein Projekt\GUI")
Der obige Code wird nicht mehr aktualisiert. Bitte schaue für den aktuellsten Code ins CodeArchiv:
https://github.com/SicroAtGIT/PureBasic ... iv-Rebirth
Pfad: FileSystem/CreatePath
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version