Autore Topic: Google Api  (Letto 1308 volte)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Google Api
« il: 06 Luglio 2011, 07:22:14 »
Se vi interessa ho un metodo alternativo per effettuare grafici di elevatissima qualità sfruttando codice java Google. Che non preclude l'utilizzzo dell'ottimo linegraf. Le possibilità sono eccezionali, quello che serve è una connessione attiva, ma ora anche i bambini ce l'hanno. Le routine in pratica si sostanziano solo in un loop per fornire il recordset dei dati da plottare. Personalizzazioni dei grafici infinite. Tanto per capirci, i grafici che vedete nella foto sono cliccabili e su ogni punto compare la finestrella informativa. Se vi fa piacere scrivo un articoletto-post. Buona giornata.

« Ultima modifica: 06 Luglio 2011, 07:25:46 da andy60 »

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Google Api
« Risposta #1 il: 06 Luglio 2011, 16:26:45 »
Se non ricordo male, questa cosa l'avevi già notificata tempo fà, ma che avevi abbandonato a causa di alcuni problemi (non ricordo quali...).

A parte l'indubbio vantaggio di avere una utility di questo tipo, qual'è il motivo di questo tuo ritorno di fiamma?  ;D

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Google Api
« Risposta #2 il: 06 Luglio 2011, 18:10:50 »
Se non ricordo male, questa cosa l'avevi già notificata tempo fà, ma che avevi abbandonato a causa di alcuni problemi (non ricordo quali...).

A parte l'indubbio vantaggio di avere una utility di questo tipo, qual'è il motivo di questo tuo ritorno di fiamma?  ;D

1. cercavo una soluzione di elevata qualità e sfruttabile in poco tempo
2. qualche tempo fa le routine di Google presentavano inefficenze (di gioventu' ) ora sistemate. E' possibile creare un grafico con webview sia costruendo una url apposita (soluzione che non mi piace e che nel primo periodo ho utilizzato) sia costruendo un file html che preveda javascript. Il codice java è molto leggibile ed ora è possibile settare tantissime cose tra l'altro il minimo e massimo di una ordinata (cosa prima impossibile).

In sostanza io faccio cosi':
a) con il costruttore Google (link in basso) creo un template del grafico che voglio proporre su g3
b) importo il codice in g3 creando una routine che scriva effettivamente il codice java cosi' come creato dal template
c) adatto il codice alle mie necessità

Esempio di creazione grafico:
Codice: [Seleziona]
Public Sub Massa()
  
  Dim myconn As New Connection
  Dim myset As Result
  Dim hfile As Stream
myconn.Type = "sqlite3"
  myconn.Host = Application.Path
  myconn.Name = "myZone.db"
  myconn.Open
  myset = myconn.Exec("SELECT * FROM tbPeso ORDER BY GMA")
  If myset.Count > 0 Then
hFile = Open Application.Path & "/massa.html" For Create
Print #hFile, "<!--"
Print #hFile, "You are free to copy and use this sample in accordance with the terms of the"
Print #hFile, "Apache license (http://www.apache.org/licenses/LICENSE-2.0.html)"
Print #hFile, "-->"
Print #hFile, ""
Print #hFile, "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>"
Print #hFile, "<html xmlns='http://www.w3.org/1999/xhtml'>"
Print #hFile, "<head>"
Print #hFile, "<meta http-equiv='content-type' content='text/html; charset=utf-8'/>"
Print #hFile, "<title>"
Print #hFile, "Google Visualization API Sample"
Print #hFile, "</title>"
Print #hFile, "<script type='text/javascript' src='http://www.google.com/jsapi'></script>"
Print #hFile, "<script type='text/javascript'>"
Print #hFile, "google.load('visualization', '1', {packages: ['corechart']});"
Print #hFile, "</script>"
Print #hFile, "<script type='text/javascript'>"
Print #hFile, "function drawVisualization() {"
Print #hFile, "// Create and populate the data table."
Print #hFile, "var data = new google.visualization.DataTable();"
Print #hFile, "data.addColumn('string', 'x');"
Print #hFile, "data.addColumn('number', 'Massa Grassa');"
Print #hFile, "data.addColumn('number', 'Massa Magra');"
For Each myset
  Print #hFile, "data.addRow(['" & Format$(myset!GMA, "dd/mm/yy") & "', " & myset!GRASSA & "," & myset!MAGRA & "]);"
Next
Print #hFile, "// Create and draw the visualization."
Print #hFile, "new google.visualization.AreaChart(document.getElementById('visualization'))."
Print #hFile, "draw(data,{curveType:'function',width: 300, height: 200,vAxis: {maxValue: 10},title: 'Storico massa grassa/magra'});"
Print #hFile, "}"
Print #hFile, "google.setOnLoadCallback(drawVisualization);"
Print #hFile, "</script>"
Print #hFile, "</head>"
Print #hFile, "<body style='font-family: Arial;border: 0 none;'>"
Print #hFile, "<div id='visualization' style='width: 300px; height: 200px;'></div>"
Print #hFile, "</body>"
Print #hFile, "</html>"
Else
  Message("Dati massa grassa/magra non disponibili.")
  hFile = Open Application.Path & "/massa.html" For Create
  Print #hFile, "<html>"
  Print #hFile, "<head>"
  Print #hFile, "<meta http-equiv='content-type' content='text/html; charset=ISO-8859-1'>"
  Print #hFile, "</head>"
  Print #hFile, "<body>"
  Print #hFile, "<small style='font-weight: bold;'><small>Dati massa grassa/magra non disponibili.</small></small>"
  Print #hFile, "</body>"
  Print #hFile, "</html>"
Endif  
End


I grafici java di Google presentano delle caratteristiche avanzate (ajax), in qualunque punto si clicca possono essere visualizzati i dati del grafico.

Fonti:
Home Google grafici: http://code.google.com/intl/it-IT/apis/chart/index.html
Costruttore grafici java: http://code.google.com/apis/ajax/playground/?type=visualization#area_chart
Chart di Google con url: http://code.google.com/intl/it-IT/apis/chart/image/
« Ultima modifica: 06 Luglio 2011, 22:16:55 da andy60 »

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Google Api
« Risposta #3 il: 06 Luglio 2011, 23:32:58 »
Se vi interessa ho un metodo alternativo per effettuare grafici di elevatissima qualità sfruttando codice java Google. Che non preclude l'utilizzzo dell'ottimo linegraf. Le possibilità sono eccezionali, quello che serve è una connessione attiva, ma ora anche i bambini ce l'hanno. Le routine in pratica si sostanziano solo in un loop per fornire il recordset dei dati da plottare. Personalizzazioni dei grafici infinite. Tanto per capirci, i grafici che vedete nella foto sono cliccabili e su ogni punto compare la finestrella informativa. Se vi fa piacere scrivo un articoletto-post. Buona giornata.
Sarebbe mooolto interessante.
Te la butto lì, potresti scrivere un' articolo per spiegare in modo completo questo metodo da inserire nel prossimo numero (che non sò quando uscirà) di Il resto del Pinguino.  ;)
Complimenti andy per i grafici, molto professionali.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Google Api
« Risposta #4 il: 07 Luglio 2011, 12:08:47 »
Fatemi sapere x l'articolo, non ho problemi a scriverlo. L'unico problema è il tempo, se entro luglio ok, poi vado negli SU.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Google Api
« Risposta #5 il: 08 Luglio 2011, 15:19:54 »
Credo sia molto più istruttivo e costruttivo aiutare f.surfing nello sviluppo della sua libreria piuttosto che utilizzare dei giocattoli messi a disposizione da Google. Poi non lamentiamoci che Gambas offre poco materiale se siamo noi i primi a cercare altrove!

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Google Api
« Risposta #6 il: 08 Luglio 2011, 16:03:04 »
Credo sia molto più istruttivo e costruttivo aiutare f.surfing nello sviluppo della sua libreria piuttosto che utilizzare dei giocattoli messi a disposizione da Google. Poi non lamentiamoci che Gambas offre poco materiale se siamo noi i primi a cercare altrove!

Spero che te stia scherzando, imho se un risultato se si raggiunge qualcosa in tante maniere è solo un bene x tutti noi. Mica voglio segare fsurfing, è un mito. Comunque le mie routine che sfruttano Mamma Google vanno che sono una scheggia. E di fondo, dato che capisco solo il mio codice all'incirca, è la sola routine che riesco a modificare!!

Per quanto mi riguarda, gioca a favore di certe soluzioni la combinazione TEMPO IMPIEGATO e QUALITA', tutto quello che faccio con g3 (purtroppo!!), è solo a livello di appassionato!!

