![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#5
|
|||
|
|||
|
Como lo hago yo
El otro dia empecé un proyectillo que leia la informacion de una unidad, guardando los datos en una DB (carpetas, ficheros, tamaños, fechas, atributos, etc...).
Pues el TTreeView me daba problemas y encontré una solución bastante rápida: El tema está en que cuando guardo los datos de las carpetas en la base de datos tengo un campo donde le indico la profundidad de dicha carpeta, y además los guardo por profundidad (C:\, C:\A, C:\A\B, C:\A\B\C, C:\D, ...). Para cargarlos después en un TTreeView hago: 1. Cargo un nombre de carpetas de la DB. 2. Le añado el carácter #9 (tab) tantas veces como profundidad tenga 3. Inserto el nombre modificado en un TListBox 4. Repito desde el 1 hasta que tenga ganas ![]() 5. Guardo el TListBox en un fichero temporal (C:\TEMP123.TMP) 6. Cargo el fichero con el TTreeView 7. Elimino el archivo temporal Va muy bien en serio. Eso si: la base de datos ha de estar ordenada por profundidad para que todo sea correcto. |
|
|
|