Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: andy60 - 29 Marzo 2008, 20:55:57

Titolo: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 29 Marzo 2008, 20:55:57
Cari amici ho studiato le Api di Google sui grafici. Sono molto interessanti, piene zeppe di funzioni.

Stimolato oltremodo , ho realizzato una piccola classe di esempio, completamente funzionante, che riporto in allegato con un esempio. IMHO penso che questa classe e quella di Luigi possano risolvere efficacemente il problema dei grafici su gambas, a livello professionale. La mia classe deve essere ulteriormente ampliata, i grafici possibili e le possibilità di customizzazione sono enormi.
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: leo72 - 30 Marzo 2008, 00:56:45
Sicuramente interessante ma... sei legato all'avere un collegamento internet.
E se uno lavora con un PC sotto firewall?
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 30 Marzo 2008, 01:43:59
'conditio sine qua non' è internet, poi non so dirti. la ricchezza delle funzioni di google esercita una grande attrazione.
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: md9327 - 31 Marzo 2008, 10:20:22
Infatti andy ha dichiarato:
Codice: [Seleziona]
 "questa classe e quella di Luigi"


Così la scelta è su due... se poi qualcuno contribuisce alla sistemazione e alla evoluzione del porting, è il benvenuto...

A proposito andy, come avrai potuto notare, ci sono un pò di magagne a livello di posizionamento e di conversione numerica. Queste cose non l'ho sistemate perchè mi ero buttato solo nella traduzione da php; purtroppo ci sono delle incongruenze tra le funzionalità php e quelle gambas, che necessitano di conversioni specifiche. Tra le altre cose, forse è anche possibile ottimizzare il codice, perchè anche se usa variabili molto chiarificatrici, queste allungano il codice rendendolo piuttosto prolisso... boh, non sò...
In questi giorni ho scoperto alcune incongruenze, causate dal fatto che in php non è necessario specificare le variabili come per gli altri linguaggi (cosa che a me personalmente non piace molto...).

Vabbè, mi sono dilungato troppo, e pure fuori zona...

Bye
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 31 Marzo 2008, 18:01:49
la classe Goochart, che ha il solo scopo di creare una url ottimizzata x google, la sto sottoponendo a revisione, deve farmi poche cose e velocemente, poi vi daro' notizie. Certamente è NECESSARIA la connessione Internet x accedere alle api, ma trovo la cosa molto molto pratica. E ho notato funziona anke attraverso il firewall della banca.
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 31 Marzo 2008, 18:05:37
sono sicuramente ben accette modifiche anke a goochart
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: fsurfing - 31 Marzo 2008, 20:47:55
ho scaricato la tua classe... molto interessante

ti conviene inserire qualcosa del tipo

Codice: [Seleziona]
 
IF NOT Exist(user.home & "/Gambas") THEN
      MKDIR user.Home & "/Gambas"
  ENDIF
 
  IF NOT Exist(user.home & "/Gambas/Diet") THEN
     MKDIR user.home & "/Gambas/Diet"
  ENDIF
 
  hFile = OPEN user.home & "/Gambas/Diet/" & sNomefile FOR CREATE
  PRINT #hFile, ""
  PRINT #hFile, ""
  PRINT #hFile, ""
  PRINT #hFile, ""
  PRINT #hFile, ""
  CLOSE #hFile  


per evitare problemi dovuti alla mancanza del persorso dove generi il file.

inoltre ho notato che avviando il programma la console di gambas mi da questi avvisi che con altri programmi non ho:

Citazione
X Error: BadDevice, invalid or uninitialized input device 158
  Major opcode:  149
  Minor opcode:  3
  Resource id:  0x0
Failed to open device
X Error: BadDevice, invalid or uninitialized input device 158
  Major opcode:  149
  Minor opcode:  3
  Resource id:  0x0
Failed to open device
kbuildsycoca running...
DCOP Cleaning up dead connections.
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: Pixel - 31 Marzo 2008, 22:22:27
Gli errori che ti vengono mostrati sono causati da KDE.
Il componente WebBrowser di Gambas si appoggia a KHTML (il motore di rendering di KDE) e di conseguenza cerca applicativi KDE che (a meno che tu non abbia KDE come DM) probabilmente non hai su Ubuntu (o altra distribuzione con Gnome).
Nulla di preoccupante.
Ciao
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 31 Marzo 2008, 23:10:44
ho ubu 7.1 +gnome:-D
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: fsurfing - 01 Aprile 2008, 12:56:30
ok tuuto chiaro...grazie pixel 8-)
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: leo72 - 01 Aprile 2008, 17:07:26
Alt, fermi tutti!  :alt:
Se non mi ricordo male, quel problema deriva da una errata configurazione di X, specificatamente proprio Ubuntu mette a volte in automatico nel file xorg.conf anche il supporto ad alcune tavolette grafiche che, a meno di non averle, generano quell'errore.

