#format wiki
#LANGUAGE it
<
>
<>
<>
= Introduzione =
'''Gambas''' è un linguaggio di programmazione per Linux che unisce alla facilità di utilizzo di '''Visual Basic''' un interprete [[http://it.wikipedia.org/wiki/BASIC|BASIC]] con estensioni orientate agli oggetti.
Tutto ciò rende Gambas una buona scelta per gli utenti Ubuntu che vogliono usare le loro conoscenze '''Visual Basic''' su basi GNU. Con '''Gambas''' è possibile disegnare velocemente una [[https://it.wikipedia.org/wiki/Interfaccia_grafica|GUI]] per i propri programmi, accedere alle basi di dati '''ODBC''', '''Firebird''', '''MySQL''', '''Sqlite''' e '''Postgres''', pilotare applicazioni '''KDE''' con DCOP e '''GNOME''' con GTK+.
Sviluppato a Parigi da Benoît Minisini a partire dal 1999, '''Gambas''' è rilasciato sotto la [[https://it.wikipedia.org/wiki/GNU_General_Public_License|GNU General Public Licence]].
= Installazione (versione stabile) =
== Ubuntu 20.04 e successive ==
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il [[AmministrazioneSistema/MetaPacchetti|metapacchetto]] [[apt://gambas3|gambas3]].
== Ubuntu 18.04 ==
{{{#!wiki note
Per '''Ubuntu 18.04''' la suite '''Gambas3''' non è disponibile nei [[Repository|repository]] ufficiali, ma solo tramite il [[https://launchpad.net/~gambas-team/+archive/ubuntu/gambas-daily|PPA gambas daily]].
}}}
0. Installare il ''ppa'' dedicato digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
sudo add-apt-repository ppa:gambas-team/gambas3
}}}
0. [[AmministrazioneSistema/InstallareProgrammi/Apt#Aggiornamento_del_sistema|Aggiornare la lista dei pacchetti]].
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il [[AmministrazioneSistema/MetaPacchetti|metapacchetto]] [[apt://gambas3|gambas3]].
= Installazione (versione in sviluppo) =
È inoltre possibile utilizzare versioni in sviluppo disponibili tramite il [[https://launchpad.net/~gambas-team/+archive/ubuntu/gambas-daily|PPA gambas daily]].<
>
Le seguenti istruzioni si applicano a Ubuntu 14.04 e successive.
0. Installare il ''ppa'' dedicato digitando nel [[AmministrazioneSistema/Terminale|terminale]] i comandi:{{{
sudo add-apt-repository ppa:gambas-team/gambas3-daily
}}}
0. [[AmministrazioneSistema/InstallareProgrammi/Apt#Aggiornamento_del_sistema|Aggiornare la lista dei pacchetti]].
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il [[AmministrazioneSistema/MetaPacchetti|metapacchetto]] [[apt://gambas3|gambas3]].
= Supporto per le basi di dati =
Le applicazioni testate e funzionanti sulla versione più recente di Gambas sono: [[Server/Web|Apache2]], '''Php''', [[Server/MySql|MySql]] e '''Sqlite'''.
{{{#!wiki note
Per l'editing delle basi di dati si consiglia di usare le seguenti applicazioni: '''Kexi''' (parte della suite '''Calligra'''), '''Base''' (versione parte della suite '''Apache``Open``Office'''), '''Base''' (versione parte della suite '''Libre``Office'''), '''Rekall''', '''Php``My``Admin''', '''S``QLite Expert'''. Quest'ultimo merita una menzione particolare: è gratuito, si utilizza con [[Virtualizzazione/Wine|Wine]] e permette la perfetta gestione dei database '''sqlite'''. Per la progettazione delle basi di dati sono invece disponibili [[Server/DbDesigner|Dbdesigner]], le suite [[Ufficio/Calligra|Calligra]], [[Ufficio/LibreOffice|LibreOffice]] e [[Ufficio/ApacheOpenOffice|OpenOffice]].
}}}
= Linguaggio, una classe d'esempio =
Costruire una classe è semplice, basta creare un nuovo oggetto di tipo classe.
Creare la '''classe Contatto'''. Per convenzione le variabili stringa iniziano con una 's' e così anche le altre variabili. All'interno del codice dell'oggetto appena creato scrivere:{{{
'Gambas classfile
PUBLIC sNome as String
PUBLIC sCognome as string
PUBLIC sIndirizzo as String
PUBLIC sCitta as String
PUBLIC sCap as String
}}}
Inizializzare le variabili appena definite:{{{
PUBLIC SUB _new(nom AS String,cog AS String,ind AS String,cit AS String,cap AS String)
sNome=nom
sCognome=cog
sIndirizzo=ind
sCitta=cit
sCap=cap
END
}}}
Utilizzare la classe, attraverso una sua istanza, all'interno di un qualunque form del proprio progetto:{{{
'Gambas classfile
'definiamo la variabile
c1 AS Contatto
'creiamo l'oggetto Contatto
PUBLIC SUB Button1_Click()
c1 = NEW Contatto("Andrea", "Rossi", "Via del Corso 112", "Roma", "00100")
TextArea1.Text = "Nome " & c1.snome & ", Cognome " & c1.scognome & "."
END
}}}
= Un programma d'esempio =
Segue una procedura per creare una finestra con un campo testo in cui viene stampato il classico '''Hello World!'''
0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] l'applicazione '''Gambas3'''.
0. Selezionare '''''Nuovo progetto → QT application''''' e premere il pulsante '''Seguente'''.
0. Nella finestra '''Parent directory''' selezionare la cartella che conterrà il progetto e premere il pulsante '''Seguente'''.
0. In '''Project details''' inserire i seguenti dati:
* '''Project name''': helloworld
* '''Project title''': Hello World!
0. Fare clic sul '''Ok''' per creare il progetto.
0. Fare doppio clic su '''FMain''' presente nella vista ad albero sulla sinistra per accedere ai form del progetto.
0. Selezionare in basso a destra il form '''!TextBox''' (tasto con scritta ''abc'') e quindi disegnare una finestra nel campo centrale.
0. Fare doppio clic in un punto qualsiasi della finestra centrale per accedere al codice.
0. Modificare il codice:{{{
Public Sub TextBox1_KeyPress()
End
}}}in modo che risulti:{{{
Public Sub TextBox1_KeyPress()
End
Public Sub Form_Open()
TextBox1.Text = "Hello World!"
End
}}}
0. Avviare il programma premendo il tasto '''Play''' (triangolo verde sulla barra in alto) oppure tasto '''F5''' sulla tastiera.
= Codice =
In [[Programmazione/Gambas/Codice|questa pagina]] viene raccolto il codice, diviso per categorie, utilizzato dagli utenti nelle proprie applicazioni.
= Ulteriori risorse =
* [[http://gambas.sourceforge.net/|Sito ufficiale del progetto]]
* [[http://www.gambas-it.org|Comunità italiana di Gambas]]
* [[http://www.gambas-it.org/smf/|Forum ufficiale in italiano di Gambas]]
* [[http://forum.ubuntu-it.org/viewforum.php?f=33|Board programmazione del forum di Ubuntu-it]]
* [[http://en.wikipedia.org/wiki/Gambas|Voce enciclopedica]] (in inglese)
* [[https://launchpad.net/~gambas-team/+archive/ubuntu/gambas3|PPA Gambas Team]]
* [[http://www.sqliteexpert.com/download.html|Editor gratuito SqliteExpert]]
----
CategoryProgrammazione