Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: andy60 - 09 Marzo 2008, 15:54:45

Titolo: Porting di libchart
Inserito da: andy60 - 09 Marzo 2008, 15:54:45
gb.chart è in beta e senza documentazione, secondo voi è possibile effettuare il porting di una libreria php in gambas, come classe? Ho trovato l'interessante libreria libchart (http://naku.dohcrew.com/libchart/pages/introduction/ (http://naku.dohcrew.com/libchart/pages/introduction/)). La riporto in allegato.
Titolo: Re: Porting di libchart
Inserito da: md9327 - 10 Marzo 2008, 17:49:47
Ciao andy,
non vedo perchè no, dato che l'ho già fatto per la libreria FPDF (vedi nei downloads PdfWriter...).
Vuoi mettere in piedi lo sviluppo?

 :-D
Titolo: Re: Porting di libchart
Inserito da: andy60 - 10 Marzo 2008, 23:36:39
mi piacerebbe veramente, anche xche questa liberia mi sembra molto ben fatta. come suggerisci di procedere?
Titolo: Re: Porting di libchart
Inserito da: md9327 - 11 Marzo 2008, 01:47:48
Bè, per il momento fammi dare un'occhiata.

Ti faccio sapere entro domani.

Bye
Titolo: Re: Porting di libchart
Inserito da: md9327 - 11 Marzo 2008, 01:57:39
Rispondo subito, anche se ho dato solo un'occhiata al numero e la dimensione dei file contenuti nel pacchetto.
Ho visto anche il sito e devo dire che potrebbe essere fattibile, i file non sono tanti e anche piuttosto piccoli; l'unica cosa è che devo vedere se, per caso, non vengano utilizzate istruzioni strane SOLO PHP, il che vuol dire che se sì, potrebbero diventare un problemino, anche se risolvibile, in termini di implementazioni.
Sul sito web la presentazione è carina; comunque ti faccio sapere domani.

Ciao
Titolo: Re: Porting di libchart
Inserito da: md9327 - 11 Marzo 2008, 02:19:12
Mi hai messo una tale pulce nell'orecchio che non ho resistito... :-P

Ho dato un'occhiata ai sorgenti e alla poca documentazione allegata.
Come preannunciato, questa libreria si appoggia a librerie esterne, in particolare grafiche. Ad occhio sono poche chiamate, e credo si possano trasformare utilizzando librerie Gambas.
La maggior parte delle funzioni sono, come normale che siano, la parte matematica della libreria, e quindi facilmente replicabili.
Oltre a questo, per le scritte, vengono utilizzati un paio di font TTF, che credo si possano tranquillamente sostituire can le funzioni sempre gambas.
Diciamo che ad occhio e croce la cosa si possa fare, dobbiamo solo capire come procedere; dato che i sorgenti sono divisi in gruppi logici, potrebbe essere il caso di dividerci il lavoro, a meno che tu non abbia problemi con il PHP, nel qual caso posso pensarci io e, eventualmente tu ti puoi occupare dei test o trovare soluzioni alternative... non sò...

Prova anche tu a leggere i sorgenti, e poi dimmi cosa ne pensi.
Come sorgenti sono scritti molto bene, e impostati in modo pulito, per cui, a parte la conoscenza del linguaggio, si capisce cosa fanno abbastanza facilmente.

Fammi sapere.
Titolo: Re: Porting di libchart
Inserito da: andy60 - 11 Marzo 2008, 23:05:48
me li guardo e ci risentiamo...tieni presente che sicuramente non sto al tuo livello :-)
Titolo: Re: Porting di libchart
Inserito da: andy60 - 11 Marzo 2008, 23:23:16
dopo aver visto il tuo codice soprattutto sulle classi, penso di dover studiare ancora tanto
Titolo: Re: Porting di libchart
Inserito da: md9327 - 12 Marzo 2008, 11:36:40
Vabbè, che vuol dire, non sò quanti anni hai tu, ma io sono sulla mezza età, per cui è naturale, e poi sono stato fortunato che ho fatto parecchia esperienza, oltre al fatto che l'informatica mi piace e ne sono tuttora appassionato, e ci perdo nottate intere per studiare ogni cosa nuova che esce fuori.  :fuso:  :fuso:

