Blitz+ Explorer von ???
Viel Spass,

Dauert am anfang ein bisschen um die ganzen Ordner zu laden, aber dann is ganz nützlich, bzw. auch nicht, da man ja [Win]+[E] drücken kann :D

is auch ein kleines Beispiel von Rekursiven Programmieren dabei.

[code:1:d8e5798f09]Type t_treedir
Field path$, id
End Type

Type t_file
Field path$, id
Field ftype
End Type



window=CreateWindow("Blitz+ Explorer",0,0,800,600,0,3)
treeview = CreateTreeView(5,5,190, ClientHeight(window)-10, window)
fileview = CreateListBox(200, 5, ClientWidth(window)-205, ClientHeight(window)-10, window)
SetGadgetLayout treeview, 1,0,1,1
SetGadgetLayout fileview, 1,1,1,1
MaximizeWindow window

DisableGadget window

For i=Asc("A") To Asc("Z")
If FileType(Chr$(i)+":") <> 0 Then
main = AddTreeViewNode(Chr$(i)+":", TreeViewRoot(treeview))
t.t_treedir = New t_treedir
tpath$ = Chr$(i)+":"
tid = main
addtreedir(main, Chr$(i)+":")
ExpandTreeViewNode main
CollapseTreeViewNode main
End If
Next

EnableGadget window

Repeat
Select WaitEvent(3000)
Case $101

Case $102

Case $103

Case $201

Case $202

Case $203

Case $204

Case $401
Select EventSource()
Case treeview
FileViewGo fileview, treedirpath$(SelectedTreeViewNode(treeview))
Case fileview
ExecFile Chr$(34)+fileviewpath$(SelectedGadgetItem(fileview))+Chr$(34)
End Select
Case $801

Case $802

Case $803
End
Case $804

Case $1001

Case $2001

Case $2002

Case $4001

Default

End Select
Forever

Function addtreedir(parent, dir$)
Local ordner, name$, child, anz=0

ordner = ReadDir(dir$)
If ordner = 0 Then Return 0
Repeat
name$ = NextFile(ordner)
If FileType(dir$+""+name$) = 2 And name$ <> "." And name$ <> ".." And name$ <> "" Then
child = AddTreeViewNode(name$, parent)
anz = anz+addtreedir(child, dir$+""+name$)+1
t.t_treedir = New t_treedir
tpath$ = dir$+""+name$+""
tid = child
End If
Until name$ = ""
CloseDir ordner

Return anz
End Function

Function treedirpath$(id)
For t.t_treedir = Each t_treedir
If tid = id Then Return tpath$
Next
End Function

Function FileViewGo(fileview, path$)
Local i, dir, name$
Delete Each t_file
While CountGadgetItems(fileview) <> 0
RemoveGadgetItem fileview, 0
Wend

dir = ReadDir(path$)
If dir = 0 Then Return 0

i=0
Repeat
name$ = NextFile(dir)
If name$ <> "" And name$ <> "." And name$ <> ".." And FileType(path$+name$) = 1 Then
AddGadgetItem(fileview, name$)
t.t_file = New t_file
tid = i
tftype = 1
tpath$ = path$+name$
i=i+1
End If
Until name$ = ""
End Function

Function fileviewpath$(id)
For t.t_file = Each t_file
If tid = id Then Return tpath$
Next
End Function[/code:1:d8e5798f09]
===
von ???
vielleicht wäre es besser, die pfade erst dann zu laden, wenn man sie erweitert hat? bei meinem BlitzUI filerequester lasse ich noch grösse, typ und datum der dateien anzeigen...was meinst du, wie lange das dauern würde, würde ich beim start alle dateien auf allen partitionen einlesen? ^_^ ne, also da musst du schon mal noch was optimieren...
===
von ich
Dauert bei mir 15 min, Hängt ein server mit Laufwerksverknüpfung daran,

Dauert lange und sieht nicht so schön aus, und die Dateien werden mit einen Klick gleich geöffnet,

die idee ist aber gut!
===
von ???
ehh is nur n beispiel! :D

ausserdem gehts bei mir in 10 sekunden am laptop

manchmal hilft abbrechen und neustarten das schneller geht!



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: