Gambas-it
  Blog     Wiki     Download     Il resto del Pinguino  
07 Settembre 2010, 09:46:31 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizie: Nasce Il resto del Pinguino: Scrivi anche tu!
 
   Home   Guida Ricerca Utenti Accedi Registrati  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: [RISOLTO ] TableView: Numero minimo di righe?!?  (Letto 307 volte)
Simmy
Gamberetto
*
Scollegato Scollegato

Messaggi: 8


Mostra profilo
« inserito:: 07 Febbraio 2010, 11:51:02 »

Salve a tutti!!
Ho compilato e installato Gambas 2.19 dai sorgenti su Ubuntu 9.10 Karmic Koala.
Ho trovato uno strano comportamento nell'oggetto TableView:
se setto il valore .Rows.Count ad un valore inferiore a 4
il programma si blocca inaspettatamente con segnale #11  Adirato
Per il momento ho ovviato con questo:
    IF rCli_Contacts.Count > 3 THEN
      TV_Cli_Contact.Rows.Count = rCli_Contacts.Count + 1
    ELSE
      TV_Cli_Contact.Rows.Count = 4
    ENDIF
ma vorrei evitare di avere righe vuote inutili oltre a quella che mi serve per
compilare una nuova riga...
E' capitato anche a qualcun altro?
Ringrazio per eventuali suggerimenti,
Max
« Ultima modifica: 18 Febbraio 2010, 22:43:35 da Simmy » Registrato
fsurfing
Moderatore
Senatore Gambero
*****
Scollegato Scollegato

Messaggi: 1.600



Mostra profilo WWW
« Risposta #1 inserito:: 07 Febbraio 2010, 12:14:41 »

a me con gambas 2.19 (dai repo di madness) e ubuntu 9.10 non succede ne con gtk ne con qt

ho fatto un prog di prova per testarlo www.tutto-opensource.org/provatab-0.0.1.tar.gz
Registrato

Simmy
Gamberetto
*
Scollegato Scollegato

Messaggi: 8


Mostra profilo
« Risposta #2 inserito:: 14 Febbraio 2010, 21:05:46 »

a me con gambas 2.19 (dai repo di madness) e ubuntu 9.10 non succede ne con gtk ne con qt

ho fatto un prog di prova per testarlo www.tutto-opensource.org/provatab-0.0.1.tar.gz

Grazie mille fsurfing, ho provato a guardare il link ma purtroppo mi dice che è inesistente... Però mi ha portato
a scoprire il tuo sito, che non è poca cosa!!!!
Ho indagato un attimino (che bello ho scoperto le funzioni di debugging...) e ho notato che il problema lo fa solo
chiamando la funzione .Refresh della tableview se il numero righe dichiarate è <=3...

Ho notato anche un'altro problema diverso ma sempre riguardante la tableview:
Uso un database SQLITE 3, ho costruito il database e le tabelle con le funzioni .Databases.Add e .Tables.Add interne
a Gambas. Tutto il database è in ordine, controllato con Sqliteman per controprova!
Un campo di una tabella di questo database è dichiarato come:

    .Fields.Add("KmExtraurbano", db.Float)

poichè mi serve un numero con la virgola.
Ho poi una Tableview in cui visualizzo il valore di questo campo:

    TableV_PopUp[4, 1].Text = rCli_Tariffe!KmExtraurbano

Bene, se il mio codice lo eseguo direttamente dall'IDE di Gambas, tutto ok.
Ma se, dello stesso codice, creo un eseguibile e lo lancio, nella stessa tableview il risultato cambia decisamente:
esempio da IDE:
valore presente nel campo: 0,8 valore visualizzato: 0,8
esempio da eseguibile:
valore presente nel campo: 0,8 valore visualizzato: -2,353437933358E-185
valore presente nel campo: 1    valore visualizzato: 6,035910075295E-317
valore presente nel campo: 1000    valore visualizzato:
Registrato
Simmy
Gamberetto
*
Scollegato Scollegato

Messaggi: 8


Mostra profilo
« Risposta #3 inserito:: 14 Febbraio 2010, 21:12:33 »

Oooops scusate.... Firefox ha preso il sopravvento...

dicevo:
valore presente nel campo: 1000    valore visualizzato:5,293214786366E-317
Il bello è che se edito il valore direttamente nella tableview, l'inserimento
del valore nel database è corretto, solo la visualizzazione è sbagliata... Help!! Pianto
Comunque gambas è veramente valido!!!

Salute a tutti.
Registrato
Simmy
Gamberetto
*
Scollegato Scollegato

Messaggi: 8


Mostra profilo
« Risposta #4 inserito:: 14 Febbraio 2010, 21:16:25 »

Scusate ancora... troppa programmazione rincitrullisce!!!

