Gambas-it

Gambas3 => Programmazione => Topic aperto da: Franco_da_vc - 25 Settembre 2023, 14:05:13

Titolo: [RISOLTO] Gestione della classe ComboBox
Inserito da: Franco_da_vc - 25 Settembre 2023, 14:05:13
C'è una parte del mio codice che non fa più il suo dovere, il programma dopo la pressione del tasto stampa nel form di introduzione dei dati attiva un popup che chiede scegliere il file redatto per mese in cui registrerà la bolla come vedete dall'allegato la combo (ComboMesi) dovrebbe indicare il mese corrente, ma ciò non avviene  :-[ :-[ :-[

Codice: [Seleziona]
PuntMese = Month(Now)
  ComboMesi.List = FMain.mese
  ComboMesi.Current.Text = FMain.mese[PuntMese]

Ora mi chiedo se la sintassi che ho usato è ancora valida o meno, nel precedente eseguibile funzionava tranquillamente, ma rea stato fatto ancora con Gambas2  :-\ :-\ :-\ :-\
Titolo: Re:Gestione della classe ComboBox
Inserito da: vuott - 25 Settembre 2023, 15:05:25
"FMain.mese" cos'è ?
Titolo: Re:Gestione della classe ComboBox
Inserito da: Franco_da_vc - 25 Settembre 2023, 15:36:46
"FMain.mese" cos'è ?

Si tratta di un array descritto in Fmain che contiene le abbreviazioni dei dodici mesi più una stringa vuota in posozione 0, l'ho descritta proprio per le combo dei mesi che uso nel programma

Ti ringrazio!
Titolo: Re:Gestione della classe ComboBox
Inserito da: vuott - 25 Settembre 2023, 16:20:39
Dovrebbe funzionare così:
Codice: [Seleziona]
ComboMesi.Text = Fmain.mese[PuntMese]
Titolo: Re:Gestione della classe ComboBox
Inserito da: Franco_da_vc - 25 Settembre 2023, 20:44:39
"FMain.mese" cos'è ?

Si tratta di un array descritto in Fmain che contiene le abbreviazioni dei dodici mesi più una stringa vuota in posozione 0, l'ho descritta proprio per le combo dei mesi che uso nel programma

Ti ringrazio!

Mi ero scordato di evidenziare che ciò che non funziona è solo il meccanismo che inserisce il mese nella combo quando inizia il dialogo, premendo la freccia in giù la lista compare tutta con i mesi giusti e premendo il tasto Ok! il programma non accusa errori ed il file viene registrato nel mese giusto, cioè quello corrente come dovrebbe essere, l'unica cosa che non avviene è appunto la visualizzazione del mese nella finestrella della combo

Scusate, grazie!
Titolo: Re:Gestione della classe ComboBox
Inserito da: vuott - 25 Settembre 2023, 22:53:23
Non ho capito se il mio ultimo suggerimento a te funziona.
Titolo: Re:Gestione della classe ComboBox
Inserito da: Franco_da_vc - 26 Settembre 2023, 11:50:29
Non ho capito se il mio ultimo suggerimento a te funziona.

Grazie Vuott, ritengo che l'espressione ComboMesi.List = FMain.mese funzioni a dovere perché se vedi lì passo la matrice Fmain.mese nella sua interezza a ComboMesi.List ed in effetti quando si preme la freccia in giù la lista compare totalmente (non ho potuto farti lo screenshot perché con la lista abbassata il pulsante "stamp" non risponde).

Ritengo che l'istruzione che da problemi sia ComboMesi.Current.Text = FMain.mese[PuntMese] ove passo FMain.mese[PuntMese] la variabile PuntMese è comunque settata e contiene il valore numerico del mese attuale e questo l'ho potuto vedere dalla diagnostica che ora compare nel riquadro a sinistra, quindi nel caso di PuntMese=9 si dovrebbe vedere Set in ComboBox, cosa che non avviene, percui penso che l'intoppo sia in ComboMesi.Current.Text.

Continuerò ad investigare e vi terrò informati.
Titolo: Re:Gestione della classe ComboBox
Inserito da: Gianluigi - 26 Settembre 2023, 12:20:37
Non ho capito se il mio ultimo suggerimento a te funziona.

Grazie Vuott, ritengo che l'espressione ComboMesi.List = FMain.mese funzioni a dovere perché se vedi lì passo la matrice Fmain.mese nella sua interezza a ComboMesi.List ed in effetti quando si preme la freccia in giù la lista compare totalmente (non ho potuto farti lo screenshot perché con la lista abbassata il pulsante "stamp" non risponde).

Ritengo che l'istruzione che da problemi sia ComboMesi.Current.Text = FMain.mese[PuntMese] ove passo FMain.mese[PuntMese] la variabile PuntMese è comunque settata e contiene il valore numerico del mese attuale e questo l'ho potuto vedere dalla diagnostica che ora compare nel riquadro a sinistra, quindi nel caso di PuntMese=9 si dovrebbe vedere Set in ComboBox, cosa che non avviene, percui penso che l'intoppo sia in ComboMesi.Current.Text.

Continuerò ad investigare e vi terrò informati.

Se ho capito, quello che ti suggeriva vuott era di togliere current da ComboMesi.Current.Text = FMain.mese[PuntMese] vale a dire (ripeto il codice di vuott): ComboMesi.Text = FMain.mese[PuntMese]

 :ciao:
Titolo: Re:Gestione della classe ComboBox
Inserito da: vuott - 26 Settembre 2023, 12:43:44
Se ho capito, quello che ti suggeriva vuott era di togliere current da ComboMesi.Current.Text = FMain.mese[PuntMese] vale a dire (ripeto il codice di vuott): ComboMesi.Text = FMain.mese[PuntMese]
Sì, è così.
A tal riguardo abbiamo in Wiki anche una pagina:
   https://www.gambas-it.org/wiki/index.php/Scegliere_da_codice_un_elemento_presente_in_un_ComboBox
Titolo: Re:Gestione della classe ComboBox
Inserito da: Franco_da_vc - 26 Settembre 2023, 20:26:48
Non ho capito se il mio ultimo suggerimento a te funziona.

Mhmmm! Scusa Vuottt, ero così intento a fare analisi del pezzo di programma che ho proposto che mi ero dimenticato di risponderti..... in effetti hai ragione, togliendo current il meccanismo è tornato a funzionare!, come mai con Gambas 2 lo faceva mantre ora no non è dato a sapersi e daltronde non ho voglia di investigare ulteriormente.
Titolo: Re:Gestione della classe ComboBox
Inserito da: vuott - 26 Settembre 2023, 20:30:25
come mai con Gambas 2 lo faceva mantre ora no non è dato a sapersi e daltronde non ho voglia di investigare ulteriormente.
...evidentemente con la versione di Gambas 3 Minisini ha apportato una modifica.
L'importante è dimenticarsi della versione 2, riservandosi, semmai, solo eventualmente - laddove serva - di convertire i programmi dalla versione 2 alla versione 3.