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

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #15 il: 31 Dicembre 2014, 15:08:25 »
@Picavbg

In effetti avevo anch'io pensato a questa eventualità ed avevo perciò provato a sostituire la tua variabile con la mia n_mese ricevendo di rimando l'errore che ho riportato nel precedente mio post.

ma fatemi capire un attimo ???: Mi state suggerendo di inserire le due righe dell'amico Picavbg nel mio listato che riporto sotto
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  

ora n_mese viene determinato dal controllo sul file
Codice: [Seleziona]
test_file = Exist(_base & name$ & ".dbl")
    If test_file = True  
se il mese in esame possiede un file registrato il rispettivo mese nella ListBox si evidenzia, l'unico problema che ho riscontrato è che evidenziando un mese viengono de-evidenziati quelli precedenti, ora a quanto capisco dovrei modificare il controllo in questo modo
Codice: gambas [Seleziona]

       If test_file = True  
         n_mese = ListBoxMesi.Index
         ListBoxMesi[n_mese].Selected = True    
       Endif  

in questo caso però comprometterei il controllo perchè la variabile n_mese verrebbe sovrascritta dal valore di ListBoxMesi.index e mi bloccherebbe del tutto il ciclio Repeat, a meno che l'istruzione inserita non serva solo a non lasciar deselezionare  i vari item, al che mi basterebbe scaricare il valore in una variabile fittizia, come uso io buffer$ ed il gioco sarebbe fatto.
Che ne dite?

@Picavbg

le variabili con il trattino sono una reminiscenza del vecchio programma ove il sottolinea non aveva nessuna valore, potrei quindi traformare le variabili in questo modo..... n_mese ===> nMese.

Grazie a tutti.

Se non inserisco altri post..... auguri di buon capodanno a tutti.
« Ultima modifica: 31 Dicembre 2014, 15:23:25 da Franco_da_vc »
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #16 il: 31 Dicembre 2014, 15:36:43 »
...fai prima a cambiare oggetto.  ;D
« 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 #17 il: 31 Dicembre 2014, 19:16:29 »
ora a quanto capisco dovrei modificare il controllo in questo modo
Codice: gambas [Seleziona]

       If test_file = True  
         n_mese = ListBoxMesi.Index
         ListBoxMesi[n_mese].Selected = True    
       Endif  

in questo caso però comprometterei il controllo perchè la variabile n_mese verrebbe sovrascritta dal valore di ListBoxMesi.index e mi bloccherebbe del tutto il ciclio Repeat

Certo, hai ragione. l'istruizione corretta é
Codice: [Seleziona]
ListBoxMesi.Index = n_mese

Tieni conto che nella ListBox puoi selezionare una sola riga alla volta oppure tutte le righe.

Ciao e Buon anno.
:ciao:

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #18 il: 01 Gennaio 2015, 14:23:01 »
Rieccomi, sta scritto: "chi fa un azione al primo dell'anno la ripete tutto l'anno" che tradotto diventa: chi programma al primo dell'anno programma tutto l'anno.

@ Picavbg

ho provato ad inserire l'istruzione ListBoxMesi.Index = n_mese e non provoca problemi di sorta, ma non influisce in alcun modo sul comportamento della ListBoxMesi, in poche parole resta solo evidenziato l'ultimo item esaminato che ha superato la condizione:
Codice: gambas [Seleziona]

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

d'altronde nell'ultimo tuo post mi scrivevi:
Citazione
Tieni conto che nella ListBox puoi selezionare una sola riga alla volta oppure tutte le righe.
ciò vuol dire che l'oggetto ListBox non può supportare ciò che intendo realizzare? a questo punto ciò che mi postava l'amico Vuott
Citazione
...fai prima a cambiare oggetto.
ha un senso molto preciso, ma qual'è l'oggetto giusto da usare?

Ad occhio sull'editor di form vedo la TextArea e dall'help ho visto che supporta la proprietà Selected, quindi è pensabile che supporti un simile costrutto?
Codice: [Seleziona]
index=TextArea.Selected

E poi cosa molto più importante, è in grado di supportare l'esigenza che vi ho illustrato?

Buon anno a tutti.
« Ultima modifica: 01 Gennaio 2015, 14:26:04 da Franco_da_vc »
Bye by Afo

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #19 il: 01 Gennaio 2015, 17:21:00 »

Ad occhio sull'editor di form vedo la TextArea

E poi cosa molto più importante, è in grado di supportare l'esigenza che vi ho illustrato?


Io utilizzerei una GridView.   
« 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 andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Utilizzo di una ListBox
« Risposta #20 il: 01 Gennaio 2015, 22:31:43 »
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!

