explorertree- oder Treegadget (NUR bestimmter Pfad) ?
explorertree- oder Treegadget (NUR bestimmter Pfad) ?
Hallo,
ich möchte entweder in einem ExplorerTreeGadget oder einem TreeGadget eine Verzeichnisstruktur eines BESTIMMTEN Ordners darstellen. OHNE weitere Anzeige der restlichen Laufwerke bzw. Ordner.
Also im Klartext:
z.B. den Pfad W:\Bilder
Der Baum soll also als OBERSTEN Eintrag den Pfad W:\Bilder darstellen und darunter halt eben die Unterordnerstruktur. (sonst NICHTS - auch keine Dateien !!). Selbstverständlich soll es möglich sein, wenn sich in einem Unterordner weitere Unterordner befinden, diese per klick auf den entsprechenden Node zu anzuzeigen.
Ist dies irgendwie möglich ???
Danke schonmal.....
Marco
ich möchte entweder in einem ExplorerTreeGadget oder einem TreeGadget eine Verzeichnisstruktur eines BESTIMMTEN Ordners darstellen. OHNE weitere Anzeige der restlichen Laufwerke bzw. Ordner.
Also im Klartext:
z.B. den Pfad W:\Bilder
Der Baum soll also als OBERSTEN Eintrag den Pfad W:\Bilder darstellen und darunter halt eben die Unterordnerstruktur. (sonst NICHTS - auch keine Dateien !!). Selbstverständlich soll es möglich sein, wenn sich in einem Unterordner weitere Unterordner befinden, diese per klick auf den entsprechenden Node zu anzuzeigen.
Ist dies irgendwie möglich ???
Danke schonmal.....
Marco
Arbeit adelt.
Aber Adel arbeitet nicht...
Aber Adel arbeitet nicht...
- PB 4.10
- PBOSL 2.0 (27.01.2007)
- HelpMaker 7.3.23.0
Hallo CNESM...
könntest Du mir verraten wie Du das gemacht hast ??
Bin Anfänger...
weiss nicht wie ich das anstellen soll. Habs schon mit einigen Codeteilen aus´m CAV oder hier aus´m Forum probiert, habs leider nicht hinbekommen
Trotzdem schon mal Danke für Deinen Tipp
Marco
könntest Du mir verraten wie Du das gemacht hast ??
Bin Anfänger...

weiss nicht wie ich das anstellen soll. Habs schon mit einigen Codeteilen aus´m CAV oder hier aus´m Forum probiert, habs leider nicht hinbekommen

Trotzdem schon mal Danke für Deinen Tipp

