Newsgroup: it.comp.lang.delphi
Titolo: aggiugnere elementi in una combobox

Ciao a tutti,
ho necessità di mettere degli elementi in modo dinamico in una
combobox ma mi servirebbe un item che fosse stringa+intero. C'è un
metodo già diretto del combo box oppure devo usare qualche magheggio?
Grazie a tutti!
Simone

 metodo già diretto del combo box oppure devo usare qualche magheggio?
Concatena il valore alla stringa e aggiungilo alla *TComboBox* 
attraverso il metodo *Add* della proprietà *Items*.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

Ma in questo modo il valore numerico si vedrebbe...


 mi servirebbe un item che fosse stringa+intero
 e la risposta di Marco è stata :
(codifico)
tuaComboBox.Items.Add(TuaStringa+Inttostr(tuonumerointero));
A questo punto mi chiedo che cosa cercavi di fare, visto che la risposta
era pertinente al 100% alla domanda.
-- 
Morde

 era pertinente al 100% alla domanda.
Giusto, mi sono spiegato male.
La mia intenzione era quella di creare e poi di accedere a quell'item
nella ComboBox con 2 campi e il campo string e quello intero.
Chiedo scusa per l'oscura domanda :)

 Chiedo scusa per l'oscura domanda :)
quello che vuoi fare è usare l'intero come un indice per la ricerca delle 
stringhe, ossia ad ogni valore numerico è associata una stringa definita?
V 


wrote:

si

Dai un'occhiata anche a 
combobox1.Items.IndexOf()
combobox1.ItemIndex
si vede che sei nuovo della Foresta.... Da dove vieni forestiero ?
Ciao ;-)
--- posted by geoForum on 
http://www.delphiedintorni.it


Grazie delle dritte.
si si nuovissimo, saranno 3 giorni che tocco il linguaggio, sono un
bolognese d'adozione ;)

 bolognese d'adozione ;)
Ok, allora è giusto informarti che non è bene rispondere ai "troll" 
dichiarati come MOD1, che peraltro ti butta fumo in faccia citando 
proprietà che non c'entrano praticamente nulla. :-)
Tornando al tuo problema, puoi usare il metodo /AddObject/ della 
*TStringList* (che è la classe cui fa capo la proprietà /Items/ del 
controllo *TComboBox*) per memorizzare, assieme ad una stringa, anche il 
riferimento ad un oggetto già creato che contenga le informazioni da 
associare, appunto, a quell'elemento.
La faccenda si complica un po' per chi è alle prime armi (gli oggetti 
creati vanno distrutti, quindi occorre qualche infarinatura anche in 
questo senso), ma è un metodo sicuro ed efficace.
Vedi un po' cosa riesci ad assemblare. Tutt'al più, in caso di problemi, 
vedremo come affrontarli più avanti.
Ciao,
   Marco.



ok recepito tutto, venendo da c# dove gli elementi della combobox
hanno text e value come campi, credevo che anche qui ci fosse una cosa
simile senza andare ad istanziare oggetti creati ad hoc.
Per ora faccio un controllo sul testo della combobox e me la cavo così
(un pò artigianalmente) per il resto farò delle prove per vedere come
fare sta cosa qui.

 dichiarati come MOD1,
Da quando "Troll" e "Fesso" sono sinonimi?
Da queste parti ormai ci si insulta cosi':
- Che schifo di codice hai scritto? Nemmeno Matteo Taverna sarebbe in
grado di fare una cosa simile!
oppure:
- Sei stupido quasi come Paolo Gemma!
oppure:
- Questo codice mi va in AV!
- Hai provato il MOD a 1?
e via discorrendo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Da quando "Troll" e "Fesso" sono sinonimi?
Chiedo scusa per l'accostamento... è che sono troppo abituato ad 
accostare il secondo termine al primo. ;-)


Ok, ragazzi sarò anche un fesso ma dubito che riuscirà a fare quello che 
dite senza le proprietà che ho sopra esposto.
Nessun offesa solo sapere da dove veniva.. Si vede in ogni caso che è un 
programmatore con la bussola ben orientata.
Ciao


Ah ricordati una cosa forestiero...
Quando vedi un intervento da newsland è sempre il caro Andrew Laforgia, 
nessuno va su quel NG è troppo sfigato ! ;-)


 nessuno va su quel NG è troppo sfigato ! ;-)
Sei cosi' fesso che non hai ancora imparato cos'e' un NG, chi sono io, chi
e' questo, chi e' quello ...
Tutti ridiamo di te alle tue spalle.


>Tutti ridiamo di te alle tue spalle.
Infatti siete una massa di Cretini diplomati.... ;-D
ha,ha,ha,ha,....
http://www.sangiorgiodipiano.net/immagini/sangiorgiodipiano/risata.jpg


siete talmente fessi che vi crogiolate nell'unica conoscenza neppur 
formidabile che avete, ossia Delphi, ignorando le logiche di 
funzionamento del mondo che vi circonda e della matematica che sta alla 
base di questo stesso linguaggio...
Qualcuno vi definirebbe senz'ombra di dubbio API OPERAIE ...


La differenza tra un laureato o un saggio e il diplomato è come quella 
che intercorre tra il TAVERNELLO e un D.O.C.G.
Ma ovviamente ne siete allo oscuro.... Diceva Leopardi meglio vivere 
nell'ignoranza.... Quindi onore a voi...


Leggete qua e fatevi un'idea della vostra condizione....
http://www.arsia.toscana.it/api/Pages/le_operaie1.html
http://www.arsia.toscana.it/api/Pages/le_operaie3.html


Ha,ha,ha....
Li hai proprio messi a tacere.... ;-D


proprietà che non c'entrano praticamente nulla. :-)
...eh eh... il mio kill-file conta già ben 69 voci.
Ne vado orgoglioso :-D

 
E' un po' insolito ma si può utilizzare un cast forzato su un TObject
generico (senza creare/distruggere oggetti):
ComboBox1.Items.AddObject('Stringa1', TObject(1));
ComboBox1.Items.AddObject('Stringa1', TObject(2));
ComboBox1.Items.AddObject('Stringa1', TObject(3));
e per avere il numero dell'elemento correntemente selezionato
numero := integer(Combobox1.Items.Objects[Combobox1.ItemIndex]);
ciao,
Andrea

>numero := integer(Combobox1.Items.Objects[Combobox1.ItemIndex]);
Ma non mi dire utilizzando Combobox1.ItemIndex , Breveglieri aveva detto 
che era fumo negli occhi, che non serviva....
Grande Marco ma come inviarti un bel tapirino ? ;-)


Se hai così tante voci qualcosa non funziona....
Io ho solo la +TUA+
8-D
