Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: xinyiman - Maggio 19, 2020, 09:48:01 pm

Titolo: Listbox con caricamento dinamico
Inserito da: xinyiman - Maggio 19, 2020, 09:48:01 pm
Ciao a tutti, potrà capitarvi in futuro di dover caricare una listbox in maniera dinamica. Questo succede spesso quando si popolano dei componenti grafici con i dati ritornati dall'interrogazione di qualche api. Bene ho fatto un esempio per dimostrare come è possibile farlo con lazarus. L'esempio carica 100 stringhe in un array e poi popola la listbox (in realtà si tratta di una stringgrid con due colonne, la prima è nascosta) quando scorrete verso il basso e visualizzare l'ultimo elemento.

Spero di aver fatto cosa gradita

Ciao a tutti
Titolo: Re:Listbox con caricamento dinamico
Inserito da: bonmario - Maggio 20, 2020, 08:11:10 am
Grazie per l'esempio.
Se mi posso permettere, io di solito dichiaro le colonne come costanti, e poi uso lke costanti quando vado a popolare la StringGrid.
Esempio:
Codice: [Seleziona]
const
   CstColData=0;
   CstColNome=1;

Poi popolo la StringGrid così:
            TStringGrid(Sender).Cells[CstColData,TStringGrid(Sender).RowCount-1] := StrData;
            TStringGrid(Sender).Cells[CstColNome,TStringGrid(Sender).RowCount-1] := StrNome;

Questo, perché già in passato, mi è capitato, a progetto finito o quasi, di dover invertire alcune colonne tra di loro. Usando questo trucchetto, lo fai in 5 secondi !!!

Ciao, Mario
Titolo: Re:Listbox con caricamento dinamico
Inserito da: xinyiman - Maggio 20, 2020, 01:32:35 pm
Ciao, si è vero quello che dici e anche io lo faccio quando mi serve. Qui era solo un esempio con due colonne di cui una nascosta per contenere una chiave. Ho evitato di farlo.
Titolo: Re:Listbox con caricamento dinamico
Inserito da: Mimmo - Maggio 21, 2020, 07:43:18 am
Grazie dell'esempio!