potresti fare una listbox con un campo text collegato: il campo text ripete la selezione del listbox e compie una certa routine, ad esempio cerca un file o un campo....a seconda del risultato viene colorato in modo diverso..io il listbox lo lascerei così anche che' non mi risulta che ci sia una proprietà come quella..

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #21 il: 01 Gennaio 2015, 23:00:02 »
Io utilizzerei una GridView.   
Convengo con questa soluzione. Naturalmente la colorazione dello sfondo di ciascuna cella della singola riga dovrà essere curata direttamente dal codice e dovrà essere diversa per ciascuna delle righe da evidenziare. :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #22 il: 01 Gennaio 2015, 23:09:41 »
...ricordando anche che la GridView supporta, volendo, pure il protocollo HTML !  
« 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 andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Utilizzo di una ListBox
« Risposta #23 il: 02 Gennaio 2015, 00:25:06 »
 ;D secondo me il software deve fare il suo lavoro e bene, inutile andare a fossilizzarsi su un cavillo di colore, quello che conta è il lavoro che fa in generale, naturalmente è la mia visione :-[ :-\ :'(

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #24 il: 02 Gennaio 2015, 01:32:32 »
secondo me il software deve fare il suo lavoro e bene, inutile andare a fossilizzarsi su un cavillo di colore, quello che conta è il lavoro che fa in generale...

Sostanzialmente questa opinione è condivisibile. Va però anche detto che - quando è possibile - è errato astenersi dal risolvere un problema: la soluzione apporterebbe maggiore conoscenza proprio sulla programmazione.
« 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 andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Utilizzo di una ListBox
« Risposta #25 il: 02 Gennaio 2015, 12:05:04 »
secondo me il software deve fare il suo lavoro e bene, inutile andare a fossilizzarsi su un cavillo di colore, quello che conta è il lavoro che fa in generale...

Sostanzialmente questa opinione è condivisibile. Va però anche detto che - quando è possibile - è errato astenersi dal risolvere un problema: la soluzione apporterebbe maggiore conoscenza proprio sulla programmazione.

delegare ad un textbox o/label colori e informazioni aggiuntive secondo me risolve tanti problemi, i campi colorati in una list box non sono neanche bellissimi, i campi colorati li ho usati in myzone con la componente grid, la vanno alla grande, ma è una griglia

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #26 il: 02 Gennaio 2015, 23:34:24 »
Volendo mantenere la struttura ListBox, una soluzione potrebbe essere quella di creane 2, la prima per quelle meritevoli di selezione, la seconda per tutte le altre.
É un'idea, ma se ne potrebbero escogitare anche altre, secondo la propria utilità e fantasia.
 :D
:ciao:

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #27 il: 05 Gennaio 2015, 21:59:15 »
potresti fare una listbox con un campo text collegato: il campo text ripete la selezione del listbox e compie una certa routine, ad esempio cerca un file o un campo....a seconda del risultato viene colorato in modo diverso..io il listbox lo lascerei così anche che' non mi risulta che ci sia una proprietà come quella..

Qui mi metti già in crisi Andy60, come è possibile realizzare una listbox collegata con un campo text? Puoi spiegarmelo?

Io utilizzerei una GridView.  

Non sarebbe un problema descrivere una GridView, l'unica cosa che mi chiedo è se è possibile eseguire una selezione su questo tipo di struttura?

Vi ringrazio tutti e continuo nella programmazione che comunque sta procedendo (Anche meglio di quanto credevo).

Ciao a tutti!
« Ultima modifica: 05 Gennaio 2015, 22:06:01 da Franco_da_vc »
Bye by Afo

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #28 il: 05 Gennaio 2015, 23:43:29 »
mi chiedo è se è possibile eseguire una selezione su questo tipo di struttura

Se tu guardi fra le proprietà di una Gridview trovi la proprietà Mode che, posta a  Multiple, ti permette di selezionare 2 o più righe. Nel tuo caso dovresti attivare detta proprietà già in fase di dichiarazione della gridview, oppure da codice, durante l'impostazione del formato delle righe e delle colonne. La selezione delle righe che ti interessano invece dovrai farla esclusivamente da codice, durante il trattamento dei dati ricadenti nella casualità dell'evidenziazione.
Io non l'ho ancora usata, ma dovrebbe essere semplice da mettere in pratica. Facci sapere.
 :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Utilizzo di una ListBox
« Risposta #29 il: 05 Gennaio 2015, 23:46:44 »
... l'unica cosa che mi chiedo è se è possibile eseguire una selezione su questo tipo di struttura?

Io riprendo la tua domanda ed esigenza originarie:


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.


e per esse ti rinvio a questa pagina attinente all'oggetto GridView, dalla quale credo potrai estrapolare alcuni spunti ed informazioni utili:
http://www.gambas-it.org/wiki/index.php?title=Cambiare_il_colore_di_fondo_di_una_riga_cliccata_e_far_tornare_quello_di_un%27altra_al_colore_iniziale
« Ultima modifica: 06 Gennaio 2015, 16:03:27 da vuott »
« 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. »