Se la Comunità ritiene la cosa interessante posso fare un articolo, altrimenti come non detto :2birre:
« Ultima modifica: 08 Luglio 2011, 16:09:45 da andy60 »

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Google Api
« Risposta #7 il: 09 Luglio 2011, 00:02:15 »
Credo sia molto più istruttivo e costruttivo aiutare f.surfing nello sviluppo della sua libreria piuttosto che utilizzare dei giocattoli messi a disposizione da Google. Poi non lamentiamoci che Gambas offre poco materiale se siamo noi i primi a cercare altrove!
Sono d'accordo con te, io sto usando molto la libreria di fsurfing che ritengo più che ottima e che spero continui a sviluppare anche con l'aiuto di altri.
Questo non vuol dire che ciò che ha fatto andy sia "sbagliato", anzi far conoscere tutte le possibilità che Gambas offre, anche quelle di poter interagire con "risorse esterne" credo che sia un ottimo modo di far apprendere a molti neofiti o a chi non conosce (come il sottoscritto) tutte le potenzialità che questo linguaggio offre.
Secondo me ciò è un plus per Gambas e non una penalizzazione.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Google Api
« Risposta #8 il: 09 Luglio 2011, 09:10:42 »
Se fossi riuscito a manipolare le routine di fsurfing non mi sarei inventato le routine x google (è da intendere come una mia mancanza..), poi in effetti ci ho preso gusto con Google Chart. Per quanto riguarda linegraf ho indicato a fsurfing possibile vie di miglioramento di un codice che è già eccellente, ma non troppo personalizzabile, soprattutto per le piechart. Comunque qualcuno qua dentro più smaliziato di me potrebbe aiutarlo. Io non riesco.

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Google Api
« Risposta #9 il: 12 Luglio 2011, 07:24:25 »
Esempio delle potenzialità del codice java di google, sfruttabile da Gambas

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Google Api
« Risposta #10 il: 12 Luglio 2011, 10:53:11 »
Concordo con tornu...
Non stiamo qui a fare crociate verso o a favore di un linguaggio, oppure di un specifico modo di pensare.
Dopotutto i linguaggi sono nati proprio per poter sviluppare idee utili per risolvere i nostri problemi quotidiani, cercando di farlo nel modo più veloce e semplice.
La semplicità di Gambas ha fatto in modo da avvicinare alla programmazione molti dei nostri amici del forum, ma questo non vuol dire che ce lo siamo sposato, e che non possiamo ampliare la nostra conoscenza cercando di ampliarne le possibilità che, indubbiamente, potrebbero portare vantaggio sia a noi che al linguaggio stesso.
Già il linguaggi stesso si appoggia a librerie esterne, ed è una cosa normalissima, se non si vuole impazzire a scrivere ex-novo cose già fatte e belle che sperimentate.
Inoltre andy ha dimostrato che con Gambas si può interagire con cose esterne, il che è già di per se una bella cosa.

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Google Api
« Risposta #11 il: 12 Luglio 2011, 11:10:28 »
Concordo con tornu...
Non stiamo qui a fare crociate verso o a favore di un linguaggio, oppure di un specifico modo di pensare.
Dopotutto i linguaggi sono nati proprio per poter sviluppare idee utili per risolvere i nostri problemi quotidiani, cercando di farlo nel modo più veloce e semplice.
La semplicità di Gambas ha fatto in modo da avvicinare alla programmazione molti dei nostri amici del forum, ma questo non vuol dire che ce lo siamo sposato, e che non possiamo ampliare la nostra conoscenza cercando di ampliarne le possibilità che, indubbiamente, potrebbero portare vantaggio sia a noi che al linguaggio stesso.
Già il linguaggi stesso si appoggia a librerie esterne, ed è una cosa normalissima, se non si vuole impazzire a scrivere ex-novo cose già fatte e belle che sperimentate.
Inoltre andy ha dimostrato che con Gambas si può interagire con cose esterne, il che è già di per se una bella cosa.


come al solito caro Luigi valuti le cose x come vanno valutate, grazie per la puntualizzazione. Visto l'esempio che ho uplodato?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Google Api
« Risposta #12 il: 12 Luglio 2011, 15:42:47 »
Il mio pensiero continua ad essere lo stesso. Inutile andare OT per questioni non inerenti il post originale. Chi vuole approfondire può utilizzare gli appositi spazi messi a disposizione.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Google Api
« Risposta #13 il: 12 Luglio 2011, 16:00:40 »
A parte bannare cescko? No, purtroppo non l'ho ancora visto...

P.S.: {cescko} Stai diventando sempre più cattivo, come un vero webmaster...  ;D

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Google Api
« Risposta #14 il: 12 Luglio 2011, 19:24:38 »
Il mio pensiero continua ad essere lo stesso. Inutile andare OT per questioni non inerenti il post originale. Chi vuole approfondire può utilizzare gli appositi spazi messi a disposizione.

@ Ceskho

azz ma che ti hanno fatto arrabbiare oggi? Buonumore , fuori va tutto cosi' bene!!!! ahahahahahaha :2birre: :2birre: :2birre: :2birre: :2birre: