Autore Topic: su Wiki  (Letto 2873 volte)

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
su Wiki
« il: 17 Settembre 2019, 14:43:25 »
Suggerirei di controllare il codice presente a questa pagina di Wiki: https://www.gambas-it.org/wiki/index.php?title=Assegnare_colori_allo_sfondo_ed_al_testo_di_una_riga_selezionata_di_una_ListView

Ho provato il codice che secondo me contiene un errore
Codice: [Seleziona]
ListView1[j + 1]
ListView1[ob.Row + 1]
da entrambi va tolto il +1

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:su Wiki
« Risposta #1 il: 17 Settembre 2019, 14:50:03 »
Devi spiegare anche il perché, altrimenti non si capisce la segnalazione.



« Ultima modifica: 17 Settembre 2019, 14:58:38 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. »

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:su Wiki
« Risposta #2 il: 17 Settembre 2019, 15:03:55 »
beh, inanzitutto perchè l'ho provato  :D  Comunque l'errore viene generato perchè va oltre l' Ubound (ob.Rows.Max) ?
« Ultima modifica: 17 Settembre 2019, 15:05:15 da dregi »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:su Wiki
« Risposta #3 il: 17 Settembre 2019, 15:30:05 »
E' strano...  a me non dà alcun errore e funziona perfettamente.

Inoltre non comprendo come la Proprietà .Max dell'array contenente tutte le righe del "Figlio", che è una GridView, della ListView possa causare in quel caso un errore di "Out of bound".
Infatti le righe del ".Children" (la GridView) della ListView costituiscono anche le righe della ListView medesima. Infatti le righe della ListView sono sette, e il valore restituito da "ob.Rows.Max" è coerentemente 6 ("ob" è una variabile di tipo Object che in questo caso punta alla GridView "Figlia" della ListView).
Per verificare ciò è sufficiente porre un "Print" dopo la riga "ob = ListView1.Children[0]":
Codice: [Seleziona]
Print ob.Rows.Max

Va detto, invero, che, a voler essere precisi, un errore c'è nelle due parti di codice, da te segnalate, ed è l'assenza della funzione di conversione da valore numerico a valore ASCII stringa. Infatti il tipo di valore richiesto, da inserire nelle parentesi quadre, è di tipo Stringa, essendo l'identificativo della chiave distintiva e non il numero di Indice dell'array ! A causa dell'automatismo di conversione fra tipi (che io non condivido), operato da Gambas, l'errore in tal caso viene prevenuto e così evitato.
Volendo comunque, come dicevo, essere precisi, le due parti andranno così rettificate:
Codice: [Seleziona]
ListView1[CStr(j + 1)].Richtext = ...etc...

Codice: [Seleziona]
ListView1[CStr(ob.Row + 1)].Richtext = ...etc...
Provvedo ora alla suddetta modifica nella pagina della WIKI.
« Ultima modifica: 17 Settembre 2019, 15:47:03 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. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.151
  • Tonno verde
    • Mostra profilo
Re:su Wiki
« Risposta #4 il: 17 Settembre 2019, 15:46:20 »
Va precisato che il codice funziona solo usando le librerie Grafiche QT (gb.gui.qt) altrimenti dà errore.
Suggerisco di evidenziarlo bene.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:su Wiki
« Risposta #5 il: 17 Settembre 2019, 15:48:56 »
Va precisato che il codice funziona solo usando le librerie Grafiche QT (gb.gui.qt) altrimenti dà errore.
Suggerisco di evidenziarlo bene.
Ah, ecco, questa segnalazione è utile.
Il fatto è che io in grafica opero sempre in ambiente QT !
Grazie Gianluigi, provvedo subito nella WIKI.

Va comunque ringraziato anche dregi: senza la sua segnalazione non si sarebbero potute apportare queste tre precisazioni.
« Ultima modifica: 17 Settembre 2019, 15:58:49 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. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.151
  • Tonno verde
    • Mostra profilo
Re:su Wiki
« Risposta #6 il: 17 Settembre 2019, 17:08:05 »
Propongo un codice estrapolato da seHelpBuilder per cambiare i colori a una ListView che dovrebbe funzionare con qualunque libreria grafica.
Vedi progetto allegato.

 :ciao:

Piccola dimenticanza corretta, spero che funzioni bene.
« Ultima modifica: 17 Settembre 2019, 17:17:53 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.151
  • Tonno verde
    • Mostra profilo
Re:su Wiki
« Risposta #7 il: 17 Settembre 2019, 17:41:52 »
Io con le GTK ottengo un malfunzionamento in questo codice:
Codice: [Seleziona]
txtIndex.Select(Len(txtIndex.text) - 1, Len(txtIndex.text))
Mentre con le QT vengono selezionate le sole lettere non trovate con GTK non viene selezionato nulla, succede anche a voi?

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:su Wiki
« Risposta #8 il: 17 Settembre 2019, 18:00:42 »
Sì, evidentemente la proprietà ".Foreground" alla ListView è stata aggiunta successivamente, magari su richiesta esplicita.
...però quei "Try " non si possono guardare !   :bad:
« Ultima modifica: 17 Settembre 2019, 18:01:40 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. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.151
  • Tonno verde
    • Mostra profilo
Re:su Wiki
« Risposta #9 il: 17 Settembre 2019, 18:07:41 »
Occorre già stare attenti a tante cose, nella programmazione!
Io il Try lo adoro  :-*
Un Try vi salverà la vita  :P
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:su Wiki
« Risposta #10 il: 17 Settembre 2019, 18:22:35 »
Un Try vi salverà la vita  :P

...non credo in questo caso !!!   

« Ultima modifica: 17 Settembre 2019, 19:11:16 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. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:su Wiki
« Risposta #11 il: 17 Settembre 2019, 18:37:44 »
Ad ogni modo ho inserito nella pagina della Wiki un nuovo codice, ripreso da quello del programma suggerito da Gianluigi, rivisto e ridotto.
« 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 Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.151
  • Tonno verde
    • Mostra profilo
Re:su Wiki
« Risposta #12 il: 17 Settembre 2019, 20:04:36 »
Un Try vi salverà la vita  :P
...non credo in questo caso !!!   

Perché non hai letto bene infatti dico vi e non mi  :P

Citazione
Ad ogni modo ho inserito nella pagina della Wiki un nuovo codice, ripreso da quello del programma suggerito da Gianluigi, rivisto e ridotto.
E poi dicono che i tirchi siano i genovesi...  :P :P
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.266
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:su Wiki
« Risposta #13 il: 17 Settembre 2019, 21:17:33 »
E poi dicono che i tirchi siano i genovesi...  :P :P

...e poi dicono che i Turchi sono Genovesi !

« 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 dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:su Wiki
« Risposta #14 il: 17 Settembre 2019, 22:06:04 »
Vi ho letti e trovo il mondo Gambas sempre più affascinante! Oggi ho imparato che prima di muovere commenti occorre anche guardare con che libreria si sta lavorando..... e per un ciclo For non me lo sarei aspettato. Volevo ringraziare Gianluigi per il "nuovo" codice di evidenziazione della row, molto chiaro e sopratutto conciso, limpido e funzionante!

Per quanto riguarda quella pagina di Wiki, mi permetto di suggerire a vuott l'aggiunta di una riga per il clic su una voce della listView, lo so che è quasi scontato, ma se è una guida è una guida e ti deve menar per ditino....perchè sia di immediata comprensione l'uso anche al neofita....come me:
Codice: [Seleziona]
Dim s As String
  s = ListStampanti.Current.Text
« Ultima modifica: 17 Settembre 2019, 22:08:48 da dregi »