Gambas-it

Programmazione => Progetti degli utenti => Topic aperto da: md9327 - 15 Marzo 2011, 23:12:56

Titolo: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 15 Marzo 2011, 23:12:56
Visto che in questo periodo m'ha preso del matto, ho iniziato a creare qualche componente, che ho pure pubblicato nel forum (vedi CTable e CDatabase).
A questo punto mi sono detto: "perchè non creare una sorta di libreria. ma non a livello di sorgenti da inserire nei progetti, ma che segue la logica di quelle che accompagnano Gambas?".
Tempo fà avevo iniziato a studiarmi la creazione dei componenti in Gambas2, ma poi per cause indipendenti da questo, avevo abbandonato.
Dopo aver seguito con attenzione i lavori fatti da Milio, e letto con altrettanta cura la documentazione sul wiki (sempre del nostro Milio), mi sono deciso a riprendere la cosa, e fare qualcosa di concreto.
Oltre a ciò, nel tempo avevo creato una serie di classi e utility, che alla fine ho reputato troppo dispersive, e ho pensato di concentrare il tutto in una libreria (o una serie di librerie), sotto lo stesso tetto.
Così è nata CLib...
Il nome non è stato proprio scelto pensando a qualcosa in particolare, ma solo perchè avevo iniziato a scrivere i sorgenti, prefissando le classi con il carattere "C".
Quello che è in allegato a questo post, è la prima versione della libreria che, in realtà è composta da una serie di file componenti, ma prefissati tutti con il nome di "gb.clib.*".
Ho pensato di separare le classi della libreria in file separati, rendendo la cosa un pò più leggera. Nelle applicazioni si può così selezionare le sole librerie necessarie.
Sempre in allegato ho aggiunto un tar, contenente alcuni esempi significativi, che poi ho usato proprio per i test della libreria.
Il file compresso della libreria contiene i soli file di libreria, e i file necessari all'ambiente ide di gambas, di identificarli e popolare (se è il caso) le toolbar degli oggetti grafici. Alla toolbar, una volta aggiunto un componente della CLib, si aggiungerà un'altra scheda, nominata CLIB, dove verranno posizionati tutti gli oggetti grafici componenti la libreria.

Oltre a questo, stavo pensando che se qualcuno avesse ulteriori idee di nuovi componenti da aggiungere alla libreria, sarebbe una bella cosa. Anche se solo a livello di idea, potrebbe essere interessante per qualcuno implementarla e aggiungerla alla medesima libreria (me stesso compreso).

Sulla base dell'esperienza acquisita, cercherò di implementare questa libreria aggiungendo componenti già fatti, opportunamente aggiustati per lo scopo. Questo lo stò già attuando, estrapolando pezzi di codice da pgDesigner e altre cose che ho fatto (vedi CDatabase).

Per finire, e sempre nel file compresso della libreria, trovere uno script che ho opportunamente creato per installare i componenti, secondo lo schema imposta da Gambas. Devo però avvertire che lo script è stato testato su Fedora, per cui se qualcuno trova problemi con la sua distribuzione, me lo faccia sapere, e cercheremo di aggiustarlo in mod da renderlo funzionante su tutte le distribuzioni Linux. Dal canto mio, stò mettendo in piedi qualche ambiente virtuale per fare io stesso dei test.

L'installazione è relativamente semplice, è sufficiente scaricare il file compresso e decomprimerlo in una cartella temporanea. Dopo di che, si deve eseguire lo script "clib-install.sh" come utente root (per gli ubuntiani usare ovviamente sudo). Lo script poi farà il resto, copiando i file nelle giuste cartelle di sistema.
NOTA BENE: dsato che, come ho accennato pocanzi, lo script è stato testato solo su Fedora, sarebbe bene dargli un'occhiata, evidenziando le directory su cui lavora e, magari segnalandomi in anticipo eventuali discordanze. In realtà, se lo script non trova le directory giuste dovrebbe non fare nulla, e emettere solo errori. COmunque è bene dargli un'occhiata prima. Tenete presente che non mi assumo responsabilità su eventuali casini...  ;D

Aspetto le vostre critiche e impressioni, oltre che suggerimenti...  :ciao:
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: Ceskho - 16 Marzo 2011, 02:30:51
Quali funzione aggiungono le librerie? Perchè non apri un progetto su sourceforge, google code o github così da poter rendere partecipi tutti in caso di modifiche senza stressarti con upload vari?
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 16 Marzo 2011, 14:21:10
Ma allora che scrivo a fare?!? Mannaggia...  :P

Il lavoro che ho fatto è quello di riunire, il più possibile, le classi e gli oggetti che ho sparpagiato qui nel forum, oltre a codice usato nei miei programmi.

Comunque, l'idea di metterlo su sourceforge ce l'avevo, ma al momento pensavo di pubblicare la cosa qui, e magari radunare qualcuno che partecipasse al giochetto.

