Autore Topic: [RISOLTO] Gestione della classe ComboBox  (Letto 367 volte)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
[RISOLTO] Gestione della classe ComboBox
« il: 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  :-\ :-\ :-\ :-\
« Ultima modifica: 26 Settembre 2023, 20:28:00 da Franco_da_vc »
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #1 il: 25 Settembre 2023, 15:05:25 »
"FMain.mese" cos'è ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #2 il: 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!
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #3 il: 25 Settembre 2023, 16:20:39 »
Dovrebbe funzionare così:
Codice: [Seleziona]
ComboMesi.Text = Fmain.mese[PuntMese]
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #4 il: 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!
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #5 il: 25 Settembre 2023, 22:53:23 »
Non ho capito se il mio ultimo suggerimento a te funziona.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #6 il: 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.
« Ultima modifica: 26 Settembre 2023, 11:57:59 da Franco_da_vc »
Bye by Afo

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.155
  • Tonno verde
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #7 il: 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:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #8 il: 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
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #9 il: 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.
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gestione della classe ComboBox
« Risposta #10 il: 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.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »