Newsgroup: it.comp.programmare
Titolo: Che struttura uso?

In una mia applicazione ho una finestra che può deve accettare files
mediante drag & drop. In questa mia finestra ho due aree principali: un
treeview a sinistra e una listview a destra (la visualizzazione classica
di exlporer, per esempio).
Per gestire il tutto pensavo di basarmi su una struttura di dati in cui
mi salvo tutti i files che vengono aggiunti, ma non so di preciso che
tipo di dati utilizzare.
Un'idea è quella di creare una classe TDirectory in cui ho due
collection: una contenente un oggetto TFile (una mia ipotetica classe
che descrive le caratteristiche di un singolo file) e una che contiene
un oggetto TDirectory per ogni sotto-directory presente.
TDirectory
  +-- Collection di TFile (classe mia contentente path origine, nome
file origine, dimensione, ecc, ecc) *
  +-- Collection di TDirectory *
  +-- Un riferimento alla Directory padre
  +-- Dimensione della directory corrente (cioè la dimensione dei file
contenuti nella directory e in tutte le sottodirectory, un pò come fa
nero nella finestra di creazione di un cd)
 
Sono sulla strada giusta oppure avete altre idee? Tralasciando la
nomenclatura che è in stile delphi, a livello logico come procedereste?
-- 
Lis
ICQ@Home #7317603sette     
Mercatino: 
http://lis77.bravepages.com
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 mediante drag & drop
Io per una cosa simile ho proceduto "simulando" il DB in cui i dati 
andavano poi memorizzati:
- Lista di directory, ognuna con un suo id ed un id della directory 
parent.
- Lista dei file, ognuno con un reference id ad un elemento directory
E' molto comoda!
-- 
Luc.

 E' molto comoda!
Toh...chi si becca in giro ;-)
Io questi dati non li devo mettere in un db e non mi sembra adatta al
mio caso: se mi servono i dati di una directory non posso mica fare una
select con una where...
Mmm...sarebbe comoda una hashtable in cui la chiave è il path, ma in
delphi non trovo (o non conosco, sono ancora niubbo) nulla di simile.
-- 
Lis
ICQ@Home #7317603sette     
Mercatino: 
http://lis77.bravepages.com
 (aggiornato: 16/04/03)


 select con una where...
Si, ma hai una semplice lista di directory in cui cercare, no? 
-- 
Luc.

 delphi non trovo (o non conosco, sono ancora niubbo) nulla di simile.
Nella VCL c'e' la "THashedStringList maintains a list of strings using
an internal hash table." (unit IniFiles D6)
Altrimenti, systools (ex turbopower) su 
sourceforge.net
 credo che fra le
collezioni abbia anche qualcosa di hashed.
Saluti
Paolo Arosio

 delphi non trovo (o non conosco, sono ancora niubbo) nulla di simile.
Nella VCL c'e' la "THashedStringList maintains a list of strings using
an internal hash table." (unit IniFiles D6)
Altrimenti, systools (ex turbopower) su 
sourceforge.net
 credo che fra le
collezioni abbia anche qualcosa di hashed.
Comunque, anche una (o due) tabelle basate su CDS dovrebbero andare (con
i dati in memoria, non si ha il problema dell'accesso al disco se non
per salvare i cambiamenti o caricare i dati iniziali)
Saluti
Paolo Arosio

 an internal hash table." (unit IniFiles D6)
Non l'avevo vista, e sě che mi sembrava di aver cercato 'thash' negli
help... tenchiů