Se la cosa và avanti, e vedo che la libreria si inizia a popolare bene, allora butto tutto su sf.net, configurando le cose in modo da gestire anche le collaborazioni.

Non ti piace come supposta?

L'unica cosa che ho deciso, è che la libreria punta su Gambas3 direttamente. Anche se è ancora in fase di sviluppo, a breve verrà pubblicata definitivamente, per cui ho ritenuto di non disperdere le forze su un prodotto, Gambas2, che terminerà tra poco tempo.
Ho visto che l'adattare le cose per tutte e due le versioni di Gambas, è piuttosto oneroso e dispersivo, oltre al fatto che in molti casi non si può proprio fare, visto che ho iniziato ad applicare proprietà specifiche della versione 3. Alcuni oggetti potrebbero anche funzionare sulla 2, ma questo è un'altro problema...

Sbaglio?
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: Ceskho - 16 Marzo 2011, 14:37:40
No no...fai benissimo...sarebbe ora di far vedere a Benoit che si stanno concentrando le forze su gambas 3 in modo da sollecitare lo sviluppo e il rilascio perché la storia delle doppie versione non giova a nessuno....
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: Taurus dei miracoli - 16 Marzo 2011, 17:38:46
No no...fai benissimo...sarebbe ora di far vedere a Benoit che si stanno concentrando le forze su gambas 3 in modo da sollecitare lo sviluppo e il rilascio perché la storia delle doppie versione non giova a nessuno....

Che sagge parole :ok:
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 18 Marzo 2011, 20:01:48
Essì, a volte cesko mi sorprende...   :rotfl:
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: Ceskho - 19 Marzo 2011, 01:57:30
Essì, a volte cesko mi sorprende...   :rotfl:

Caspita ho riletto il messaggio il post ed ho sorpreso anche me stesso!!!  :rotfl: :rotfl:
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 19 Marzo 2011, 13:26:59
Bando alle ciancie (e ai ceski in genere...  ;D )...

In questo post allego l'ultima versione di CLib, a cui ho aggiunto altre classi e funzioni di utility. Oltre agli eseguibili, posto anche i sorgenti (che ricordo sono scritti in Gambas3), compressi nel file "clib.src.tar.gz".
Allego tutto, perchè non ho avuto il tempo di scrivere due righe di spiegazione, ma spero che già gli esempi siano in qualche modo esaustivi (che sono poi quelli con cui test la libreria).

Alcune classi, a livello sorgente, sarebbero pure compatibili con Gambas2, ma come avevo scritto inizialmente, stò pensando ad una libreria puntata sulla nuova versione 3.
Nelle libreria ho pure inserito PdfWriter (ora chiamato CPdfWriter), riadattato per Gambas3. Alcune cose sono cambiate, per dovere, ma anche per sistemare alcune cose in sospeso nelle versioni precedenti. E' probabile che qualche cosa mi sia scappata, ma spero di correggerla quanto prima, sempre se qualcuno ha modo di aiutarmi...

Bye
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 20 Marzo 2011, 17:10:22
Allego la nuova versione di CLib.
Nei file hop inserito un README con l'elenco delle librerie e dei componenti. Il tempo è poco, e non ne ho abbastanza per scrivere una qualche documentazione.

Bye
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 21 Marzo 2011, 21:36:13
Allego la nuova versione di CLib.
Nei file hop inserito un README con l'elenco delle librerie e dei componenti. Il tempo è poco, e non ne ho abbastanza per scrivere una qualche documentazione.

Bye


ciao come da tuo consiglio, scarico la libreria, x la documentazione se ti fa piacere posso aiutarti, sempre tempo permettendo. Su Ubuntu come devo installarla?
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 22 Marzo 2011, 15:08:38
Bella domanda... Questa fà parte dei test che tocca fare...

Al momento non sò la configurazione precisa delle directory usate da gambas, lo script di installazione usa quelle su Fedora.
Sarebbe utile conoscere le path per le singole distro, e se esistono differenze, modificare opportunamente lo script.
A questo ci penso io, ma devo avere lumi sulla struttura precisa delle varie distro.
Ho pure attivato alcune macchine virtuali, ma devo ancora configurarle per i test (compresa l'installazione di Gambas).

Comunque, ma fai attenzione che potrebbero esserci i problemi di cui sopra, lo script è contenuto nel tar dei binary, con nome "clib-install.sh".

Potresti, visto che tu hai Ubuntu, leggere i riferimenti in cima a questo script, e verificare le path corrette sul tuo sistema. Se trovi discordanze me lo dici e io adatto lo script.

Riguardo alla doc, si vedrà dopo che sarai riuscito a installare la libreria... ovviamente...  ;D
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 22 Marzo 2011, 15:59:23
@mdxxxx

allego il file di installazione per Ubuntu 10.10 con Gambas3 installato da sorgenti (dentro il percorso /usr/local/...)
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 22 Marzo 2011, 17:07:57
Ora sono in ufficio, per cui posso poco ma ho scaricato lo script e ho notato che il tutto viene installato su "/usr/local/".
Questa è l'impostazione di default usata anche per i pacchetti di Gambas2, oppure è legato al fatto che Gambas3 deve essere compilato dato che viene scaricato solo in formato sorgente?
Potrei anche pensare di porre delle domande durante l'esecuzione dello script, ma vorrei evitare, visto che le path non sono poche...
In alternativa potrei anche lasciare separati gli script, ognuno per singola distro... forse sarebbe meglio, ma non cerco in caso di modifiche (rare per la verità...).

Comunque, hai fatto un buon lavoro, e lo aggiungo al progetto!  :ok:

P.S.: se riesco, stasera lo provo pure, sempre se riesco a finire la configurazione della macchina virtuale...
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 27 Marzo 2011, 13:42:53
Funziona perfettamente, tanto che ho g3 anche sul mio netbook AspireOne, in bella mostra sulla barra Unity!! Sto studiando il tuo codice clib riguardante pdf, dovro' fare modifiche, ma senno' che gusto c'è?!!!  :2birre:
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 15 Aprile 2011, 18:51:37
@mdxxxx

installato natty e quindi di nuovo g3. Compilo myzone dopo aver reinstallato anche clib e mi esce questo errore, non da cosa dipenda, te che dici?
 :rolleyes:
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: fsurfing - 15 Aprile 2011, 19:51:52
ma hai fatto ricompila tutto?
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 15 Aprile 2011, 23:07:02
ma hai fatto ricompila tutto?

yes
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 17 Aprile 2011, 07:43:00
@mdxxxx

1. su natty la classe clib non va , nemmeno ricompilando
2. serve un uninstal, se riesco lo faccio
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 18 Aprile 2011, 10:14:29
Ok, fammi sapere
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 19 Aprile 2011, 08:02:14
Ok, fammi sapere

dunque, ti aggiorno:
1. ho installato natty ma uso l'interfaccia gnome 'classica'
2. con unity per quanto riguarda g3 non si vedono i menu' a tendina, bisognerebbe farlo presente a Misini anche perchè molti utenti utilizzeranno Unity
3. con l'interfaccia gnome classica (non la 3) g3 va perfettamente
4. clib, su g3  ora non va piu' mi da' errore nelle classi compilando per cui ho disinstallato a mano
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 19 Aprile 2011, 09:56:34
Che errori ti dà la libreria?
Che versione di gambas3 hai al momento?

E' da qualche settimana che non aggiorno più la g3, ed è probabile che abbiano cambiato qualcosa.
Questo però dimostra l'ancora enorme inaffidabilità della versione di sviluppo. Fare applicazioni o porting di vecchi adesso sarebbe solo una perdita di tempo...
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 23 Giugno 2011, 06:15:43
@md9327

alcune considerazioni:

1. hai testato clib con la versione rc di g3?
2. il componente gridbox di milio ha , nel programma di esempio fornito da milio con il codice del componente, un installer fatto molto bene, che permette di installare e aggiornare il componente in un attimo su tutte le applicazioni che lo usano, sarebbe niente male adottarlo anche x clib

aho fatti sentire qua dentro manchi da un po'!!!!!! :2birre: :2birre: :2birre: :2birre:
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 23 Giugno 2011, 11:50:47
Purtroppo non ho sempre modo di collegarmi, e avere anche il tempo di leggere tutto e rispondere anche...
Mi piacerebbe e spesso tento di leggere qualcosa. La sera, se riesco a trovare spazio...

Detto questo, anche il provare un'idea è quasi un'impresa...  :-\

Comunque, appena riesco, vedo di aggiornarmi con il lavoro del bravissimo Milio, che vedo ripreso nella produzione e aggionamento dei suoi bei progetti. Mi piacerebbe, tanto per fare un'esempio, poter avere il tempo di leggermi bene la sua GridBox, e poter dare un qualche contributo ma, come detto, la cosa mi resta alquanto difficile...

...vedremo...
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: andy60 - 23 Giugno 2011, 13:31:46
te dici 'vedremo' , noi diciamo 'speriamo', il tuo contributo è prezioso :2birre: :2birre: :2birre:
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: sotema - 21 Agosto 2011, 22:21:22
Il funzionamento della classe CDatabase presenta lo stesso problema di gb.gridbox:
http://www.gambas-it.org/smf/index.php?topic=1007.msg20801#msg20801 (http://www.gambas-it.org/smf/index.php?topic=1007.msg20801#msg20801)
Titolo: Re: Clib - Libreria componenti per Gambas3
Inserito da: md9327 - 04 Settembre 2011, 02:06:34
La libreria l'ho scritta tempo fà e le versioni gambas sono cambiate. E' probabile che vi sia qualche baco nel codice di CLib che devo controllare.

Ero troppo impegano in altre cose, e ho messo un pò da parte lo sviluppo... Vediamo di riuscire a riprenderlo...