Dimensione: 671
Commento: rinominata come da RegoleStilistiche
|
Dimensione: 10089
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from FabioColinelli/prove | |
Linea 5: | Linea 4: |
||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents]]|| = Introduzione = Testo... |
||<tablebgcolor="#f1f1ed" tablewidth="35%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">'''Indice'''[[BR]][[TableOfContents(3)]] || |
Linea 13: | Linea 8: |
Testo... 0. Passo 1 0. Passo 2 0. Passo 3 == FOR...NEXT == == IF...THEN...ELSE == == LEFT$...RIGHT$...MID$ == == SELECT CASE == = COMPONENTI AGGIUNTIVI = == gb.QT == == gb.GTK == == Titolo 2 == Testo... |
In ambiente '''Gambas''' le istruzioni sono delle vere e proprie parole che permettono al programmatore di leggere il codice in maniera decisamente semplice. == FOR..NEXT == || '''FOR''' ''variabile'' '''=''' ''valore1'' '''TO''' ''valore2'' [ '''STEP''' ''valore3'' ] ''vostro codice'' '''NEXT''' || ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Ripete un ciclo incrementando o decrementando un valore'' || ''Esempio 1 - Ciclo crescente semplice'' {{{ DIM variabile AS Integer FOR variabile = 0 TO 10 Message.Info("Numero " & Str$(variabile)) NEXT }}} |||| '''Spiegazione''' |||| Per ogni valore da ''0'' a ''10'' che può assumere ''variabile'', mostra il messaggio "Numero" ed il valore di ''variabile''. In questo caso saranno mostrati tutti i messaggi con i seguenti numeri: 0-1-2-3-4-5-6-7-8-9-10. || ''Esempio 2 - Ciclo crescente con passo'' {{{ DIM variabile AS Integer FOR variabile = 0 TO 10 STEP 2 Message.Info("Numero " & Str$(variabile)) NEXT }}} |||| '''Spiegazione''' |||| Per ogni valore da ''0'' a ''10'' con passo ('''STEP''') 2 che può assumere ''variabile'', mostra il messaggio "Numero" ed il valore di ''variabile''. In questo caso saranno mostrati i messaggi con questi numeri: 0-2-4-6-8-10. || Ovviamente è possibile eseguire dei cicli decrescenti ''Esempio 3 - Ciclo decrescente con passo'' {{{ DIM variabile AS Integer FOR variabile = 10 TO 0 STEP -2 Message.Info("Numero " & Str$(variabile)) NEXT }}} |||| '''Spiegazione''' |||| Per ogni valore da ''10'' a ''0'' con passo ('''STEP''') -2 che può assumere ''variabile'', mostra il messaggio "Numero" ed il valore di ''variabile''. In questo caso saranno mostrati i messaggi con questi numeri: 10-8-6-4-2-0. Siccome per definizione di linguaggio un ciclo '''FOR..NEXT''' è crescente (1-2-3-ecc.) in caso venga omesso il comando '''STEP -2''' non sarà mostrato alcun messaggio in quanto il nostro codice viene soddisfatto immediatamente. || ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Grandi/info.png,,center)]] ||<style="padding:0.5em; border:none;"> Chi ha già esperienza di programmazione in Visual Basic avrà notato che dopo l'istruzione '''NEXT''' non è stato specificato a quale variabile si fa' riferimento: VB=''NEXT variabile'' <> Gambas=''NEXT''. In realtà questo è superfluo per il semplice motivo che un ciclo '''FOR...NEXT''' è fine a se stesso e di tipo concentrico: '''Ogni istruzione FOR deve concludersi con una istruzione NEXT.|| ''Esempio 4 - Cicli nidificati'' {{{ DIM variabile AS Integer DIM variabile1 AS Integer DIM variabile2 AS Integer FOR variabile = 0 TO 10 FOR variabile1 = 0 TO 10 FOR variabile2 = 0 TO 10 Message.Info("Numero " & Str$(variabile) & Str$(variabile1) & Str$(variabile2)) NEXT NEXT NEXT }}} |||| '''Spiegazione''' |||| Al primo avvio ''variabile'' assume il valore ''0'', ''variabile1'' assume il valore ''0'' e ''variabile2'' assume il valore ''0''. Il primo valore che viene incrementato è quello riferito a ''variabile2'', quando questa arriva a ''10'' il sistema passa il controllo a ''variabile1'' e così via fino a che ''variabile'' assume valore ''10'', ''variabile1'' valore ''10'' e ''variabile2'' valore ''10''. Possiamo quindi notare che all'interno di un codice composto da vari cicli ''FOR NEXT'' nidificati la priorità di esecuzione è sempre riferita all'ultimo ciclo scritto.|| ||<tablestyle="text-align: justify; width:65%; " style="border:none;" 5%>[[Immagine(Icone/Grandi/gambas.png,50,center)]] ||<style="padding:0.5em; border:none;">'''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 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 GNU General Public Licence. = Installazione = == Versione stabile == Per installare la versione stabile distribuita con il sistema è sufficiente aggiungere il [:Repository/Componenti:componente] '''universe''' al file `/etc/apt/sources.list`, dunque [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto ''gambas''. [[Anchor(gambas2)]] == Versione in fase di sviluppo == Per le versioni di Ubuntu fino alla 7.04 (Feisty Fawn) la versione in fase di sviluppo non viene fornita dai [:Repository:repository] ufficiali, dunque è necessario aggiungere dei repository esterni al fine di poter procedere con l'installazione. Se si utilizza '''Ubuntu 7.10''' «'''Gutsy Gibbon'''» è possibile trovare la versione di Gambas 1.9.49 nei repository. === Aggiornare i repository === Aprire `/etc/apt/sources.list` con un [:EditorDiTesto:editor di testo] con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] e inserire in fondo al file le righe adatte alla propria versione: * '''Ubuntu 6.06''' «'''Dapper Drake'''»: {{{ deb http://xoomer.alice.it/pixel dapper gambas }}} * '''Ubuntu 6.10''' «'''Edgy Eft'''»: {{{ deb http://xoomer.alice.it/pixel edgy gambas }}} * '''Ubuntu 7.04''' «'''Feisty Fawn'''»: {{{ deb http://xoomer.alice.it/pixel feisty gambas }}} Salvare e chiudere. Aprire una finestra di terminale e digitare il seguente comando: {{{ sudo apt-get update }}} === Installazione del pacchetto === [:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto ''gambas2''. === Installazione Gambas2 SVN === Solo per gli utilizzatori di '''Ubuntu 7.10''' «'''Gutsy Gibbon'''» è possibile installare la versione SVN (aggiornata quasi settimanalmente) tramite questo repository: * '''Ubuntu 7.10''' «'''Gutsy Gibbon'''»: Una volta installata NON comparirà l'icona di avvio nel menu, di conseguenza per eseguire il programma sarà necessario creare un'icona di lancio oppure da terminale tramite il comando ''gambas2'' === Avvertenze di installazione === Si consiglia di utilizzare Synaptic o Adept e selezionare TUTTI i pacchetti con dicitura iniziale ''gambas2'', in caso contrario si potrebbero avere dei malfunzionamenti. Se utilizzate '''Ubuntu 7.10''' «'''Gutsy Gibbon'''» e decidete di installare la versione SVN di Gambas2 ricordate di NON selezionare il pacchetto ''gambas2.gb.ldap'', tale modulo è stato rimosso dal linguaggio di programmazione e la sua installazione comporta dei malfunzionamenti. == 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] * Sqlite attachment:sqle.png = Il linguaggio = [[Anchor(esempioclassi)]] == Una classe d'esempio == Costruire una classe è semplice, basta creare un nuovo oggetto di tipo classe. Creaiamo 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 scriviamo: {{{ 'Gambas classfile PUBLIC sNome as String PUBLIC sCognome as string PUBLIC sIndirizzo as String PUBLIC sCitta as String PUBLIC sCap as String }}} Inizializziamo 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 }}} Utilizziamo 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 }}} attachment:classe.png [[Anchor(helloworld)]] == Un programma d'esempio == * Aprire il programma selezionando l'icona dal menù '''''Applicazioni -> Programmazione -> Gambas2''''': attachment:g1png.png * Selezionare '''''Nuovo progetto -> Applicazione grafica GTK''''' * Crea una nuova cartella denominata «'''hello'''», assegna «'''hello'''» come nome e titolo del progetto: * Cliccare sulla ''form'' denominata '''FMain'''. * Cliccare sulla barra in basso a destra e inserire un pulsante nella form; assegnare a quest'ultimo il testo «OK»: * Cliccare di nuovo sulla barra e inserire un controllo di tipo testo nella ''form'': attachment:g2png.png * Cliccare ora sulla ''form'' evidenziando il codice sottostante la ''form'' stessa. * Inserire il codice come nella seguente figura: attachment:g4png.png * Compilare e avviare il programma: attachment:g3png.png = Copia, incolla e contribuisci = In [:/Codice:questa pagina] viene raccolto il codice, diviso per categorie, utilizzato dagli utenti nelle proprie applicazioni. |
Linea 34: | Linea 223: |
* Risorsa 1 * Risorsa 2 ## da questo punto in poi non modificare! |
* [http://gambas.sourceforge.net/ Sito ufficiale del progetto] * [http://forum.ubuntu-it.org/index.php?board=33.0 Board programmazione del forum di Ubuntu-it] * [http://en.wikipedia.org/wiki/Gambas Voce enciclopedica] (in inglese) * [http://www.sqliteexpert.com/download.html Editor gratuito SqliteExpert] |
Linea 39: | Linea 229: |
CategoryNuoviDocumenti | CategoryProgrammazione CategoryDaRevisionare |
IndiceBRTableOfContents(3) |
ISTRUZIONI FONDAMENTALI
In ambiente Gambas le istruzioni sono delle vere e proprie parole che permettono al programmatore di leggere il codice in maniera decisamente semplice.
FOR..NEXT
FOR variabile = valore1 TO valore2 [ STEP valore3 ] vostro codice NEXT |
Ripete un ciclo incrementando o decrementando un valore |
Esempio 1 - Ciclo crescente semplice
DIM variabile AS Integer FOR variabile = 0 TO 10 Message.Info("Numero " & Str$(variabile)) NEXT
Spiegazione |
Per ogni valore da 0 a 10 che può assumere variabile, mostra il messaggio "Numero" ed il valore di variabile. In questo caso saranno mostrati tutti i messaggi con i seguenti numeri: 0-1-2-3-4-5-6-7-8-9-10. |
Esempio 2 - Ciclo crescente con passo
DIM variabile AS Integer FOR variabile = 0 TO 10 STEP 2 Message.Info("Numero " & Str$(variabile)) NEXT
Spiegazione |
Per ogni valore da 0 a 10 con passo (STEP) 2 che può assumere variabile, mostra il messaggio "Numero" ed il valore di variabile. In questo caso saranno mostrati i messaggi con questi numeri: 0-2-4-6-8-10. |
Ovviamente è possibile eseguire dei cicli decrescenti
Esempio 3 - Ciclo decrescente con passo
DIM variabile AS Integer FOR variabile = 10 TO 0 STEP -2 Message.Info("Numero " & Str$(variabile)) NEXT
Spiegazione |
Per ogni valore da 10 a 0 con passo (STEP) -2 che può assumere variabile, mostra il messaggio "Numero" ed il valore di variabile. In questo caso saranno mostrati i messaggi con questi numeri: 10-8-6-4-2-0. Siccome per definizione di linguaggio un ciclo FOR..NEXT è crescente (1-2-3-ecc.) in caso venga omesso il comando STEP -2 non sarà mostrato alcun messaggio in quanto il nostro codice viene soddisfatto immediatamente. |
Chi ha già esperienza di programmazione in Visual Basic avrà notato che dopo l'istruzione NEXT non è stato specificato a quale variabile si fa' riferimento: VB=NEXT variabile <> Gambas=NEXT. In realtà questo è superfluo per il semplice motivo che un ciclo FOR...NEXT è fine a se stesso e di tipo concentrico: Ogni istruzione FOR deve concludersi con una istruzione NEXT. |
Esempio 4 - Cicli nidificati
DIM variabile AS Integer DIM variabile1 AS Integer DIM variabile2 AS Integer FOR variabile = 0 TO 10 FOR variabile1 = 0 TO 10 FOR variabile2 = 0 TO 10 Message.Info("Numero " & Str$(variabile) & Str$(variabile1) & Str$(variabile2)) NEXT NEXT NEXT
Spiegazione |
Al primo avvio variabile assume il valore 0, variabile1 assume il valore 0 e variabile2 assume il valore 0. Il primo valore che viene incrementato è quello riferito a variabile2, quando questa arriva a 10 il sistema passa il controllo a variabile1 e così via fino a che variabile assume valore 10, variabile1 valore 10 e variabile2 valore 10. Possiamo quindi notare che all'interno di un codice composto da vari cicli FOR NEXT nidificati la priorità di esecuzione è sempre riferita all'ultimo ciclo scritto. |
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 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 GNU General Public Licence.
Installazione
Versione stabile
Per installare la versione stabile distribuita con il sistema è sufficiente aggiungere il [:Repository/Componenti:componente] universe al file /etc/apt/sources.list, dunque [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto gambas.
Versione in fase di sviluppo
Per le versioni di Ubuntu fino alla 7.04 (Feisty Fawn) la versione in fase di sviluppo non viene fornita dai [:Repository:repository] ufficiali, dunque è necessario aggiungere dei repository esterni al fine di poter procedere con l'installazione. Se si utilizza Ubuntu 7.10 «Gutsy Gibbon» è possibile trovare la versione di Gambas 1.9.49 nei repository.
Aggiornare i repository
Aprire /etc/apt/sources.list con un [:EditorDiTesto:editor di testo] con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] e inserire in fondo al file le righe adatte alla propria versione:
Ubuntu 6.06 «Dapper Drake»:
deb http://xoomer.alice.it/pixel dapper gambas
Ubuntu 6.10 «Edgy Eft»:
deb http://xoomer.alice.it/pixel edgy gambas
Ubuntu 7.04 «Feisty Fawn»:
deb http://xoomer.alice.it/pixel feisty gambas
Salvare e chiudere. Aprire una finestra di terminale e digitare il seguente comando:
sudo apt-get update
Installazione del pacchetto
[:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto gambas2.
Installazione Gambas2 SVN
Solo per gli utilizzatori di Ubuntu 7.10 «Gutsy Gibbon» è possibile installare la versione SVN (aggiornata quasi settimanalmente) tramite questo repository:
Ubuntu 7.10 «Gutsy Gibbon»:
Una volta installata NON comparirà l'icona di avvio nel menu, di conseguenza per eseguire il programma sarà necessario creare un'icona di lancio oppure da terminale tramite il comando gambas2
Avvertenze di installazione
Si consiglia di utilizzare Synaptic o Adept e selezionare TUTTI i pacchetti con dicitura iniziale gambas2, in caso contrario si potrebbero avere dei malfunzionamenti. Se utilizzate Ubuntu 7.10 «Gutsy Gibbon» e decidete di installare la versione SVN di Gambas2 ricordate di NON selezionare il pacchetto gambas2.gb.ldap, tale modulo è stato rimosso dal linguaggio di programmazione e la sua installazione comporta dei malfunzionamenti.
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]
- Sqlite
attachment:sqle.png
Il linguaggio
Una classe d'esempio
Costruire una classe è semplice, basta creare un nuovo oggetto di tipo classe. Creaiamo 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 scriviamo:
'Gambas classfile PUBLIC sNome as String PUBLIC sCognome as string PUBLIC sIndirizzo as String PUBLIC sCitta as String PUBLIC sCap as String
Inizializziamo 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
Utilizziamo 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
attachment:classe.png
Un programma d'esempio
Aprire il programma selezionando l'icona dal menù Applicazioni -> Programmazione -> Gambas2:
attachment:g1png.png
Selezionare Nuovo progetto -> Applicazione grafica GTK
Crea una nuova cartella denominata «hello», assegna «hello» come nome e titolo del progetto:
Cliccare sulla form denominata FMain.
- Cliccare sulla barra in basso a destra e inserire un pulsante nella form; assegnare a quest'ultimo il testo «OK»:
Cliccare di nuovo sulla barra e inserire un controllo di tipo testo nella form:
attachment:g2png.png
Cliccare ora sulla form evidenziando il codice sottostante la form stessa.
- Inserire il codice come nella seguente figura:
attachment:g4png.png
- Compilare e avviare il programma:
attachment:g3png.png
Copia, incolla e contribuisci
In [:/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://forum.ubuntu-it.org/index.php?board=33.0 Board programmazione del forum di Ubuntu-it]
[http://en.wikipedia.org/wiki/Gambas Voce enciclopedica] (in inglese)
[http://www.sqliteexpert.com/download.html Editor gratuito SqliteExpert]