Edita da root il file /etc/X11/xorg.conf (sudo gedit /etc/X11/xorg.conf) e poi  commenta (con il segno #) le righe che si riferiscono ad un dispositivo denominato wacom.
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: Pixel - 01 Aprile 2008, 17:27:33
@ Leo:
Questo si..
    X Error: BadDevice, invalid or uninitialized input device 158
    Major opcode: 149
    Minor opcode: 3
    Resource id: 0x0
    Failed to open device
    X Error: BadDevice, invalid or uninitialized input device 158
    Major opcode: 149
    Minor opcode: 3
    Resource id: 0x0
    Failed to open device

Questo no:
    kbuildsycoca running...
    DCOP Cleaning up dead connections.

Ciao
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: fsurfing - 01 Aprile 2008, 17:53:34
ma io ho una tavoletta grafica wacom! che funziona regolarmente dici che è lei la colpevole? :-o
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: leo72 - 02 Aprile 2008, 10:52:49
@Fabio:
Codice: [Seleziona]

kbuildsycoca running...
DCOP Cleaning up dead connections.

Sì, vero. E non sono errori. Sono messaggi che Gambas dà sempre quando viene eseguito su Gnome (Gambas, ricordo, è sviluppato con le Qt).

@fsurfing:
io so solo che quei messaggi di errore sono causati da ciò. Prova a commentare le righe suddette ed a vedere se funziona lo stesso.
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 02 Aprile 2008, 23:35:36
Il generatore di chart di Google pone questa problematica:
ipotesi di serie di dati n.1) 12,13.4,54,63=> in questo caso nessun problema
seconda ipotesi=> 123,144.67, 98, 43 => questa serie crea problemi in quanto il motore dei grafici accetta numeri anche con decimali, ma comunque non superiori a 100, per cui la procedura a mio parere sarebbe quella di trovare il valore massimo e di dividere tutti i numeri della serie x questo valore , come dicono le istruzioni di google. Voi che ne pensate?

..il consiglio di google:....Note: For text encoding, scale your data by converting it into percentages of the largest value in your data set......
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: fsurfing - 02 Aprile 2008, 23:57:01
@ andy60 grazie al tuo esempio di classe ho finalmente capito come funziona una classe!!!!!
per fare qualche prova ne ho fatta una per fare grafici a linee garda se ti piace!
 ;-)
(ps: non è ancora completamente finita ma funziona)
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 03 Aprile 2008, 07:31:22
oggi do' una guardata sicuramente, se vuoi mettere mano al codice della mia classe fai pure, è ben accetto. mi fa piacere leggere questo post , rispecchia lo spirito di gambas-it. ciao :-)
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 07 Aprile 2008, 07:09:31
Allego ultima versione utilizzata della classe, genera 'solo' linechart, è semplificata rispetto alla iniziale, puo' costituire una base di partenza x sfruttare google. Per provare la classe va creato un nuovo progetto: il file chart.txt va rinominato in chart e caricato come classe. nella form principale va adattato il codice di esempio (la conenssione al database sfrutta una routine Exec).
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 10 Aprile 2008, 21:54:42
Ho ulteriormente 'irrobustito' la classe inserendo una nuova funzione (chiamata build2) che genera grafici a torta 3d...allego form del mio softwarino Diet&Sports

Ecco la funzione aggiunta alla classe chart:

Codice: [Seleziona]
PUBLIC SUB Build2()
 
  DIM sUrl AS String
  DIM x AS Integer
  DIM hfile AS Stream
  sUrl = "http://chart.apis.google.com/chart?cht=p3&chd=t:"
  FOR EACH arraydati
    x = x + 1
    IF x = Numrecs(arraydati) THEN
       sUrl = sUrl & CStr(arraydati[x - 1])
    ELSE
      sUrl = sUrl & CStr(arraydati[x - 1]) & ","
    ENDIF
  NEXT
  sUrl = sUrl & "&chs=" & ll & "x" & al & "&chl=Prot|Gra|Carb&chtt=" & ti & "&chf=bg,s," & cs
  hFile = OPEN user.home & "/Gambas/Diet/" & nomefile FOR CREATE
  PRINT #hFile, ""
  PRINT #hFile, ""
  PRINT #hFile, ""
  PRINT #hFile, ""
  PRINT #hFile, ""
  CLOSE #hFile  

END
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: md9327 - 11 Aprile 2008, 16:20:17
I miei complimenti andy, interfaccia mooolto carina e pulita, davvero!
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 11 Aprile 2008, 19:21:30
grazie! allego l'ultima release. è un software discretamente potente ma ci sono diverse cose a cui mettere mano, l'internazionalizzazione ad esempio e la gestione delle stampe delle tabelle...nonche' la riverifica di tutte le formule inserite..
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: leo72 - 13 Aprile 2008, 23:12:22
Cmq, complimenti ancora. E' veramente ben curato graficamente.
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 14 Aprile 2008, 22:28:22
grazie dei complimenti Leo, li accetto con grande contentezza. Il softwarino in questione mi è costato (e costa) tutt'ora tante ore tolte al sonno...ci devo lavorare ancora molto sopra e, come ben sai, non si è mai contenti, si cerca sempre di migliorare e affinare...

grazie ancora
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: md9327 - 16 Aprile 2008, 12:32:10
Mi associo ai complimenti anche io !!!

Sulla questione del sonno... bè, lasciamo perdere... :-)
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: leo72 - 17 Aprile 2008, 11:22:36
Fra tutti... si fa a chi dorme di meno!  :sonno:  :noia:
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 17 Aprile 2008, 23:21:43
grazie Luigi con tutti sti complimenti mi state 'spingendo' a migliorarlo sto softwarino...

:-)
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: md9327 - 20 Aprile 2008, 16:24:21
Bè, l'idea è anche quella, no?

 :idea:
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: andy60 - 22 Aprile 2008, 00:47:42
ho dovuto mettere mano alla nuova release di ubuntu...lo sviluppo è fermo lo riprendo a meta' maggio (sto fuori 10 gg x una vacanzetta)
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: md9327 - 23 Aprile 2008, 16:56:03
Beato te... :-(
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: leo72 - 23 Aprile 2008, 23:59:24
Le ultime ferie che ricorso sono targate ottobre o novembre 2007....
Titolo: Re: Api Google per i grafici: una nuova classe
Inserito da: md9327 - 24 Aprile 2008, 17:46:46
Beato te che te le ricordi ancora...