PureBasic: directory tree

 Еще одни поиски утилиты толкнули на написание своего кода. Мне была нужна программа, которая строила бы дерево внутри выбранной папки. Получился такой код:

;https://cloford.com/resources/charcodes/utf-8_box-drawing.htm
Procedure scan(dn,path$,intent)
  If ExamineDirectory(dn, path$, "*.*")  
    While NextDirectoryEntry(dn)
      If DirectoryEntryType(dn) = #PB_DirectoryEntry_Directory
        f$=DirectoryEntryName(dn)
        If f$<>"." And f$<>".."
          WriteString(0,Chr(9500),#PB_UTF8)
          For k=1 To intent
            WriteString(0,Chr(9472),#PB_UTF8)
          Next k
          WriteStringN(0,f$,#PB_UTF8)
          scan(dn+1,path$+f$+"\",intent+1)
        EndIf
      EndIf
    Wend
    FinishDirectory(dn)
  EndIf
EndProcedure
CreateFile(0,"huj.txt")
scan(0,"D:\tool\",1)
CloseFile(0)

Для простоты я взял символы в кодировке UTF-8. Будет время, доведу до программы.

Комментарии