Autore Topic: Clib - Libreria componenti per Gambas3  (Letto 3128 volte)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Clib - Libreria componenti per Gambas3
« il: 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:

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Clib - Libreria componenti per Gambas3
« Risposta #1 il: 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?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Clib - Libreria componenti per Gambas3
« Risposta #2 il: 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?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Clib - Libreria componenti per Gambas3
« Risposta #3 il: 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....

Offline Taurus dei miracoli

  • Maestro Gambero
  • ****
  • Post: 335
  • In omnia pericula tasta testicula
    • Mostra profilo
Re: Clib - Libreria componenti per Gambas3
« Risposta #4 il: 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:
"penso spesso ad acquiloni,
a grandi imprese,
ad una thailandese...
...ma l'impresa eccezionale,
dammi retta,
è essere normale"
(L. Dalla)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Clib - Libreria componenti per Gambas3
« Risposta #5 il: 18 Marzo 2011, 20:01:48 »
Essì, a volte cesko mi sorprende...   :rotfl:

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Clib - Libreria componenti per Gambas3
« Risposta #6 il: 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:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Clib - Libreria componenti per Gambas3
« Risposta #7 il: 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
« Ultima modifica: 19 Marzo 2011, 13:44:35 da md9327 »

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Clib - Libreria componenti per Gambas3
« Risposta #8 il: 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

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Clib - Libreria componenti per Gambas3
« Risposta #9 il: 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?
« Ultima modifica: 22 Marzo 2011, 14:09:56 da andy60 »

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Clib - Libreria componenti per Gambas3
« Risposta #10 il: 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

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Clib - Libreria componenti per Gambas3
« Risposta #11 il: 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/...)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Clib - Libreria componenti per Gambas3
« Risposta #12 il: 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...

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Clib - Libreria componenti per Gambas3
« Risposta #13 il: 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:

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.256
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Clib - Libreria componenti per Gambas3
« Risposta #14 il: 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: