ordner+unterordner in treeview verpacken
Übersicht

HopsBetreff: ordner+unterordner in treeview verpacken |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
halloo!
auf die gefahr hin, dass das jetzt als nervend eingestuft wird ![]() es geht darum, in einem treeview von einem bestimmen ordner oder partition aus alle enthaltenen ordner darzustellen... also beispiel: der benutzer wählt z.b. in einem RequestDir$()-Dialog einen ordner (z.b. "programme", oder auch "C:\") aus und das programm soll dann alle ordner, die dort enthalten (und die wieder darin enthaltenen und so weiter) ordner in eine treeview stecken... dateien sollen (vorerst..., falls es dann sunktioniert folgt die auslesung aller dateien eines bestimmten typs) nicht berücksichtigt werden... nun habe ich schon ziemlich viele ideen gehabt, die jedoch alle zu nichts führten. probleme sind: die verwaltung der nodes (ich habe es mit dim-feldern versucht -> man bräuchte für jeden ordner ein neues) und das allgemeine "jeden ordner auf unterordner durchsuchen, diese wieder..." oder macht diese technik überhaupt eh gaarkeinen sinn, da auch bei wenigen unterordnern/dateien schon zu viel zeit beansprucht wird?? ich hoffe, ihr versteht mein prolem und vielleicht hat jemand schon mal eine derartige routine geschrieben, ich wäre über jedliche hilfe dankbar!! bis dann mfg |
||
sdjh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hast du das nicht schon vor ein paar tagen gefragt?
Als: Code: [AUSKLAPPEN] win=CreateWindow("test",20,20,400,650) treeview=CreateTreeView(5,5,380,600,win) listdir_rek(TreeViewRoot(treeview),"C:\") Repeat event=WaitEvent() If event=$803 Then End Forever Function listdir_rek(parent,p$) n$=GetFileName$(p$) ;bitte selber schreiben, oder irgendwo klauen node=AddTreeViewNode(n$,parent) dir=ReadDir(p$) NextFile(dir) NextFile(dir) Repeat d$=NextFile(dir) If d$="" Then Exit If FileType(p$+"\"+d$)=2 Then listdir_rek(node,p$+"\"+d$) Forever End Function Function GetFileName$(s$) p=0 Repeat p=Instr(s$,"\",p) If p=0Then Exit p2=p p=p+1 Forever Return Right(s$,Len(s$)-p2) End Function Wenn Dateien auf aufgelistet werden soll, einfach die Bedingung "If FileType..." weglassen. Das wird aber langsam. Also besser (so wie auch schon unter Win 3.1) die Verzeichnisse erst lesen, wenn der Nutezr sie auch wirklich sehen will... |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
genau die Frage wurde vor 2 Tagen schonmal gestellt ^^
https://www.blitzforum.de/foru...hp?t=25145 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Hops |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ääähh... öööhm... gaaaanich gesehen ![]() naja, wie auch immer: von der geschwindigkeit würds schon gehen, da ich nich ganz C: auslesen würde sondern vielleicht C:\programme\blabla aber ich finde treeview dazu eh ziemlich ungeeignet, da beim auswerten "nur" die id zurückgegeben wird, was nochmal zusatz aufwand bedeutet, wenn man dann den pfad daraus lesen will (bei obiger routine z.b.: für alle neuen zweige wird die gleiche variable überschrieben -> höchstens noch mit types mit feldern "id" und "name$")... nuja, dann lass ich mir was anderes einfallen... aber danke!! bis denne mfg hops |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group