Autore Topic: [Risolto] Utilizzo di una ListBox  (Letto 3295 volte)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 212
  • Non è mai troppo tardi!
    • Mostra profilo
[Risolto] Utilizzo di una ListBox
« il: 27 Dicembre 2014, 11:54:32 »
Per inserire una lista dei mesi ho usato una ListBox, ma sto pensando di non aver usato la struttura adatta.

In poche parole i vari mesi dovrebbero assumere una particolare colorazione se esiste o meno del file relativo al mese stesso, il problema e che ho trovato il modo per imporre il colore di background, ma ciò avviene per tutta la lista e non trovo il comando per imporlo ad un solo elemento della stessa.

Esiste il comando adatto per la ListBox o veramente devo usare un'altra struttura e quale?

A proposito:
:ot: ho notato che richiedendo l'anteprima del post non si ottiene nulla, è un problema del mio sistema o c'è qualcosa che non va nella struttura del forum? :ot:

Grazie e ciao a tutti!
« Ultima modifica: 06 Gennaio 2015, 15:49:41 da Franco_da_vc »
Bye by Afo

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #1 il: 28 Dicembre 2014, 21:49:42 »
L'unico metodo che conosco è quello di selezionare la riga pertinente al mese che vuoi fare risaltare.  :D

ho notato che richiedendo l'anteprima del post non si ottiene nulla, è un problema del mio sistema o c'è qualcosa che non va nella struttura del forum? :ot:

Per quest'ultimo quesito, posso dirti che a me lì'anteprima funziona perfettamente, però faresti meglio, visto che l'argomento affronta un tema diverso dal corrente, ad aprire una nuova specifica discussione in  "Domande Tecniche" o "Segnalazione Bug".

 :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.254
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #2 il: 28 Dicembre 2014, 23:03:13 »
...a me lì'anteprima funziona perfettamente, però faresti meglio, visto che l'argomento affronta un tema diverso dal corrente, ad aprire una nuova specifica discussione in  "Domande Tecniche" o "Segnalazione Bug".

Il problema è stato già sollevato da Gianluigi:
http://www.gambas-it.org/smf/index.php?topic=3825.msg34574#msg34574
« 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 vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.254
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #3 il: 29 Dicembre 2014, 16:54:18 »
L'unico metodo che conosco è quello di selezionare la riga pertinente al mese che vuoi fare risaltare.


In effetti sembra essere l'unica soluzione.

Volendo ad esempio evidenziare la riga num. 2 (quindi indice 1):
Codice: gambas [Seleziona]
ListBox1[1].Selected = True
« 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 Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #4 il: 30 Dicembre 2014, 00:24:58 »
In effetti sembra essere l'unica soluzione.

Volendo ad esempio evidenziare la riga num. 2 (quindi indice 1):
Codice: gambas [Seleziona]
ListBox1[1].Selected = True


 :blabla:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.254
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #5 il: 30 Dicembre 2014, 00:31:16 »

 :blabla:

Ho capito perfettamente quello che intendi dire, ma sai bene che queste pagine vengono lette nel tempo anche da persone non esperte.
« 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: 212
  • Non è mai troppo tardi!
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #6 il: 30 Dicembre 2014, 13:42:13 »
Uhm! Penso proprio che mi ero espresso male, applicando l'istruzione ListBox1[1].Selected = True in questa struttura:

Codice: gambas [Seleziona]

Repeat
    If n_mese < 10 Then
      rif_mese$ = "0" & n_mese
    Else
      rif_mese$ = n_mese
    Endif
    name$ = "DDT" & codice$ & "@" & rif_mese$
    test_file = Exist(_base & name$ & ".dbl")
    If test_file = True
      ListBoxMesi[n_mese].Selected = True  
    Endif
    n_mese = n_mese + 1
  Until n_mese > 12


si ottiene che ad essere selezionato è solo l'ultimo item che soddisfa il test, mentre dovrei poter fare un highlight di tutti gli item che soddisfano la condizione.

Probabilmente eseguendo una selezione viene automaticamente deselezionata quella precedente, beh, mi metterò alla ricerca di una proprietà che possa soddisfare la mia necessità
« Ultima modifica: 30 Dicembre 2014, 13:44:23 da Franco_da_vc »
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.254
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #7 il: 30 Dicembre 2014, 15:59:15 »
Quindi tu desideri dare un colore (o in questo caso una evidenziazione) per ciascun mese ?
« 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 Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #8 il: 30 Dicembre 2014, 16:14:35 »
Probabilmente la selezione non funziona bene perché occorre prima puntare l'indice della ListBox sulla riga interessata:
Codice: [Seleziona]
 ListBoxMesi[n_mese].Index=  iInd