Ma a parte gli sproloqui... :-)

Se vuoi posso iniziare a vedere io il porting a livello di codice, poi ti passo mano mano i sorgenti, così li testi e vedi se si possono fare miglioramenti.
Stavolta usiamo il presente sito per lo scambio, così anche altri potranno contribuire, se vogliono, anche a livello di suggerimenti.

Che ne dici?

L'unica cosa è il tempo, queste cose "open" le faccio nel tempo libero, la sera quando ritorno dal lavoro, e se mia moglie non chiede il divorzio... :-)

Poi, tra le altre cose, stò iniziando a riscrivere la versione pgDesigner2, che dovrebbe in qualche modo risorgere dagli errori che ho commesso nell'attuale, causati anche dal fatto che non conoscevo gambas, e il progetto è nato, per così dire, un pò a casaccio...
Titolo: Re: Porting di libchart
Inserito da: md9327 - 19 Marzo 2008, 21:44:30
Andy,

purtroppo per il porting tocca attenderò un pò, ultimamente ho altri progetti in corso, ma spero di metterci le mani prima possibile.

Abbi pietà... :-)
Titolo: Re: Porting di libchart
Inserito da: md9327 - 21 Marzo 2008, 11:52:30
Aggiornamento !

Stò mettendo mani al porting.

Per ora ho dato il nome "gLibChart", ti và bene ?

Tanti auguri !
Titolo: Re: Porting di libchart
Inserito da: md9327 - 29 Marzo 2008, 20:48:52
Come promesso, ho effettuato il porting della libreria per PHP libchart.

Al momento ho utilizzato le stesse funzionalità e i nomi che sono presenti nella lib originale, e ho cercato di farla funzionare in qualche modo.

Come potrai vedere, ci sono molte cose da sistemare, ma è già possibile visualizzare i primi risultati.

Oltre al porting della libreria, ovviamente ho riportato anche gli esempi che erano a corredo, così da poter vedere qualcosa.

Inoltre ho dovuto inserire al momento il porting di alcune funzioni di libreria PHP, du cui la libchart fà uso.

In allegato a questo post, invio il tar del progettino.

Su questo porting, come accennato, possiamo crearci un team, così da renderlo utilizzabile; per il momento lo posto qui poi, se il webmaster lo consente, lo mettiamo anche della sezione download. In questo modo possiamo far collaborare altre persone volenterose... :-)

Fammi sapere.
Ciao
Titolo: Re: Porting di libchart
Inserito da: andy60 - 29 Marzo 2008, 20:52:38
Grande! Luigi i miei complimenti, leggi anche il mio post sulle Api di Google. :-)

ps. per il gruppo di lavoro, nei limiti delle mie possibilita' sarei lieto di contribuire
Titolo: Re: Porting di libchart
Inserito da: md9327 - 29 Marzo 2008, 21:28:14
Bè, mica l'ho chiesto ai guru... :-)

Scherzo!!!

Comunque, qualunque contributo sarà utile alla comunità; da parte mia, tempo permettendo, continuerò a metterci mano, dato pure che l'ho iniziato a scrivere.

Se poi qualche altro si aggiunge, meglio per tutti...

Ora mi leggo il post su google.

Bye
Titolo: Re: Porting di libchart
Inserito da: andy60 - 30 Marzo 2008, 00:16:47
Ho dato una prima occhiata alla classe, funziona molto bene, ho dovuto commentare questa funzione che mi dava un errore, nella classe gImage.class:

Codice: [Seleziona]
STATIC PUBLIC SUB imagepng(img AS Picture, OPTIONAL filename AS String)
  'IF (NOT IsNull(filename)) THEN
    'img.Save(filename)
  'END IF
END