La funzione che manda il crash gambas non è .Refresh ma .Clear!!!!
Sorry ancora...
Simmy
Registrato
fsurfing
Moderatore
Senatore Gambero
*****
Scollegato Scollegato

Messaggi: 1.600



Mostra profilo WWW
« Risposta #5 inserito:: 15 Febbraio 2010, 00:43:42 »

io in un mio progetto utilizzo molto le tabview è non ho riscontrato alcun bug
ti ricordo che per rendere editabile la tabview devi fare:
Codice:
PUBLIC SUB TableView1_Click()

      tableview1.Edit()
END
se vuoi farla editare con un qualsiasi testo oppure:
Codice:
PUBLIC SUB TableView1_Click()

      tableview1.Edit([1,2,3,4],true)
END
per far apparire una combo da cui scegliere dei valori (nell' esempio da 1 a 4)
solo con questo codice però la tab non salverà i valori immessi per farlo devi scrivere:
Codice:
PUBLIC SUB TableView1_Save(Row AS Integer, Column AS Integer, Value AS String)
     
              tableview1[row, Column].Text =Value
     
END
il metodo refresh() nel 99,99% dei casi non serve
e clear() lo puoi evitare se effettivamente ti da dei problemi semplicemte riscrivendo la tableview
Registrato

Simmy
Gamberetto
*
Scollegato Scollegato

Messaggi: 8


Mostra profilo
« Risposta #6 inserito:: 16 Febbraio 2010, 00:05:19 »

Grazie ancora fsurfing per l'interessamento... e la pazienza!!!
Per rendere "palpabile" il problema, ho fatto un po di taglia e cuci
delle 4 righe della mia applicazione con un ignobile form tanto
per focalizzare il problema:
lo puoi trovare qui: http://www.simmylab.it/guest/test_tableview-0.0.4.tar.gz

Ho cercato di riprodurre il problema utilizzando il più possibile
parti del mio codice originale (non spaventarti, qualche adattamento al volo
giusto perchè girasse...)
I problemi che si vedono sono:
se in numero righe metti 1 (e lo fa solo con il valore 1!!), premi "Set" e poi clicchi "Metodo .Clear" vedrai
il mitico errore #11...
se lanci l'applicazione compilata, nella prima riga del tableview vedrai il problema
della visualizzazione dei valori float...

Nel frattempo cosa dici? Cerco di aggirare il problema (anche se quello della visualizzazione
dei float è un pò dura...) o è meglio che mi cerco un buon libro sul C++?

Grazie mille per i consigli!!
Max
Registrato
fsurfing
Moderatore
Senatore Gambero
*****
Scollegato Scollegato

Messaggi: 1.600



Mostra profilo WWW
« Risposta #7 inserito:: 16 Febbraio 2010, 23:26:33 »

in effetti con un record il programma crasca

il discorso del float non riesco a provarlo perchè deve esserci un errore nel codice
Registrato

milio
Maestro Gambero
****
Scollegato Scollegato

Messaggi: 425



Mostra profilo
« Risposta #8 inserito:: 16 Febbraio 2010, 23:40:07 »

ho provato anch'io ma il problema l'ho riscontrato solo usando le gtk. con le qt funziona benissimo
Registrato
fsurfing
Moderatore
Senatore Gambero
*****
Scollegato Scollegato

Messaggi: 1.600



Mostra profilo WWW
« Risposta #9 inserito:: 16 Febbraio 2010, 23:59:04 »

Citazione
ho provato anch'io ma il problema l'ho riscontrato solo usando le gtk. con le qt funziona benissimo
naturalmente ti riferisci al metodo clear()

per quanto riguarda il problema dei float ho aggiunto del codice per visualizzare all' avvio i dati del campo float presenti nel db ... funziona tutto correttamente sia da ide che da eseguibile.

il tuo codice cmq mi sembra un po confusionario, ma probabilmente deriva dal fatto che hai tagliuzzato il tuo programma per creare l' esempio.

non è cmq il caso di studiare il c++ (a meno che non ti faccia piacere!) il problema probabilmente dipende dal tuo codice, per il refresh invece è un problema di gambas e le gtk, quindi o utilizzi le qt oppure per pulire la grid fai un ciclo for che imposta a "" il testo delle celle
Registrato

fsurfing
Moderatore
Senatore Gambero
*****
Scollegato Scollegato

Messaggi: 1.600



Mostra profilo WWW
« Risposta #10 inserito:: 17 Febbraio 2010, 00:07:39 »

ah dimenticavo, personalmente non amo molto impostare il programam per creare file con il percorso della applicazione

es:
Codice:
IF Exist(Application.Path & "/testdb")

questo perche se poi realizzi un pacchetto precompilato es: un .deb, il file eseguibile sara posizionato in una cartella di sistema, percui il programma non riuscirà a creare il database (questa è una supposizione non l' ho mai verificato) cmq anche se ci riuscisse non è molto bello creare un database o altri file nella cartella destinata a file eseguibili, siamo su linux non su win dove ognuno posiziona i file dove + gli pare e piace  Linguaccia
Registrato

Simmy
Gamberetto
*
Scollegato Scollegato

Messaggi: 8


Mostra profilo
« Risposta #11 inserito:: 17 Febbraio 2010, 23:50:42 »

Grazie a tutti per il supporto...

Allora... Per il problema del metodo .Clear ho risolto!
Basta mettere un bel
 .Rows.Count=0
così pulisce anche la griglia proprio come il .Clear (ovvero leva le righe che non servono più!)
e poi con lo stesso comando gli setto il numero di righe che mi servono!!!
Risultato estetico ottimo (solo il numero di righe necessarie !!)

Grazie a fsurfing per l'idea del ciclo for-next, ma rimaneva la
griglia con le righe vuote e non mi piaceva...
Grazie anche per il discorso sui files, veramente non ci avevo pensato,
ma è un buon consiglio. Nell'esempio ho fatto per praticità di tenere tutto
in una directory al solo fine di esempio, finito lo studio del bug si cancella
la directory e tutta l'immondizia creata... Nel programma finale il database
sarà su un server remoto... Però avrò un file di configurazione a cui persare,
perciò la pulce nell'orecchio di fsurfing è tutt'altro che scontata!!!
Mi rimane ora il problema dei float... Ho provato anche la versione modificata
di fsurfing ma da lo stesso identico problema...  Che?!?

Può essere qualche impostazione di Ubuntu? (mi ricordo ai tempi di win Scioccato che
i valori delle impostazioni internazionali, tipo il carattere
usato per la virgola o il separatore delle migliaia, facevano sballare certi Ide
per PLC che usavo....)
E' il caso di cambiare topic? Ormai il problema righe di tableview è felicemente aggirabile,
rimane da chiarire questo dei float... ma forse è off topic qui?
Non mi è chiara una cosa: ma con Ubuntu posso usare indifferentemente le librerie gtk e qt
o essendo Gnome solo le gtk?
Portate pazienza per un povero elettronico che ha sempre e solo usato assembler e QuickBasic in Dos....
Non potrò mai arrivare alle sublimi tecniche degli informatici di oggi... Eppure alzi la mano chi non
ha cominciato con una scatoletta con i tasti di gomma e l'arcobaleno in basso a destra o un'altra
con solo 4 tasti funzione!!! Linguaccia (il mouse verrà inventato 6 anni dopo e con un solo tasto...)
Un saluto a tutti!
Simmy
Registrato
Ceskho
Moderatore
Senatore Gambero
*****
Scollegato Scollegato

Messaggi: 2.606


Vi Veri Veniversum Vivus Vici


Mostra profilo WWW
« Risposta #12 inserito:: 18 Febbraio 2010, 00:30:46 »

E' il caso di cambiare topic? Ormai il problema righe di tableview è felicemente aggirabile,
rimane da chiarire questo dei float... ma forse è off topic qui?

Penso che sia meglio...per coerenza titolo/contenuto.. Occhiolino

Citazione
Non mi è chiara una cosa: ma con Ubuntu posso usare indifferentemente le librerie gtk e qt
o essendo Gnome solo le gtk?

Sarà il sistema su cui installerai il tuo programma ad usare le librerie giuste...tu in fase di programmazione non te ne devi preoccupare...a meno che non usi componenti che qt hanno ma le gtk no....in quel caso la scelta e forzata...
Registrato

SITO
Attivista politico sinistroide!
LEGGETE IL REGOLAMENTO E FATE LE RICERCHE
"Io sono ciò che sono per merito di ciò che siamo tutti"...perciò fatti un esame di coscienza chiedendoti perchè sono così!!!
fsurfing
Moderatore
Senatore Gambero
*****
Scollegato Scollegato

Messaggi: 1.600



Mostra profilo WWW
« Risposta #13 inserito:: 18 Febbraio 2010, 00:31:44 »

ok direi che puoi mettere risolto alla discussione per quanto riguarda le righe della tableview.

per il float non è sicuramente un problema di tableview ne credo del db, molto probabilmente è un problema legato al tuo software o al limite al tuo sistema credo
al limite apri un altro post al riguardo in programmazione e magari allega per intero il programma
per il file di configurazione esiste l' apposito componente settings  , ti basta abilitare il componente in proprietà, leggeti i file della guida in proposito o ricercare sul forum
ciao ciao
Registrato

Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC XHTML 1.0 valido! CSS valido!
Se vuoi sostenere Gambas-it.org puoi fare una piccola donazione utilizzando PayPal: