| |
|
|
- Página 1 - |
|
 Nico Madysa |
$H Windows.ph
$H Messages.ph
$I controls.prf
3 + 4 + 8
proc Add_Dir
parámetros pfad$ , rang% , p&
declarar i%[14] , nextdir$
if (rang% < 0)
p& = TV_AddItem(tv&,0,2,2,Laufwerk + pfad$ + \,i#[t%])
inc rang%
inc t%
endif
ClearList
ClearList lb&[rang%]
AddFiles pfad$ + \*
whileloop 0 , %GetCount
Match$(^~[.+~]$,ListBoxItem$(&bucle))
if %MatchPos >= 0
AddStrings(lb&[rang%],$Match)
endif
EndWhile
DeleteString(lb&[rang%],Seleccione String(lb&[rang%],(-1),[.]))
DeleteString(lb&[rang%],Seleccione String(lb&[rang%],(-1),[..]))
ClearList
MoveHandleToList(lb&[rang%])
clear i%[rang%]
mientras que i%[rang%] < (GetCount(lb&[rang%]))
nextdir$ = GetString$(lb&[rang%],i%[rang%])
nextdir$ = Mid$(nextdir$,2,len(nextdir$) - 2)
TV_AddItem(tv&,p&,0,1,nextdir$,i#[t%])
inc t%
if rang% < 14
Add_Dir (pfad$ + \ + nextdir$) , (rang% + 1) , i#[t% - 1].hItem&
endif
i%[rang%] = i%[rang%] + 1
wend
ENDPROC
proc final
FreeDLL shl&
il#.Destroy()
Disponer il#
Disponer i#[]
end
ENDPROC
declarar il# , tv& , tx& , shl& , i#[1999] , lb&[14] , t%
Dim i#[] , TV_Item
shl& = UseDll(SHELL32)
cls SysColor(15)
Título de la ventana Bitte warten, erstelle Verzeichnisbaum...
whileloop 15
lb&[&bucle - 1] = Crear(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& = Crear(Treeview,%hWnd,il#.hList&,5,5,200,400)
Add_Dir C: , (-1) , 0 <-- hier el Laufwerksbuchstaben/Anfangspfad eingeben; al Ende darf kein Backslash posición
TV_Expand tv& , i#[0].hItem&
SetText %hWnd , str$(t%) + Einträge en el Treeview
whilenot IsKey(27)
waitinput
wend
Beenden
end
Mit diesem Code se una Treeview producido y por Rekursion (bin Yo stolz, dass Yo el hinbekommen habe! ) con allen Verzeichnissen una unidad de gefüllt. Leider es el muy umständlich y dauert bastante largo. Daher Yo zwei Fragen: 1.) Como viele Einträge enthält el Treeview en euch máximo? (Steht después de el Laden en el Titelleiste) Mir es por lo tanto, a wissen, si el Handles reichen. 2.) Gibt no irgendeinen einfacheren Weg? In el Win32.hlp Yo nichts gefunden y Ensamblador saber Yo mich sonderlich de. Könnte al así beschleunigen? |
 |
|
| |
|
|
|
| |
|
- Página 2 - |
|
 GDL |
|
|
| |
|
|
|
 | Leg simplemente Laufwerke a Horst!
Start → Ausführen → %comspec% [enter] subst /? [enter] |
|
|
| |
|
|
|
 Jörg Sellmeyer | ¡Hola Horst, Usted puede el sí selber con cualquier vielen Laufwerken einrichten. Einfach bajo Start -> Ausführen así oft Subst M: C:Windows eingeben a Usted entweder genügend hast oder el Limit de 26 erreicht es. Natürlich muß el Laufwerksbuchstabe siempre una otro y una freies Laufwerk ser. Usted puede auch otro Ordner como virtuelles Laufwerk nehmen aber el muß no ser.
Ok, IF war más rápido  |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 26.04.2007 ▲ |
|
|
|
|
 | @ IF + Jörg OK - y cómo bekomme Yo el Laufwerke otra vez weg ?  |
|
|
| |
|
|
|
 Jörg Sellmeyer | Subst /D M: Nach una Neustart son aber sowieso todos otra vez weg. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 26.04.2007 ▲ |
|
|
|
|
 | Gracias  Funktioniert  Siehe Bild |
|
|
| |
|
|
|
 Nico Madysa | OK, primero danke para el vielen Respuesta. Den Tip con el Laden el Ordner si nötig es, voluntad I cada Fall umsetzen (como me ya así viele Personas dazu geraten haben ) AddFiles.dll y el Message voluntad Yo en cada Fall auch ansehen.
Der Fehler Das Element no existe. es simplemente a erklären: Der Code füllt el Element-Handles des Treeviews en una Array, el Yo vorläufig en 2000 Handles begrenzt habe, aber el es sí todavía erweiterbar. Der zweite Fehler Yo no soy erklärbar; por el Abfangen de rang% debería el maximale Rekursionstiefe eigentlich no überschritten voluntad. Aber si yo el Ordner sólo a Laufzeit lade, hätte se el problema sowieso hecho.
@Franco: Como komme Yo a el Handle el Sistema-Imagelist? Ohne el komm Yo más schlecht a el Liste heran.  |
|
|
| |
|
|
|
 | So como yo beim Überfliegen gesehen habe podría rang% no siempre el deseado Zweck erfüllen. Besser en solchen Rekursionsgeschichten podría folgendes ser: KompilierenMarcaSeparación |
|
|
|
| |
|
- Página 3 - |
|
|
 Nico Madysa | Yo habe con uno globalen Variables no Problemas, es schließlich mein eigener Code.  |
|
|
| |
|
|
|
 | @Nico
@Franco: Como komme Yo a el Handle el Sistema-Imagelist? Ohne el komm Yo más schlecht a el Liste heran.
Franco es anscheinend no como - geb Yo Usted sólo Auskunft: Guck doch veces en el LISTVIEW-Ayuda bajo CreateImageList(F,B) después de - como es alles weitere |
|
|
| |
|
|
|
 Frank Abbing | Nico wills doch sin Dll hacer...
Geht en API SHGetFileInfo(), Nico. Como bekommst du una Pointer en una Kopie el SystemImageList. Ein Pointer el Original va auch, aber sólo encima zwei undokumentierte APIs de el SHELL32. Das lass bleiben. El Kopie enthält auch fast todos Icons. |
|
|
| |
|
|
|
 Nico Madysa | Alles klar, danke. Yo ahora de paso o ne- neue Concepto, el Wahl no a el ChooseDir- pero a el LoadFile-Diálogo anzulehnen, sprich, eijn Listview, en lugar de una Treeview redactar. Dann dauert auch el Laden no así lang. |
|
|
| |
|
|