Facendo plottare la funzione linechart, le labels sull'asse delle ascisse sono venute offuscate da una riga nera. la resa del grafico è superba.
Titolo: Re: Porting di libchart
Inserito da: andy60 - 30 Marzo 2008, 00:35:51
ho modificato il codice che dava errore:

Codice: [Seleziona]
STATIC PUBLIC SUB imagepng(img AS Picture, OPTIONAL filename AS String)
  IF (NOT IsNull(filename)) THEN
    img.Save(filename, 1)
  END IF
END


allego il grafico .png
Titolo: Re: Porting di libchart
Inserito da: andy60 - 30 Marzo 2008, 18:22:06
come eliminare quel segno dall'asse delle ordinate?
Titolo: Re: Porting di libchart
Inserito da: md9327 - 31 Marzo 2008, 11:28:01
La funzione ti dava errore probabilmente a causa di una versione diversa di gambas...

Ad ogni modo, come ti avevo accennato, ci sono parecchie cosucce da sistemare; quei segnacci che vedi sul lato sinistro, non sono altro che le descrizioni sull'asse Y del grafico ma, essendoci problemi con alcune funzioni della classe, queste vengono scritte tutte ammucchiate.

Stò analizzando il problema, ma in realtà la cosa è causata dalla diversa interpretazione dei parametri in gioco, diversi tra php e gambas.

Insomma, tocca occorre lavorarci sopra per ottimizzare la cosa in gambas.

Ho pure dei dubbi sul: forse era il caso di invertarsela ex-novo?

Bye
Titolo: Re: Porting di libchart
Inserito da: andy60 - 31 Marzo 2008, 17:58:58
Mi inchino alla tua sapienza nel trattare il codice. Ho notato peraltro come Gambas nell'elaborare il grafco, composto da pochi dati impieghi abbastanza. Insomma, mettere l'elaborazione di piu' grafici in una form non mi sembra possibile, se si vuole un po' di velocità. A tuo pare eè dovuto al linguaggio? tenuto conto che le classi sono = con l'originale?
Titolo: Re: Porting di libchart
Inserito da: md9327 - 01 Aprile 2008, 15:35:54
Credo che uno dei problemi siano anche i giri che fà il codice, e anche il numero di oggetti che crea.
Non penso che matematicamente gambas abbia problemi, e riguardo il disegno, alla fine deve disegnare pochissime cose. Sicuramente il php ha un qualcosa in più rispetto a gambas, dopotutto non è un linguaggio nato ieri, però la differenza è abbastanza evidente...

Comunque, se hai notato, il ritardo è su un tipo di grafico in particolare... è necessario rileggersi il codice e capire dove è il collo di bottiglia (se c'è...).

Attualmente stò lavorando su parecchie cose in parallelo, e ho alcuni problemi a dedicarmi specificatamente sulla libreria. Appena avrò un pò di tempo, cercherò di approfondire e vedere di sistemarla una volta per tutte.

Se tu, magari, riesci a seguirne la logica, se hai tempo, puoi analizzare la cosa cercando i problemi, almeno quelli più evidenti. Sempre se puoi...

Se trovi qualcosa, inviameamela anche per email...

Ciao!
Titolo: Re: Porting di libchart
Inserito da: andy60 - 03 Aprile 2008, 11:19:29
Caro Luigi il tempo è tiranno pero' se posso e se ne ho la capacità, ci mettero' mano, mi fa piacere rendermi utile.
Titolo: Re: Porting di libchart
Inserito da: md9327 - 03 Aprile 2008, 14:41:12
Le mie non erano richieste, ma ordini !!!

SCHERZOOOOOO!!!!!      :lol:

E' ovvio che uno può quando può... (che filosofia, eh?) :-P

Magari fossi in pensione, ma anche a me mi tocca lavorà... Le cose che faccio, e gli aiuti che posso dare, dipendono dal tempo che riesco a mettere insieme, dopo il lavoro, la famiglia, ecc.

Quindi è sottinteso che le cose si fanno quando si può farle!
E il tipo di aiuto è dipendente dall'esperienza personale...

E poi, mica ci paga nessuno, e non abbiamo mica scadenze... :-)

Ciao