| |
|
|
Nico Madysa |
$H Windows.ph
$H Messages.ph
$I controls.prf
3 + 4 + 8
proc Add_Dir
parameters pfad$ , galerie% , p&
declare i%[14] , nextdir$
si (galerie% < 0)
p& = TV_AddItem(tv&,0,2,2,Laufwerk + pfad$ + \,i#[t%])
inc galerie%
inc t%
endif
ClearList
ClearList lb&[galerie%]
AddFiles pfad$ + \*
whileloop 0 , %GetCount
Match$(^~[.+~]$,ListBoxItem$(&loop))
si %MatchPos >= 0
AddStrings(lb&[galerie%],$Match)
endif
Endwhile
DeleteString(lb&[galerie%],Sélectionnez String(lb&[galerie%],(-1),[.]))
DeleteString(lb&[galerie%],Sélectionnez String(lb&[galerie%],(-1),[..]))
ClearList
MoveHandleToList(lb&[galerie%])
clear i%[galerie%]
tandis que i%[galerie%] < (GetCount(lb&[galerie%]))
nextdir$ = GetString$(lb&[galerie%],i%[galerie%])
nextdir$ = Mid $(nextdir$,2,len(nextdir$) - 2)
TV_AddItem(tv&,p&,0,1,nextdir$,i#[t%])
inc t%
si galerie% < 14
Add_Dir (pfad$ + \ + nextdir$) , (galerie% + 1) , i#[t% - 1].hItem&
endif
i%[galerie%] = i%[galerie%] + 1
Wend
endproc
proc finissons
FreeDLL shl&
il#.Destroy()
Dispose il#
Dispose i#[]
end
endproc
declare il# , tv& , tx& , shl& , i#[1999] , lb&[14] , t%
Faible i#[] , TV_Item
shl& = UseDll(SHELL32)
cls SysColor(15)
Titre de la fenêtre s'il te plaît attendre, erstelle Verzeichnisbaum...
whileloop 15
lb&[&loop - 1] = Créer(ListBox,%hWnd,1,0,0,0,0)
Endwhile
il# = New(ImageList)
il#.AddImage($SysPath + \Shell32.dll,3)
il#.AddImage($SysPath + \Shell32.dll,4)
il#.AddImage($SysPath + \Shell32.dll,8)
tv& = Créer(Treeview,%hWnd,il#.hList&,5,5,200,400)
Add_Dir C: , (-1) , 0 <-- ici den Laufwerksbuchstaben/Anfangspfad eingeben; am Ende darf ne...aucune Backslash stehen
TV_Expand tv& , i#[0].hItem&
SetText %hWnd , str$(t%) + Einträge im Treeview
whilenot IsKey(27)
waitinput
Wend
finissons
end
avec diesem Code wird un Treeview erzeugt et par Rekursion (suis je stolz, dass je cela hinbekommen habe! ) avec allen Verzeichnissen eines Conduire pleine. malheureusement ist cela très compliqué et dauert assez longtemps. Daher habe je deux Fragen: 1.) comment viele Einträge contient cela Treeview chez euch maximum? (Steht pour dem magasin dans qui Titelleiste) Mir ca va tout autor, trop savons, si qui Handles reichen. 2.) Gibt es pas irgendeinen einfacheren Weg? dans qui Win32.hlp habe je rien trouvé et Assembler kenne je mich sonderlich aus. Könnte on cela so beschleunigen? |
|
|
| |
|
|
|
Hubert Binnewies | je hätte es oui volontiers getestet, mais malheureusement habe je seulement XProfan 9.1...sorry...
Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 25.04.2007 ▲ |
|
|
|
|
Jörg Sellmeyer | Du devrait pas alle données tout de suite einlesen, mais seulement chez besoin. alors toujours seulement qui Fichiers auslesen, qui justement im aktuellen Dossier sommes. Sonst dois Du aussi andauernd alles aktualisieren, si sich am Dateibestand quoi ändert. malheureusement doit on ensuite aussi so fiese Messages comment Klick sur Plus-/Minuszeichen avant dem Dossier intercepter. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 25.04.2007 ▲ |
|
|
|
|
| Du könntest mon addfiles.dll benutzen! cet ist weitaus plus rapide et bietet ebenso Rekursion jusqu'à zum Abwinken. devoir des XProfanprogrammes ist ensuite seulement encore un Boucle zum Befüllen des TreeViews. |
|
|
| |
|
|
|
| Incidemment - controls.prf devrait Du zum obigen Beispiel déjà mitliefern - ou bien qui DownloadURL angeben. |
|
|
| |
|
|
|
Frank Abbing | Hm,
steigt chez mir pour court Zeit aus avec dem faute: cela Element gibt es pas. (la ligne 46)
Votre Solution, qui Icônes aus qui Shell32.dll trop magasin, ist imaginable ungeeignet, weil qui Icônes so une schlechte la qualité aufweisen. je serait dans chaque le cas qui System-Imageliste benutzen, ensuite erhälst du hochwertige Icônes. dans meinem Listview.dll-paquet est sich mon Treeview.dll, qui également Verzeichnisse dans einem Treeview listet. tiens rein, so devrait qui Icônes air. Ist aussi une très schnelle Solution, là dans Assembler erstellt.
peut-être hilft dir qui Message WM_SETREDRAW, um deine Geschwindogkeit trop erhöhen. |
|
|
| |
|
|
|
Thomas Freier | Hätte je mir volontiers angesehen. mais malheureusement brechen alle Beispiele avec faute ab. Listview.zip vom Mars 2007 |
|
|
| |
|
|
|
Frank Abbing | ah nö... hab qui Codes heut l'après-midi doch encore selber getestet. courir net sous XP... Bestimmt ist dein Programmeditor pas sur den passenden Pfad eingestellt. Probierste la fois feste Pfade ou bien $progdir? |
|
|
| |
|
|
|
Thomas Freier | Glaube je dir. viens mais pas plus. Anbei cela Original avec $drive et einmal avec $PROGDIR...https://XProfan.com/images/smiles/6.gif |
|
|
| |
|
|
|
Frank Abbing | Beide Exe marcher einwandfrei chez mir. Wüsste pas, quoi je là pour toi 1faire pourrait. Würden cela s'il te plaît encore weitere User testen? |
|
|
| |
|
|
|
| @Frank Beide DLL - (Listview.DLL et Treeview.DLL) funtionieren einwandfrei. Schliesslich sommes wir Dir souvent genug sur den le réveille-matin gegangen, weil wieder la fois quelqu'un une Bug fand ou bien une Verbesserungsvorschlag hatte
Im Bild sieht on qui gleichzeitige Benutzung qui beiden DLL - cela Hauptfenster zeigt qui Listview.dll avec allen relevanten données à. Im Vordergrund ist qui Treeview.dll aktiv. |
|
|
| |
|
|
|
Carlo Keil | je vermute une Zusammenhang avec qui Verzeichnisstruktur et avec cela avec qui Rekursionstiefe. sur meinen C:-Laufwerk (Verzeichnisse et Verzeichnisschachtelungen presque sans Ende) gibt es aussi qui Fehlermeldung cela Element gibt es pas.. sur meinem P:-Laufwerk (contient seulement mon komplettes Profan-Entwicklungssystem) klappt es sans Fehlermeldung.
Salut Carlo |
|
|
| |
|
|