Marco
Arbeit adelt.
Aber Adel arbeitet nicht...
Aber Adel arbeitet nicht...
- PB 4.10
- PBOSL 2.0 (27.01.2007)
- HelpMaker 7.3.23.0
ich bin zwar nicht CNESM, aber vielleicht kann ich auch weiterhelfen. Alsheini hat geschrieben:könntest Du mir verraten wie Du das gemacht hast ??
erstes benötigst Du eine rekursive Procedur, die Dir die Ordnerstruktur
ausliest. Diese kannst Du dann bequem mit AddGadgetItem() in das
Treegadget einfügen. Jedes mal, wenn es eine Ordnerebene tiefer geht,
dann erhöhst Du die Einrücktiefe (Indentation); wenn's wieder hoch geht,
dann reduzierst Du die Einrücktiefe.
Code: Alles auswählen
Procedure ListFiles(EntryPath.s, Indentation.l)
; by Lebostein
; modified by Kiffi
EntryPath + ""
UsedDirectory = ExamineDirectory(#PB_Any, EntryPath, "*.*")
While NextDirectoryEntry(UsedDirectory)
EntryType.l = DirectoryEntryType(UsedDirectory)
EntryName.s = DirectoryEntryName(UsedDirectory)
If EntryName = "." Or EntryName = "..": Continue: EndIf
If EntryType = #PB_DirectoryEntry_Directory
AddGadgetItem(0, -1, EntryPath + EntryName, 0, Indentation)
Indentation + 1
ListFiles(EntryPath + EntryName, Indentation)
Indentation - 1
EndIf
Wend: FinishDirectory(UsedDirectory)
EndProcedure
; ----------------------------------------
If OpenWindow(0, #PB_Ignore, #PB_Ignore, 500, 500, "", #PB_Window_SystemMenu | #PB_Window_Invisible)
If CreateGadgetList(WindowID(0))
TreeGadget(0, 5, 5, 590, 490)
ListFiles("c:\programme\purebasic", 0)
HideWindow(0, #False)
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
EndIf
a²+b²=mc²
Nyu 20 min zu spät fertig geworden
Hat halt länger gedauert alles umzumodeln auf alle Verzeichnisse und dann noch das richtige einfügen in das TreeGadget mit den richtigen Nodes
Benutze einmal WinAPI dafür hat man aber nicht das unschöne StartDir\\Dirs aus Kiffi's Bsp und es werden nur die Ordner angezeigt ohne Pfad

Hat halt länger gedauert alles umzumodeln auf alle Verzeichnisse und dann noch das richtige einfügen in das TreeGadget mit den richtigen Nodes
Benutze einmal WinAPI dafür hat man aber nicht das unschöne StartDir\\Dirs aus Kiffi's Bsp und es werden nur die Ordner angezeigt ohne Pfad
Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
Enumeration
#Tree_0
EndEnumeration
Procedure PfadDurchsuchen(dir$, sublevel)
; http://www.purebasic.fr/german/viewtopic.php?p=135511#135511
dir = ExamineDirectory(#PB_Any, dir$, "*.*")
PathAddBackslash_(dir$) ; WinAPI32 - ab IE 4
If dir
While NextDirectoryEntry(dir)
name.s = DirectoryEntryName(dir)
If name = "." Or name = ".." : Continue : EndIf
If DirectoryEntryType(dir) = #PB_DirectoryEntry_Directory
folder.s = StringField(dir$ + name, CountString(dir$ + name, "\") + 1, "\")
AddGadgetItem(#Tree_0, -1, folder, 0, sublevel)
sublevel + 1
PfadDurchsuchen(dir$+name, sublevel)
sublevel - 1
EndIf
Wend
FinishDirectory(dir)
EndIf
EndProcedure
If OpenWindow(#Window_0, 216, 0, 200, 300, "ListDir", #PB_Window_SystemMenu)
If CreateGadgetList(WindowID(#Window_0))
TreeGadget(#Tree_0, 0, 0, 200, 300)
EndIf
pfadDurchsuchen(#PB_Compiler_Home, 0)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
End
Warum ausnichtmachen??
(war bei D@nte und Kiffi so)
Code: Alles auswählen
sublevel + 1
PfadDurchsuchen(dir$+name, sublevel)
sublevel - 1
Code: Alles auswählen
PfadDurchsuchen(dir$+name, sublevel+1)
(war bei D@nte und Kiffi so)
Hallo D@nte....
WOW
hast Recht... finde ich OPTISCH schöner...
hab auch das Gefühl das es etwas schneller geht die Verzeichisstruktur einzulesen... wie gesagt, hab das Gefühl, kann mich aber auch täuschen...
NOCHMALS VIELEN VIELEN DANK EUCH ALLEN !!!!
Marco
WOW



hast Recht... finde ich OPTISCH schöner...
hab auch das Gefühl das es etwas schneller geht die Verzeichisstruktur einzulesen... wie gesagt, hab das Gefühl, kann mich aber auch täuschen...
NOCHMALS VIELEN VIELEN DANK EUCH ALLEN !!!!
Marco
Arbeit adelt.
Aber Adel arbeitet nicht...
Aber Adel arbeitet nicht...
- PB 4.10
- PBOSL 2.0 (27.01.2007)
- HelpMaker 7.3.23.0