Oppure

Loading
15/12/09 20:07
Ciao a tutti. Ho un problema:
Sto realizzando un programma in cui lavoro su 12 ComboBox differenti (tutti numerati come ComboBox1, ComboBox2 +...+ ComboBox12) ma nelle quali vi devono essere gli stessi Items. In realtà io devo inserire qui dentro tutti gli accordi musicali (dal La al Sol#) ma ho inserito un RadioGroupBox per scegliere tra la Nomenclatura Tradizionale e la Nomenclatura Internazionale. Ho associato ad una variabile array tutte le note (var Note(i) con i che va da 1 a 12, proprio quanto il numero delle note) e ho assegnato le due nomenclature alle variabili (cioè se è premuto il Radio1 per esempio la Note(4) diventa "DO" se premo il Radio2 la nota viene scritta come "C";) e a seconda del radio assegno poi gli Items del ComboBox alle note... Solo che dato che i ComboBox sono 12, per alleggerire il codice mi chiedevo se esistesse un modo per rendere il suffisso del combo una variabile in modo da specificare gli items in una iterazione For... mi spiego: Invece di avere:
ComboBox1 ... ComboBox2...

Mi piacerebbe avere
for i:= 1 to 12 do  ComboBox(i)....

solo che non so come applicarlo in codice, poichè ho provato questa scrittura, sia con tonde che con quadre ma niente...
Vi chiedo se per caso voi possiate aiutarmi...
Spero di essere stato chiaro. altrimenti mi scuso e sono pronto a dare chiarimenti...
Aspettando una risposta, vi porgo comunque un grande GRAZIE
a_butta

PS1: Ho usato le tonde invece delle quadre negli array per non aver problemi nel codice html della discussione (metteva tutto in corsivo)
PS2: se dovesse interessarvi, il mio programma si propone di creare un Transposer, cioè un programma dove selezionati degli accordi a piacere, si può adottare il transpose fino 11 semitoni su o giù e avere in uscita l'accordo risultante...
Ultima modifica effettuata da 15/12/09 20:09
16/12/09 13:34
Non c'è nessuno che mi possa aiutare?
mi scuso se insisto, ma mi servirebbe con una certa urgenza...
Chiedo ancora scusa e rivolgo un grazie anticipatamente
16/12/09 19:48
Anonymous
ciao...

se ho capito bene la domanda dovresti semplicemente risolvere scrivendo una sola volta ogni cambio di note su un combobox e poi facendo:

combobox2.items:=combobox1.items;


in questo modo combobox2 prenderà tutti gli items di combobox1

e poi ancora...

combobox3.items:=combobox1.items;
combobox4.items:=combobox1.items;
...
combobox12.items:=combobox1.items;


cosi avrai queste 12 righe che copieranno ciascuna il contenuto della prima combobox in un altra combobox
aaa
17/12/09 13:06
Ho risolto con
Application.FindComponent('ComboBox'+IntToStr(i)) As TComboBox


Grazie mille lo stesso!