:ciao:
:ciao:

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 212
  • Non è mai troppo tardi!
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #9 il: 30 Dicembre 2014, 18:23:30 »
Ciao a tutti

Quindi tu desideri dare un colore (o in questo caso una evidenziazione) per ciascun mese ?

Si, per ciascun mese che sodddisfa la condizione:
Codice: gambas [Seleziona]

    test_file = Exist(_base & name$ & ".dbl")
    If test_file = True

nello specifico per i mesi che hanno hanno il file presente, con più precisione quelli in cui è stato emesso almeno un D.D.T.

Per quanto riguarda l'amico Picavbg: il codice che mi hai suggerito:
Codice: gambas [Seleziona]

ListBoxMesi[n_mese].Index = iInd

stranamente mi da errore:
Codice: [Seleziona]
Unknown identifier: iInd
ho anche provato a togliere la i iniziale ma il risultato non cambia.

Aggiunta dell'ultimo minuto: ho anche provato a sostituire iInd con n_mese, ma ottengo un ulteriore errore, più precisamente:
Codice: [Seleziona]
Unknown symbol 'index' in class '_ListBox_Item' 

Grazie comunque
« Ultima modifica: 30 Dicembre 2014, 18:49:06 da Franco_da_vc »
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.254
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #10 il: 30 Dicembre 2014, 19:32:02 »
Codice: gambas [Seleziona]

ListBoxMesi[n_mese].Index = iInd

stranamente mi da errore:
Codice: [Seleziona]
Unknown identifier: iInd


...perché non lo hai dichiarato: iInd che cosa è ?




Codice: [Seleziona]
Unknown symbol 'index' in class '_ListBox_Item' 


L'errore viene sollevato, poiché .Index non esiste come proprietà di ListBox[n] (contempla solo: .Selected e .Text )
« 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 Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #11 il: 31 Dicembre 2014, 00:09:54 »
L'errore viene sollevato, poiché .Index non esiste come proprietà di ListBox[n]

Veramente dando F1 dall'Ide di Gambas -> Componenti 3.0 -> Qt4 -> ListBox si ottiene l'elenco delle proprietà, dei metodi e degli eventi legati alla ListBox e nel gruppo delle proprietà elencato in basso a sinistra la proprietà Index esiste ed io l'ho anche usata.
Secondo me era la variabile iInd che io avevo copiato erroneamente da un mio programma ad avere creato problemi a Franco.
Franco, scusami se non volendo ti ho suggerito una variabile non tua.  Puoi riprovare utilizzando naturalmente le tue variabili:
Codice: [Seleziona]
n_mese = ListBoxMesi.Index   ' e successivamente
ListBoxMesi[n_mese].Selected = True 

oppure

Codice: [Seleziona]
n_mese = ListBoxMesi.Current.Key   ' e successivamente
ListBoxMesi[n_mese].Selected = True 

Io ho utilizzato entrambi le proprietà ed il mio programma non produce errori.
Fammi sapere.
 :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.254
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #12 il: 31 Dicembre 2014, 00:19:53 »

Veramente dando F1 dall'Ide di Gambas -> Componenti 3.0 -> Qt4 -> ListBox si ottiene l'elenco delle proprietà, dei metodi e degli eventi legati alla ListBox e nel gruppo delle proprietà elencato in basso a sinistra la proprietà Index esiste ed io l'ho anche usata.


Non hai letto con attenzione quello che ho scritto.

Dunque....

questo:
Codice: gambas [Seleziona]
ListBoxMesi.Index = 

esiste.

Questo:
Codice: gambas [Seleziona]
ListBoxMesi[n_mese].Index = 

non esiste.
« 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 Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #13 il: 31 Dicembre 2014, 00:23:22 »
@ Franco

Mi permetto di darti un consiglio: quando ho cominciato a programmare in Gambas anch'io usavo i trattini "_" all'interno dei nomi delle variabili, poi mi sono accorto che per Gambas detti trattini hanno significati  ed utilizzi particolari, per cui ho fatto marcia indietro ed ora evito di usare nomi del tipo "x_nome_cognome", meglio "XNomeCognome".
 :ciao:
:ciao:

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #14 il: 31 Dicembre 2014, 00:27:42 »
Non hai letto con attenzione quello che ho scritto.

Hai ragione, scusa.
 :-[
:ciao: