PDA

View Full Version : [pascal] tchecklistbox dinamica


kikkas
07-12-2011, 08:45
Sto facendo un programma utilizzando lazarus, soltanto che sono arrivato ad un punto morto.

Ho bisogno che il programma si interfacci con un file esterno, dove ci sono scritti dei titoli e dei comandi da eseguire.

Quello che vorrei fare io sono due liste di checkbutton, e all'interno del file devo scrivere il caption dei singoli checkbutton e l'azione da seguire se selezionato.

All'inizio pensavo di usare un tchecklistbox (sotto additional), poi ho notato che esiste anche la tdblistbox (sotto data controls) che forse può fare al caso mio.
Non so quale delle due sia la più conveniente per me, anche perchè tdblistbox non so come funzioni (non ho trovato quasi nulla a riguardo), mentre per fare la tchecklistbox non so come estrapolare i file di testo ed elaborarli.

da notare: io per ora ho sempre parlato di file di testo, ma forse esiste un formato più comodo per quello che voglio fare.
Inoltre la struttura all'interno del file non la ho ancora decisa, io pensavo di fare qualcosa del tipo

TITOLO 'titolo1'
LISTA 'lista1'
COMANDO 'comando da eseguire1'

TITOLO 'titolo2'
LISTA 'lista2'
COMANDO 'comando da eseguire2'

TITOLO 'titolo3'
LISTA 'lista3'
COMANDO 'comando da eseguire3'

e via dicendo. Pensavo di strutturare il programma che controllava se leggeva TITOLO, COMANDO o LISTA, in modo che sapesse cosa fare della stringa successiva fino all'acapo. Non so se sia il metodo più conveniente, forse voi avete in mente una strutturare migliore.

Grazie subito a chiunque sia in grado di aiutarmi/linkarmi qualche guida esauriente!

das
08-12-2011, 18:58
Sto facendo un programma utilizzando lazarus, soltanto che sono arrivato ad un punto morto.

Ho bisogno che il programma si interfacci con un file esterno, dove ci sono scritti dei titoli e dei comandi da eseguire.

Quello che vorrei fare io sono due liste di checkbutton, e all'interno del file devo scrivere il caption dei singoli checkbutton e l'azione da seguire se selezionato.

All'inizio pensavo di usare un tchecklistbox (sotto additional), poi ho notato che esiste anche la tdblistbox (sotto data controls) che forse può fare al caso mio.
Non so quale delle due sia la più conveniente per me, anche perchè tdblistbox non so come funzioni (non ho trovato quasi nulla a riguardo), mentre per fare la tchecklistbox non so come estrapolare i file di testo ed elaborarli.

da notare: io per ora ho sempre parlato di file di testo, ma forse esiste un formato più comodo per quello che voglio fare.
Inoltre la struttura all'interno del file non la ho ancora decisa, io pensavo di fare qualcosa del tipo

TITOLO 'titolo1'
LISTA 'lista1'
COMANDO 'comando da eseguire1'

TITOLO 'titolo2'
LISTA 'lista2'
COMANDO 'comando da eseguire2'

TITOLO 'titolo3'
LISTA 'lista3'
COMANDO 'comando da eseguire3'

e via dicendo. Pensavo di strutturare il programma che controllava se leggeva TITOLO, COMANDO o LISTA, in modo che sapesse cosa fare della stringa successiva fino all'acapo. Non so se sia il metodo più conveniente, forse voi avete in mente una strutturare migliore.

Grazie subito a chiunque sia in grado di aiutarmi/linkarmi qualche guida esauriente!

Per il formato del file usa xml. C'è un controllo per lazarus, non mi ricordo se è integrato o va aggiunto che si chiama TXMLConfig. Usando quello puoi crearti un semplicissimo database in xml al quale puoi accedere al volo tramite procedure del tipo getvalue e setvalue.