Español
Fuente/ Codesnippets

Eines Füllen Laufwerkes Treeview Verzeichnisbaum

 
- 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?

14 kB
Kurzbeschreibung: El benötigte Incluir
Hochgeladen:25.04.2007
Ladeanzahl187
Descargar
 
Nico Madysa
25.04.2007  
 



 
- Página 2 -


@Carlo

[offtopic]

Auf mi P:-Laufwerk ...


Wieviel Laufwerke hast Usted ? - 16 y mehr ? - Dann könntest Usted para mich veces a la Test durchführen. - Yo komme en media Laufwerken sólo a I: - Müsste aber mi Dateiverwaltung con mehr como 12 Laufwerken testen a Darstellung a kontrollieren - Einverstanden con un Test ?
[/offtopic]
 
26.04.2007  
 




Thomas
Freier
¡Hola Franco,
en el PC (con SP2) se ejecuta auch en me alles einwandfrei.
Auf el Laptop (con SP1) klappt sólo el Treeview no. Explorer-Demo con Listview es OK. Hatte sólo el ext. USB-Platte en Verdacht, änderte se no después de el Entfernen y Neustart.
 
Gruß Thomas
Windows XP SP2, XProfan X2
26.04.2007  
 




Carlo
Keil
Horst Horn
@Carlo

[offtopic]
Horst Horn
Auf mi P:-Laufwerk ...


Wieviel Laufwerke hast Usted ? - 16 y mehr ? [/offtopic]




Leider nein, pero yo stamme todavía de DOS-Veces
Und como gab lo el schönen Befehl subst. Damit puede ser se prima Laufwerke hacer, porque así una Pfad una Laufwerksbuchstabe zugewiesen se. Es muy nützlich, si uno z.B. en zwei PCs con unterschiedlichen Verzeichnisstrukturen (privater y dienstlicher PC) con Profano arbeitet y no dauernd Pfad- oder Laufwerksbezeichnungen adaptar voluntad.
Dank el Großzügigkeit de Bill (oder ha como alguien geschlafen?) hay el Befehl bajo XP siempre todavía

HTH
Carlo
 
26.04.2007  
 



[offtopic]
¡Hola Carlo
Schade - Desde que una NC-Clone geschrieben habe y el auch nutze, hätte mich ya interessiert, como Programmschleife de el 14 Laufwerk arbeitet. Über cada el zwei Ventana puede en el ersten Reihe 13 Laufwerke erkannt y gezeigt voluntad (como en el Bild) Ab el 14. Laufwerk se nun una Etage tiefer otra vez vorne comenzó voluntad. Zusätzlich necesario narürlich el beiden Ventana entonces auch kleiner en el Höhe ser. Yo el ya con el Eingabe 6 Laufwerke simulado y lo schien auch a klappen. Lieber wäre me aber ya una realer Test [/offtopic]

32 kB
Hochgeladen:26.04.2007
Ladeanzahl106
Descargar
 
26.04.2007  
 




GDL
En me funzt lo auch.

289 kB
Hochgeladen:26.04.2007
Ladeanzahl183
Descargar
 
Windows7 Xprofan 8,9,10 [...]  [...] 
26.04.2007  
 



Leg simplemente Laufwerke a Horst!

Start → Ausführen → %comspec% [enter] subst /? [enter]
 
26.04.2007  
 




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 ?
 
26.04.2007  
 




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

124 kB
Hochgeladen:26.04.2007
Ladeanzahl189
Descargar
 
26.04.2007  
 




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.
 
Nico Madysa
27.04.2007  
 



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
27.04.2007  
 




Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

20.899 Views

Untitledvor 0 min.
Gast.0815Gestern (16:30)
Member 862464125.04.2024
Uwe Lang02.07.2023
H.Brill30.01.2021
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie