<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.gambas-it.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Leo72</id>
	<title>Gambas-it.org - Wikipedia - Contributi dell&amp;#039;utente [it]</title>
	<link rel="self" type="application/atom+xml" href="https://www.gambas-it.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Leo72"/>
	<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php/Speciale:Contributi/Leo72"/>
	<updated>2026-10-23T06:49:34Z</updated>
	<subtitle>Contributi dell&amp;#039;utente</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Pagina_principale&amp;diff=30001</id>
		<title>Pagina principale</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Pagina_principale&amp;diff=30001"/>
		<updated>2021-12-27T18:05:09Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Ha modificato il livello di protezione di &amp;quot;Pagina principale&amp;quot;: Reiterati vandalismi ([Modifica=Consentito solo agli amministratori] (infinito) [Spostamento=Consentito solo agli amministratori] (infinito))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Benvenuti!==&lt;br /&gt;
&lt;br /&gt;
Questa è la Wiki di [http://www.gambas-it.org Gambas-it], una guida in italiano, in continuo aggiornamento, del linguaggio di programmazione [[GAMBAS]]. Lo scopo di questa Wiki  è quello di condividere, scambiare, immagazzinare e ottimizzare la conoscenza in modo collaborativo grazie alle potenzialità offerte dalla Wiki stessa, una collezione di documenti ipertestuali che può essere modificata dai suoi utilizzatori ed i cui contenuti sono sviluppati in collaborazione da tutti coloro che ne hanno accesso, come in un forum.&lt;br /&gt;
&lt;br /&gt;
'''Per motivi di sicurezza, la registrazione automatica non è attiva.''' Se volete registrarvi, dovete [http://www.gambas-it.org/smf/index.php?topic=2680.0 fare richiesta per un'utenza sul forum di Gambas-it]. Grazie per la collaborazione.&lt;br /&gt;
&lt;br /&gt;
Se avete già un'utenza e volete iniziare a collaborare, allora è il momento buono per fare un salto alle pagine di [[Aiuto:Indice|aiuto]].&lt;br /&gt;
&lt;br /&gt;
== [http://www.gambas-it.org Gambas-it] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;'''GUIDA [[GAMBAS]]'''&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Indice]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Lezioni]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Guide della comunità]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Gambas nei repository ufficiali]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Risorse Esterne==&lt;br /&gt;
* [http://gambas.sourceforge.net/en/main.html Sito ufficiale di Gambas]&lt;br /&gt;
* [https://gambaswiki.org/wiki?l=it Wiki ufficiale di Gambas]&lt;br /&gt;
* [https://lists.gambas-basic.org/pipermail/user/ Mailing List ufficiale di Gambas]&lt;br /&gt;
* [http://it.wikipedia.org/wiki/Gambas Pagina di Gambas su Wikipedia]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Utente:Leo72&amp;diff=15668</id>
		<title>Utente:Leo72</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Utente:Leo72&amp;diff=15668"/>
		<updated>2014-06-19T08:19:34Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Ha protetto &amp;quot;Utente:Leo72&amp;quot; (‎[edit=sysop] (infinito) ‎[move=sysop] (infinito))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cogito ergo sum.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Utente:Leo72&amp;diff=15667</id>
		<title>Utente:Leo72</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Utente:Leo72&amp;diff=15667"/>
		<updated>2014-06-19T08:19:18Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Creata pagina con 'Cogito ergo sum.'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cogito ergo sum.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Pagina_principale&amp;diff=14062</id>
		<title>Pagina principale</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Pagina_principale&amp;diff=14062"/>
		<updated>2013-11-07T21:15:33Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Benvenuti!==&lt;br /&gt;
&lt;br /&gt;
Questa è la Wiki di [http://www.gambas-it.org Gambas-it], una guida in italiano, in continuo aggiornamento, del linguaggio di programmazione [[GAMBAS]]. Lo scopo di questa Wiki  è quello di condividere, scambiare, immagazzinare e ottimizzare la conoscenza in modo collaborativo grazie alle potenzialità offerte dalla Wiki stessa, una collezione di documenti ipertestuali che può essere modificata dai suoi utilizzatori ed i cui contenuti sono sviluppati in collaborazione da tutti coloro che ne hanno accesso, come in un forum.&lt;br /&gt;
&lt;br /&gt;
'''Per motivi di sicurezza, la registrazione automatica non è attiva.''' Se volete registrarvi, dovete [http://www.gambas-it.org/smf/index.php?topic=2680.0 fare richiesta per un'utenza sul forum di Gambas-it]. Grazie per la collaborazione.&lt;br /&gt;
&lt;br /&gt;
Se avete già un'utenza e volete iniziare a collaborare, allora è il momento buono per fare un salto alle pagine di [[Aiuto:Indice|aiuto]].&lt;br /&gt;
&lt;br /&gt;
== [http://www.gambas-it.org Gambas-it] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;'''GUIDA [[GAMBAS]]'''&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Indice]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Lezioni]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Guide della comunità]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Gambas nei repository ufficiali]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Risorse Esterne==&lt;br /&gt;
*[http://linuxpedia.netsons.org/index.php/Gambas Pagina di Gambas su Linuxpedia]&lt;br /&gt;
*[http://it.wikipedia.org/wiki/Gambas Pagina di Gambas su Wikipedia]&lt;br /&gt;
*[http://libero.wikia.com/wiki/Gambas Pagina di Gambas su Software Libero]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Lezioni&amp;diff=12678</id>
		<title>Lezioni</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni&amp;diff=12678"/>
		<updated>2013-04-13T20:20:38Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Premessa ==&lt;br /&gt;
In questa sezione del Wiki raccoglieremo un insieme di lezioni spiegate partendo dalla creazione fino alla scrittura del codice.&lt;br /&gt;
&lt;br /&gt;
== Lezioni ==&lt;br /&gt;
&lt;br /&gt;
* 001) [[Ciao Mondo]]&lt;br /&gt;
* 002) [[Saluti]]&lt;br /&gt;
* 003) [[Creare più form uguali]]&lt;br /&gt;
* 004) [[Eseguire cicli sugli oggetti di un form]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Discussione:Eseguire_cicli_sugli_oggetti_di_un_form&amp;diff=12676</id>
		<title>Discussione:Eseguire cicli sugli oggetti di un form</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Discussione:Eseguire_cicli_sugli_oggetti_di_un_form&amp;diff=12676"/>
		<updated>2013-04-13T20:20:10Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Leo72 ha spostato la pagina Discussione:Eseguire cicl sugli oggetti di un form a Discussione:Eseguire cicli sugli oggetti di un form&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esperienze relative ad array con oggetti sono mostrate anche qui: http://www.gambas-it.org/smf/index.php?topic=204.0 --[[Utente:Vuott|Vuott]] 09:07, 20 lug 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Eseguire_cicl_sugli_oggetti_di_un_form&amp;diff=12675</id>
		<title>Eseguire cicl sugli oggetti di un form</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Eseguire_cicl_sugli_oggetti_di_un_form&amp;diff=12675"/>
		<updated>2013-04-13T20:20:10Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Leo72 ha spostato la pagina Eseguire cicl sugli oggetti di un form a Eseguire cicli sugli oggetti di un form&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#RINVIA [[Eseguire cicli sugli oggetti di un form]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Eseguire_cicli_sugli_oggetti_di_un_form&amp;diff=12674</id>
		<title>Eseguire cicli sugli oggetti di un form</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Eseguire_cicli_sugli_oggetti_di_un_form&amp;diff=12674"/>
		<updated>2013-04-13T20:20:10Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Leo72 ha spostato la pagina Eseguire cicl sugli oggetti di un form a Eseguire cicli sugli oggetti di un form&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Molto spesso si sente l'esigenza di dover eseguire un ciclo su un determinato tipo di oggetti presenti nel form in modo da modificare globalmente una loro caratteristica comune. Ad esempio se si hanno 20 label è possibile impostare per tutte lo stesso testo o lo stesso colore di fondo oppure se si hanno 15 textbox potrebbe essere necessario ripulirne il testo contenuto. In Gambas l'esecuzione dei cicli sugli oggetti figli di un form non è una procedura immediata e pertanto serve avere qualche nozione leggermente più avanzata. &lt;br /&gt;
&lt;br /&gt;
''Si precisa che questo metodo viene utilizzato poiché in questo linguaggio l'insieme degli oggetti uguali non è visto come un unico array come accade invece in altri linguaggi.''&lt;br /&gt;
&lt;br /&gt;
Immaginiamo di voler modificare il testo di 20 label in modo che esso contenga la stringa &amp;quot;Questa è la label&amp;quot; seguita da un numero progressivo per ognuna di esse.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Qt&amp;diff=12673</id>
		<title>Qt</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Qt&amp;diff=12673"/>
		<updated>2013-04-13T20:15:53Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le librerie '''Qt''' (pronunciate &amp;quot;''cute''&amp;quot;) sono un set di librerie multi-piattaforma create da ''TrollTech'' per lo sviluppo di applicazioni con o senza [[GUI]]. Sono ampiamente usate e diffuse: il desktop manager '''KDE''' è basato su di esse, così come importanti progetti quali ''GoogleEarth'', il browser Opera e il software di VoIP Skype.&lt;br /&gt;
&lt;br /&gt;
==Storia==&lt;br /&gt;
Le librerie nacquero nel 1991 e furono chiamate Qt per via del fatto che la lettera &amp;quot;Q&amp;quot; appariva carina nel font del programma di videoscrittura Emacs e la lettera &amp;quot;t&amp;quot; ricordava le ''Xt'', sigla dell'&amp;quot;X toolkit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le librerie Qt non erano rilasciate sotto licenza GPL: questo causò grande confusione nel mondo opensource quando queste librerie furono scelte dagli sviluppatori di '''KDE''' come base grafica per il loro desktop manager. Fu questo lo stimolo per creare GNOME, un desktop alternativo a KDE completamente libero ed opensource e basato sulle [[GTK]], che a differenza delle Qt erano rilasciate con licenza GPL.&lt;br /&gt;
&lt;br /&gt;
Gli sviluppatori di KDE videro in questo un possibile ostacolo alla diffusione del loro desktop e fondarono nel 1998 la ''KDE Free Qt Foundation'', una società che aveva lo scopo di prendere accordi con TrollTech per ottenere le Qt con licenza libera. La società, che all'epoca nonaveva la forza economica per sostenere la perdita di un &amp;quot;cliente prezioso&amp;quot; come KDE, cedette in parte e rilasciò le Qt sotto una licenza denomiata ''QTL'', che si poneva a metà strada fra la GPL e la licenza proprietaria sotto cui venivano fino ad allora rilasciate le librerie. Ma la situazione non era migliorata di molto, perché i &amp;quot;puristi&amp;quot; del Free Software sostenevano che questa licenza non era lo stesso compatibile con la GPL e molte distribuzioni iniziarono ad adottare GNOME come desktop. Solo nel 2000 TrollTech ha deciso di rilasciare la versione per Unix delle Qt sotto licenza GPL pura.&lt;br /&gt;
&lt;br /&gt;
==Dati tecnici==&lt;br /&gt;
Le librerie Qt sono programmate in C++ con diverse estensioni non stadard implementate da un pre-processore addizionale che poi genera del codice C++ standard durante la compilazione. &lt;br /&gt;
Le Qt possono essere utilizzate anche con altri linguaggi di programmazione: esistono infatti numerosi ''binding'', tra cui quelli per il Python, il Ruby, il Java, il Perl, il C#, ecc...&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=GTK&amp;diff=12672</id>
		<title>GTK</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=GTK&amp;diff=12672"/>
		<updated>2013-04-13T20:14:45Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le librerie '''GTK''' sono un set di librerie disponibili per piattaforme *nix, Windows e MacOS X.&lt;br /&gt;
&lt;br /&gt;
==GTK e GTK+==&lt;br /&gt;
Le GTK furono inizialmente sviluppate nel 1997 per il progetto GIMP (difatti la sigla GTK è in realtà l'acronimo di '''Gimp ToolKit''') e successivamente furono utilizzate anche per altre applicazioni. Ebbero tanto successo che sono divenute di diritto le librerie base di GNOME e delle sue applicazioni.&lt;br /&gt;
Inizialmente non permettevano di creare librerie derivate. Ne fu sviluppata una nuova versione con questa possibilità che fu ribattezzata '''GTK+''', dove il segno '''+''' indicava anche una programmazione più orientata agli oggetti.&lt;br /&gt;
&lt;br /&gt;
==GTK+ 2==&lt;br /&gt;
Le '''GTK+ 2''' sono succedute alle prime GTK+ 1. Includono nuove features quali ad esempio un miglior rendering del testo grazie alle librerie Pango, un nuovo motore del tema, accessibilità migliorata grazie alle librerie ATK, completa transizione all'Unicode UTF-8. Lo scotto da pagare è però la persa compatibilità con le GTK+ 1 per cui le applicazioni sviluppate con queste librerie vanno riscritte per poter usare le nuove.&lt;br /&gt;
&lt;br /&gt;
Dalla versione 2.8, le librerie GTK+ 2 dipendono dalla libreria '''Cairo''' per il rendering grazie all'uso della grafica vettoriale.&lt;br /&gt;
&lt;br /&gt;
I desktop manager '''GNOME''' e '''XFCE''' le utilizzano come librerie di base per i loro window manager ''Metacity'' e ''Xfwm4''.&lt;br /&gt;
&lt;br /&gt;
Nonostante il linguaggio principale supportato sia il C/C++, esistono anche diversi ''binding'' per altri linguaggi quali il Python, il Java ed il Perl.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=GUI&amp;diff=12671</id>
		<title>GUI</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=GUI&amp;diff=12671"/>
		<updated>2013-04-13T20:12:21Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Una '''interfaccia grafica utente''' ('''G'''raphical '''U'''ser '''I'''nterface, da cui l'acronimo inglese '''GUI''') è un tipo di interfaccia delle applicazioni che permette agli utenti di interagire con un computer e con i dispositivi ad esso collegati tramite elementi grafici quali icone, indicatori visuali e elementi grafici speciali chiamati [[widget]]. Le icone sono spesso utilizzate in contemporanea con testo, etichette od altro per rappresentare in modo completo le informazioni e le azioni disponibili per l'utente. Ma a differenza di quanto accadeva nelle vecchie [[CLI]] (le interfacce a linea di comando, tipiche delle console terminale), le azioni svolte dagli utenti sono eseguite manipolando direttamente gli elementi grafici.&lt;br /&gt;
&lt;br /&gt;
Il termine GUI è storicamente utilizzato per indicare esclusivamente gli schermi a 2 dimensioni con risoluzioni capaci di descrivere informazioni generiche: non si applica ad altri tipi di interfacce ad alta risoluzione che sono non-generiche, come i videogiochi, o non  limitati agli schermi piatti, come i display volumetrici.&lt;br /&gt;
&lt;br /&gt;
==Breve storia==&lt;br /&gt;
La storia delle interfacce grafiche è molto vecchia, quasi quanto quella dei computer. Il primo a pensare ad un'interfaccia grafica per pilotare le funzioni di un elaboratore elettronico fu ''Doug Engelbart'' che nel 1960 realizzò all'SRI l'NLS, '''On-Line System''', un sistema con finestre multiple gestite da un mouse.&lt;br /&gt;
Durante gli anni '70 diversi ricercatori passarono da SRI a ''Xerox'' a lavorare al progetto PARC, un gruppo di lavoro che gettò le basi del paradigma ''WIMP'' (Window, Icons, Menus and Pointers), un'interfaccia grafica che debuttò sui sistemi Xerox 8010 'Star' nel 1981.&lt;br /&gt;
&lt;br /&gt;
Ma è durante la metà degli anni '80 che compaiono le GUI più famose. Nel 1984 la ''Apple'' rilasciò il '''Macintosh Desktop''', un sistema di gestione dei file del nuovo computer Macintosh sviluppato da ex-membri del team PARC di Xerox e basato su quelle idee: nel Macintosh Desktop i file erano come fogli di carta e le directory come cartelle, e posizionabili a piacimento per il desktop c'erano degli strumenti come una calcolatrice, un orologio, un blocco note ecc...&lt;br /&gt;
&lt;br /&gt;
Sempre del 1984 è la nascita di '''X Window System''', il server grafico dei sistemi *nix, derivato dal precedente W Window System del 1983, il cui scopo era quello di permettere agli utenti di collegarsi alle workstation grafiche remote senza preoccuparsi dell'hardware sottostante. Ma la disponibilità del codice sorgente ne accelerò lo sviluppo e lo portò a diventare ben presto un sub-strato su cui far girare applicazioni di vario genere.&lt;br /&gt;
&lt;br /&gt;
Nel 1985 la ''Atari'' presentò il suo computer '''Atari ST''' che integrava la GUI '''GEM''', ''Graphical Environment Manager'', sviluppata da ''DRI'' per diverse piattaforme. L'Atari ST fu il primo ad integrarla nel sistema operativo. La GEM era molto simile a quella del Macintosh, tanto che la Apple citò per violazione di brevetti l'Atari. Sparì dal mercato nel 1991, dopo la scomparsa della linea di PC Atari ST.&lt;br /&gt;
&lt;br /&gt;
[[image:Amiga_Workbench_1_0.png|thumb|Il workbench dell'Amiga 1000|200px|right|Il workbench dell'Amiga 1000 (1985)]]Sempre nel 1985 arrivò sul mercato la nuova linea di computer ''Commodore'', la serie '''Amiga''', aperta dal capostipite modello '''1000'''. L'Amiga 1000 introduceva una GUI denominata '''Workbench''' che, a differenza delle soluzioni dei concorrenti, veniva gestita dal sistema (grazie alla sua particolare architettura) come una delle tante finestre aperte sullo schermo vuoto, tant'è che poteva essere rimpiazzato anche da altre soluzioni (tipo Directory Opus, ScalOS, Magic User Interface, ReAction, ecc...). Ma la potenza del Workbench risiedeva nel fatto che l'utente poteva aprire una shell [[CLI]] da cui accedere a molte altre funzioni di gestione del sistema di quelle rese disponibili dalla GUI.&lt;br /&gt;
&lt;br /&gt;
Ancora del 1985 è il debutto di ''Microsoft'' nel mondo delle GUI con il suo '''Windows 1.01''', un sistema di gestione dei file molto simile al Macintosh Desktop. Quella prima versione era molto scarna e capace di girare su PC con hardware di bassissimo livello: con alcune limitazioni, poteva essere lanciato anche su un semplice 8086 ad 8 MHz con controlli dati dalla tastiera.&lt;br /&gt;
&lt;br /&gt;
Nel 1986 debuttò '''GEOS''', una GUI destinata al Commodore 64 e poi usata anche da altri sistemi ad 8 bit quali l'Apple II.&lt;br /&gt;
&lt;br /&gt;
Il '''RISC OS''' nacque come sistema operativo con GUI colorata e vivace agli inizi degli anni '80 e fu presentato al pubblico nel 1987 da Acorn Computers come sistema per i suoi PC con CPU ARM. La GUI del RISC OS non è mai stata smessa di essere sviluppata.&lt;br /&gt;
&lt;br /&gt;
A metà anni '80 '''IBM''' e Microsoft iniziarono a sviluppare insieme un sistema operativo con il quale intendevano rimpiazzare l'MS-DOS. Fu così che nel 1987 debuttò '''OS/2''', un sistema che all'inizio non aveva interfaccia grafica. Questa arrivò con la versione 1.1 del 1988 presentandone una a cui la stessa Microsoft si ispirerà per il suo futuro Windows 3.0. All'inizio degli anni '90 le due società terminarono la collaborazione e la sola IBM continuò lo sviluppo dell'OS/2. Nel 1992 arrivò la versione 2.0, che introduceva radicali cambiamenti nella GUI presentando una GUI con un approccio orientato agli oggetti, un metodo di gestione che Microsoft più tardi imiterà per sviluppare il suo Windows 95.&lt;br /&gt;
&lt;br /&gt;
Nel 1989 debuttò '''NeXTStep''', una interfaccia integrata nel sistema operativo di una nuova linea di computer denominata ''NeXT''. La caratteristica peculiare del NeXTStep era il concetto di ''dock'', che Apple riprenderà nel suo MacOS X. aided by high performance graphics hardware.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=GUI&amp;diff=12670</id>
		<title>GUI</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=GUI&amp;diff=12670"/>
		<updated>2013-04-13T20:11:38Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Annullate le modifiche di Leo72 (discussione), riportata alla versione precedente di 203.173.160.90&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La mrayoia de los comentarios que escucho referidos al logan, son de propietarios que tienen el modelo 2007 , 2008  ..y el auto tiene algunos problemas, otros se refieren al logan como un carro de pochoclero, pero esos comentarios son de gente joven ,que porsupuesto les gusta correr con cualquier coche que tengan !!!!!! .quiero comprar un logan ,pero me frenan los comentarios en contra !!!!!!  me encantaria saber que es lo que el logan pude llegar a dar a un propietario como yo que viaja 500 kilometros cada tres dias !!!! .Gracias.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=GUI&amp;diff=12669</id>
		<title>GUI</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=GUI&amp;diff=12669"/>
		<updated>2013-04-13T20:11:01Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Annullate le modifiche di 203.173.160.90 (discussione), riportata alla versione precedente di 109.230.216.225&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I retcnely would like to thanks a ton just as before. I don&amp;amp;#8217;t know things i may performed in the lack of the complete advices offered simply by your self on an extremely web template. It actually was an enormously quite frustrating obstacle the very best, but nonetheless , imagining every concentrated option you might was able exactly who forced me to to finally plunge complete with treat. I happen to be precisely a more happy for aide you to and even good luck we do hope you know what an astonishing endeavor you may be planning guidance a particular people who had the use of a affiliate marketing website. Not having you have never run into all of us.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Benoit_Minisini&amp;diff=12668</id>
		<title>Benoit Minisini</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Benoit_Minisini&amp;diff=12668"/>
		<updated>2013-04-13T20:08:53Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Annullate le modifiche di 200.61.48.28 (discussione), riportata alla versione precedente di Leo72&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Benoit Minisini''' (in francese Benoît Minisini) è un programmatore francese a cui si deve la nascita del linguaggio di programmazione [[Gambas]].&lt;br /&gt;
&lt;br /&gt;
==Biografia==&lt;br /&gt;
&lt;br /&gt;
[[Immagine:Benoit minisini.jpg|right|Benoît Minisini]]&lt;br /&gt;
Nato a Parigi nel 1973, da subito si appassiona alla programmazione. Inizia lo studio del linguaggio [[BASIC]] sul suo primo computer, un '''CPC Amstrad 464'''. Dopo un po' di tempo si appassiona alla scrittura di linguaggi, compilatori, assemblatori ed interpreti e sviluppa per questo computer un assemblatore Z80 ed un linguaggio interpretato che consumano tutta la sua memoria.&lt;br /&gt;
&lt;br /&gt;
Il suo secondo acquisto è un Atari 520 STE, su cui continua lo studio del BASIC e della programmazione.&lt;br /&gt;
&lt;br /&gt;
Iscritto all' '''E.P.I.T.A.''' (Ecole pour l'Informatique et les Tecniquees Avancées), un istituto scolastico con indirizzo informatico, scopre il mondo Windows ed il compilatore Microsoft C, e realizza per Window 3.1 un interprete LISP.&lt;br /&gt;
&lt;br /&gt;
Grazie a Gambas ha un lavoro come programmatore part-time, così che gli resti un po' di tempo libero per dedicarsi ai suoi hobby, non solo a Gambas: musica (suona il flauto) e recitazione.&lt;br /&gt;
&lt;br /&gt;
Attualmente continua lo sviluppo di Gambas e ne coordina il gruppo di lavoro internazionale.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Pagina_principale&amp;diff=12667</id>
		<title>Pagina principale</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Pagina_principale&amp;diff=12667"/>
		<updated>2013-04-13T18:57:46Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Benvenuti!==&lt;br /&gt;
&lt;br /&gt;
Questa è la Wiki di [http://www.gambas-it.org Gambas-it], una guida in italiano, in continuo aggiornamento, del linguaggio di programmazione [[GAMBAS]]. Lo scopo di questa Wiki  è quello di condividere, scambiare, immagazzinare e ottimizzare la conoscenza in modo collaborativo grazie alle potenzialità offerte dalla Wiki stessa, una collezione di documenti ipertestuali che può essere modificata dai suoi utilizzatori ed i cui contenuti sono sviluppati in collaborazione da tutti coloro che ne hanno accesso, come in un forum.&lt;br /&gt;
&lt;br /&gt;
Per motivi di sicurezza, la registrazione automatica non è attiva. Se volete registrarvi, dovete [http://www.gambas-it.org/smf/index.php?topic=2680.0 fare richiesta per un'utenza sul forum di Gambas-it]. Grazie per la collaborazione.&lt;br /&gt;
&lt;br /&gt;
Se avete già un'utenza e volete iniziare a collaborare, allora è il momento buono per fare un salto alle pagine di [[Aiuto:Indice|aiuto]].&lt;br /&gt;
&lt;br /&gt;
== [http://www.gambas-it.org Gambas-it] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;'''GUIDA [[GAMBAS]]'''&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Indice]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Lezioni]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Guide della comunità]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Gambas nei repository ufficiali]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Risorse Esterne==&lt;br /&gt;
*[http://linuxpedia.netsons.org/index.php/Gambas Pagina di Gambas su Linuxpedia]&lt;br /&gt;
*[http://it.wikipedia.org/wiki/Gambas Pagina di Gambas su Wikipedia]&lt;br /&gt;
*[http://libero.wikia.com/wiki/Gambas Pagina di Gambas su Software Libero]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Pagina_principale&amp;diff=12663</id>
		<title>Pagina principale</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Pagina_principale&amp;diff=12663"/>
		<updated>2013-04-13T18:17:20Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Benvenuti!==&lt;br /&gt;
&lt;br /&gt;
Questa è la Wiki di [http://www.gambas-it.org Gambas-it], una guida in italiano, in continuo aggiornamento, del linguaggio di programmazione [[GAMBAS]]. Lo scopo di questa Wiki  è quello di condividere, scambiare, immagazzinare e ottimizzare la conoscenza in modo collaborativo grazie alle potenzialità offerte dalla Wiki stessa, una collezione di documenti ipertestuali che può essere modificata dai suoi utilizzatori ed i cui contenuti sono sviluppati in collaborazione da tutti coloro che ne hanno accesso, come in un forum.&lt;br /&gt;
&lt;br /&gt;
Per motivi di sicurezza, la registrazione automatica non è attiva. Se volete registrarvi, dovete [http://www.gambas-it.org/smf/index.php?topic=2680.0 lasciare un messaggio sul forum di Gambas-it]. Grazie per la collaborazione.&lt;br /&gt;
&lt;br /&gt;
Se avete già un'utenza e volete iniziare a collaborare, allora è il momento buono per fare un salto alle pagine di [[Aiuto:Indice|aiuto]].&lt;br /&gt;
&lt;br /&gt;
== [http://www.gambas-it.org Gambas-it] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;'''GUIDA [[GAMBAS]]'''&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Indice]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Lezioni]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Guide della comunità]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;big&amp;gt; '''[[Gambas nei repository ufficiali]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Risorse Esterne==&lt;br /&gt;
*[http://linuxpedia.netsons.org/index.php/Gambas Pagina di Gambas su Linuxpedia]&lt;br /&gt;
*[http://it.wikipedia.org/wiki/Gambas Pagina di Gambas su Wikipedia]&lt;br /&gt;
*[http://libero.wikia.com/wiki/Gambas Pagina di Gambas su Software Libero]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Variabili&amp;diff=2093</id>
		<title>Variabili</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Variabili&amp;diff=2093"/>
		<updated>2010-04-21T13:00:03Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Redirect alla pagina Le Variabili&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Le Variabili]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Articolo_ezine&amp;diff=2073</id>
		<title>Articolo ezine</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Articolo_ezine&amp;diff=2073"/>
		<updated>2010-02-15T22:53:50Z</updated>

		<summary type="html">&lt;p&gt;Leo72: /* ARCHITETTURA DI GAMBAS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ORIGINI DEL BASIC ==&lt;br /&gt;
Sin dalla sua comparsa nel 1963, il BASIC ha sempre trovato fortuna tra coloro che amavano la programmazione come puro hobby e che, a differenza dei programmatori professionisti, non avevano le conoscenze o i mezzi per programmare con linguaggi più potenti ma sicuramente più difficili. &lt;br /&gt;
Con il passare del tempo la diffusione di questo linguaggio ha trovato terreno fertile sia con l'interesse da parte di Microsoft, che creò il Microsoft BASIC, sia con l'introduzione del linguaggio direttamente nel firmware di diffusissimi home computer degli anni '80 come il Commodore VIC20, il C64, il C16/Plus4, lo ZX Spectrum, o l'MSX. Il BASIC era ormai un ''must'' per chi iniziava a programmare. &amp;lt;!-- La sua presenza anche su processori come 8052 che si differenzia dal'8031 per la sua programmazione in Basic. A ME NON RISULTA--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con l'avvento dei PC 8086 e 80286 (o meglio x86) le versioni del sono state migliorate fino ad arrivare al GW-BASIC, che la Microsoft aveva arricchito inserendo routine per la grafica ed il sonoro. Parlando di GW-BASIC si parla di un linguaggio interpretato: la velocità era quella che era e, dal lato commerciale, vi era il problema che tutti potevano mettere mano al listato e modificarlo. Chi lasciava libero il listato, chiamato sorgente, dava il pieno consenso all'opensource, ma è un'altra storia e ritorno subito all'argomento principale... Proprio per ragioni sia commerciale e soprattutto di velocità nacquero i compilatori quali il QuickBASIC, o QB, di Microsoft. Questo aveva la piena compatibilità con il Basic di prima con in più una velocità nella grafica per quei tempi spaventosa (parliamo sempre di DOS). Esistevano altre versioni con una IDE, come il Turbo BASIC, la cui interfaccia era già nota agli utenti Borland perché ripresa da altri prodotti della serie Turbo come il Turbo Pascal. &lt;br /&gt;
&lt;br /&gt;
Mentre dall'utilizzatore medio di Microsoft Windows il BASIC veniva accolto come una manna dal cielo, nel mondo GNU/Linux, che all'epoca era ancora considerato un sistema per &amp;quot;smanettoni&amp;quot;, esso non era visto di buon occhio: la sua scarsa potenza e il suo sistema privo di alcune strutture fondamentali della programmazione &amp;quot;seria&amp;quot; ne facevano un prodotto di scarso interesse ed al quale si preferiva sempre e comunque il re incontrastato della programmazione, il C. GNU/LINUX basa le sue fondamenta su questo linguaggio e lo stesso era visto come la lingua che il Pinguino avrebbe dovuto parlare. &lt;br /&gt;
&lt;br /&gt;
Successivamente naque la shell grafica Windows, per la quale Microsoft realizzò una versione apposita del suo BASIC denominandolo Visual Basic. Questo ambiente si diffuse rapidamente grazie al fatto che la sua IDE permetteva la realizzazione di applicazioni con interfaccia grafica molto velocemente e semplicemente. La semplicità del linguaggio ne fece un prodotto usato anche come base per l'insegnamento della programmazione nelle scuole. Su altri sistemi come il mondo Linux si seguì tale strada proponendo prodotti quali il Real Basic, che riproponevano il sistema di costruzione visuale delle GUI che aveva fatto la fortuna del Visual Basic.&lt;br /&gt;
&lt;br /&gt;
Tuttavia il mondo dell'opensource è bello perché vario e la situazione sarebbe cambiata ben presto. La riscossa del BASIC infatti nacque dalla tastiera e dalla mente di un programmatore francese che, stufo di usare Visual Basic e della sua struttura, decise di scrivere un suo ambiente di programmazione basato sul BASIC per GNU/Linux. L'idea era quella di creare non un clone del prodotto Microsoft ma un interprete del linguaggio originale arricchito di un'IDE in stile Visual BASIC per la costruzione delle interfacce grafiche. Benoit Minisini (questo il nome del programmatore) ha fatto ciò che si sarebbe dovuto fare: ha portato agli hobbysti utilizzatori di GNU/Linux lo strumento per poter lavorare e per poter arricchire con i propri codici il vasto mondo del parco software che l'open source propone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COS'E' GAMBAS? ==&lt;br /&gt;
Torniamo ai giorni nostri, lasciamo alle spalle tutto ciò che è passato e parliamo di cos'è Gambas, come esso si presenta e cosa ha da offrire.&lt;br /&gt;
Gambas è un acronimo ricorsivo che deriva da '''''G'''ambas '''A'''lmost '''M'''eans '''BAS'''ic'' che tradotto suona come ''Gambas più o meno significa BASIC'', e con lo stesso nome si intendono sia il linguaggio che l'interprete grazie al quale esso viene eseguito. Gambas non è la copia spudorata del vecchio BASIC e neanche il solito clone opensource di Visual Basic ma è un prodotto nuovo che asseconda la passione di chi programma per hobby ma anche di chi scrive applicativi più impegnativi.&lt;br /&gt;
&lt;br /&gt;
Gambas è un linguaggio orientato agli oggetti, fortemente imperativo (il programma si compone di istruzioni e comandi che sono visti alla stregua di &amp;quot;ordini&amp;quot; dati alla macchina) e staticamente tipizzato (vale a dire che i tipi delle variabili sono dichiarati prima dell'utilizzo delle stesse senza che poi sia possibile cambiarli nel corso dell'esecuzione del programma). E' facile da imparare avendo una curva di apprendimento molto rapida e, a differenza di quanto si crede, se studiato approfonditamente è anche molto potente.&lt;br /&gt;
&lt;br /&gt;
Esso è interpretato e pertanto necessita che l'interprete sia installato nel sistema su cui si vuole che il codice funzioni.&lt;br /&gt;
A differenza dei linguaggi di programmazione compilati, quelli interpretati risultano essere leggermente più lenti ed un po' più pesanti per il sistema, tuttavia Gambas è capace di creare degli eseguibili contenenti le istruzioni in byte-code, uno speciale tipo di codice che compila, dove possibile, alcune istruzioni direttamente in linguaggio macchina in modo tale da rendere l'esecuzione del software molto più performante. L'IDE di Gambas (che per la cronaca è scritto in Gambas!) favorisce la creazione in maniera facilissima di GUI per i nostri programmi mediante un ambiente di disegno interfacce tanto semplice quanto completo, grazie al quale si potranno creare software che sfrutteranno le GTK+ o le Qt, integrandosi in questo modo sia in ambienti Gnome che KDE. Una peculiarità di Gambas è la possibilità di utilizzare un particolare componente che permette di adattare l'interfaccia dei programmi in base al desktop in cui il nostro software andrà a girare, così che ci penserà il programma stesso a utilizzare la libreria grafica più idonea. lasciando al programmatore il solo pensiero di scrivere il codice senza prestare particolare attenzione all'ambiente grafico. Di notevole interesse è anche la possibilità che il gambero blu offre di utilizzare, modificare e gestire diversi tipi di database in maniera molto semplice ed intuitiva. Le sue potenzialità comunque non finiscono qui. Con la stessa facilità sarà possibile gestire file audio e video, leggere documenti in PDF, disegnare grafici, cifrare file, utilizzare OpenGL e tanto altro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ARCHITETTURA DI GAMBAS ==&lt;br /&gt;
Come si è detto Gambas, oltre ad essere il nome del linguaggio, identifica anche l'ambiente di sviluppo e l'interprete che ne permette il funzionamento. L'IDE (Integrated Development Environment) è scritto nello stesso linguaggio Gambas in modo da mostrarne la potenza e la praticità. Esso si compone di:&lt;br /&gt;
&lt;br /&gt;
* un interprete;&lt;br /&gt;
* un compilatore;&lt;br /&gt;
* un archiviatore;&lt;br /&gt;
* un ambiente grafico;&lt;br /&gt;
&lt;br /&gt;
[[Immagine:Architettura_Gambas.png]]&lt;br /&gt;
&lt;br /&gt;
Nello specifico vediamo di capire brevemente e velocemente il funzionamento di ognuna di queste parti.&lt;br /&gt;
&lt;br /&gt;
=== Compilatore ===&lt;br /&gt;
Il suo nome per i riferimenti è ''gbc''&lt;br /&gt;
Il suo scopo è quello di trasformare (compilare) i form, i moduli e le classi in file binari che possono interpretati dal programma. Il file binario generato può essere visto come un contenitore che raccoglie diverse informazioni per il debig, i codici trasformati in bytecode, i valori delle costanti, etc.&lt;br /&gt;
&lt;br /&gt;
=== Archiviatore ===&lt;br /&gt;
Il suo nome per i riferimenti è ''gba''&lt;br /&gt;
Ha lo scopo di raccogliere i file che compongono il progetto su cui si lavora e convogliarli in un unico file eseguibile che potrà poi essere condiviso ed eseguito su macchine diverse dalla propria. Il file eseguibile generato è del tutto simile ad un archivio ma non compresso. Esso sfrutta uno script che reindirizza i propri comandi sull'interprete.&lt;br /&gt;
&lt;br /&gt;
=== Loader Classi ===&lt;br /&gt;
Si occupa di gestire  componenti del progetto in memoria. La loro mappatura verrà poi passata come parametro all'interprete.&lt;br /&gt;
&lt;br /&gt;
=== Unità di esecuzione ===&lt;br /&gt;
Svolge il compito di analizzare riga per riga le istruzioni presenti nel codice del software che si sta scrivendo e di invocare le subroutine quando necessario.&lt;br /&gt;
&lt;br /&gt;
=== Subroutines ===&lt;br /&gt;
È una raccolta di tutte le funzioni che Gambas implementa strettamente correlate alle funzioni così come vengono viste dall'interprete. In esse si trovano funzioni, operatori e relativi overloading.&lt;br /&gt;
&lt;br /&gt;
=== Interfaccia componenti ===&lt;br /&gt;
Raccoglie funzioni e routine che permettono ai diversi componenti, abilitati in un progetto, di comunicare i propri servizi e i propri metodi all'interprete.&lt;br /&gt;
&lt;br /&gt;
=== Loader Componenti ===&lt;br /&gt;
Mette in relazione i componenti condivisi in modo tale che essi possano comunicare sia con l'interfaccia che con gli altri componenti abilitati.&lt;br /&gt;
&lt;br /&gt;
=== Componenti ===&lt;br /&gt;
Possono essere visti come librerie specializzate che condividono le proprie funzioni e possono essere inglobate nel progetto solo quando il campo in cui operano risulta essere utile al programmatore.&lt;br /&gt;
Essi possono essere esterni o nativi. I componenti nativi sono parte integrante dell'ambiente di sviluppo e per essere tali devono attenersi ad una rigida struttura sintattica.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=File:Architettura_Gambas.png&amp;diff=2072</id>
		<title>File:Architettura Gambas.png</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=File:Architettura_Gambas.png&amp;diff=2072"/>
		<updated>2010-02-15T22:51:00Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Architettura di Gambas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Architettura di Gambas&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Articolo_ezine&amp;diff=2071</id>
		<title>Articolo ezine</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Articolo_ezine&amp;diff=2071"/>
		<updated>2010-02-15T22:50:20Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ORIGINI DEL BASIC ==&lt;br /&gt;
Sin dalla sua comparsa nel 1963, il BASIC ha sempre trovato fortuna tra coloro che amavano la programmazione come puro hobby e che, a differenza dei programmatori professionisti, non avevano le conoscenze o i mezzi per programmare con linguaggi più potenti ma sicuramente più difficili. &lt;br /&gt;
Con il passare del tempo la diffusione di questo linguaggio ha trovato terreno fertile sia con l'interesse da parte di Microsoft, che creò il Microsoft BASIC, sia con l'introduzione del linguaggio direttamente nel firmware di diffusissimi home computer degli anni '80 come il Commodore VIC20, il C64, il C16/Plus4, lo ZX Spectrum, o l'MSX. Il BASIC era ormai un ''must'' per chi iniziava a programmare. &amp;lt;!-- La sua presenza anche su processori come 8052 che si differenzia dal'8031 per la sua programmazione in Basic. A ME NON RISULTA--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con l'avvento dei PC 8086 e 80286 (o meglio x86) le versioni del sono state migliorate fino ad arrivare al GW-BASIC, che la Microsoft aveva arricchito inserendo routine per la grafica ed il sonoro. Parlando di GW-BASIC si parla di un linguaggio interpretato: la velocità era quella che era e, dal lato commerciale, vi era il problema che tutti potevano mettere mano al listato e modificarlo. Chi lasciava libero il listato, chiamato sorgente, dava il pieno consenso all'opensource, ma è un'altra storia e ritorno subito all'argomento principale... Proprio per ragioni sia commerciale e soprattutto di velocità nacquero i compilatori quali il QuickBASIC, o QB, di Microsoft. Questo aveva la piena compatibilità con il Basic di prima con in più una velocità nella grafica per quei tempi spaventosa (parliamo sempre di DOS). Esistevano altre versioni con una IDE, come il Turbo BASIC, la cui interfaccia era già nota agli utenti Borland perché ripresa da altri prodotti della serie Turbo come il Turbo Pascal. &lt;br /&gt;
&lt;br /&gt;
Mentre dall'utilizzatore medio di Microsoft Windows il BASIC veniva accolto come una manna dal cielo, nel mondo GNU/Linux, che all'epoca era ancora considerato un sistema per &amp;quot;smanettoni&amp;quot;, esso non era visto di buon occhio: la sua scarsa potenza e il suo sistema privo di alcune strutture fondamentali della programmazione &amp;quot;seria&amp;quot; ne facevano un prodotto di scarso interesse ed al quale si preferiva sempre e comunque il re incontrastato della programmazione, il C. GNU/LINUX basa le sue fondamenta su questo linguaggio e lo stesso era visto come la lingua che il Pinguino avrebbe dovuto parlare. &lt;br /&gt;
&lt;br /&gt;
Successivamente naque la shell grafica Windows, per la quale Microsoft realizzò una versione apposita del suo BASIC denominandolo Visual Basic. Questo ambiente si diffuse rapidamente grazie al fatto che la sua IDE permetteva la realizzazione di applicazioni con interfaccia grafica molto velocemente e semplicemente. La semplicità del linguaggio ne fece un prodotto usato anche come base per l'insegnamento della programmazione nelle scuole. Su altri sistemi come il mondo Linux si seguì tale strada proponendo prodotti quali il Real Basic, che riproponevano il sistema di costruzione visuale delle GUI che aveva fatto la fortuna del Visual Basic.&lt;br /&gt;
&lt;br /&gt;
Tuttavia il mondo dell'opensource è bello perché vario e la situazione sarebbe cambiata ben presto. La riscossa del BASIC infatti nacque dalla tastiera e dalla mente di un programmatore francese che, stufo di usare Visual Basic e della sua struttura, decise di scrivere un suo ambiente di programmazione basato sul BASIC per GNU/Linux. L'idea era quella di creare non un clone del prodotto Microsoft ma un interprete del linguaggio originale arricchito di un'IDE in stile Visual BASIC per la costruzione delle interfacce grafiche. Benoit Minisini (questo il nome del programmatore) ha fatto ciò che si sarebbe dovuto fare: ha portato agli hobbysti utilizzatori di GNU/Linux lo strumento per poter lavorare e per poter arricchire con i propri codici il vasto mondo del parco software che l'open source propone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== COS'E' GAMBAS? ==&lt;br /&gt;
Torniamo ai giorni nostri, lasciamo alle spalle tutto ciò che è passato e parliamo di cos'è Gambas, come esso si presenta e cosa ha da offrire.&lt;br /&gt;
Gambas è un acronimo ricorsivo che deriva da '''''G'''ambas '''A'''lmost '''M'''eans '''BAS'''ic'' che tradotto suona come ''Gambas più o meno significa BASIC'', e con lo stesso nome si intendono sia il linguaggio che l'interprete grazie al quale esso viene eseguito. Gambas non è la copia spudorata del vecchio BASIC e neanche il solito clone opensource di Visual Basic ma è un prodotto nuovo che asseconda la passione di chi programma per hobby ma anche di chi scrive applicativi più impegnativi.&lt;br /&gt;
&lt;br /&gt;
Gambas è un linguaggio orientato agli oggetti, fortemente imperativo (il programma si compone di istruzioni e comandi che sono visti alla stregua di &amp;quot;ordini&amp;quot; dati alla macchina) e staticamente tipizzato (vale a dire che i tipi delle variabili sono dichiarati prima dell'utilizzo delle stesse senza che poi sia possibile cambiarli nel corso dell'esecuzione del programma). E' facile da imparare avendo una curva di apprendimento molto rapida e, a differenza di quanto si crede, se studiato approfonditamente è anche molto potente.&lt;br /&gt;
&lt;br /&gt;
Esso è interpretato e pertanto necessita che l'interprete sia installato nel sistema su cui si vuole che il codice funzioni.&lt;br /&gt;
A differenza dei linguaggi di programmazione compilati, quelli interpretati risultano essere leggermente più lenti ed un po' più pesanti per il sistema, tuttavia Gambas è capace di creare degli eseguibili contenenti le istruzioni in byte-code, uno speciale tipo di codice che compila, dove possibile, alcune istruzioni direttamente in linguaggio macchina in modo tale da rendere l'esecuzione del software molto più performante. L'IDE di Gambas (che per la cronaca è scritto in Gambas!) favorisce la creazione in maniera facilissima di GUI per i nostri programmi mediante un ambiente di disegno interfacce tanto semplice quanto completo, grazie al quale si potranno creare software che sfrutteranno le GTK+ o le Qt, integrandosi in questo modo sia in ambienti Gnome che KDE. Una peculiarità di Gambas è la possibilità di utilizzare un particolare componente che permette di adattare l'interfaccia dei programmi in base al desktop in cui il nostro software andrà a girare, così che ci penserà il programma stesso a utilizzare la libreria grafica più idonea. lasciando al programmatore il solo pensiero di scrivere il codice senza prestare particolare attenzione all'ambiente grafico. Di notevole interesse è anche la possibilità che il gambero blu offre di utilizzare, modificare e gestire diversi tipi di database in maniera molto semplice ed intuitiva. Le sue potenzialità comunque non finiscono qui. Con la stessa facilità sarà possibile gestire file audio e video, leggere documenti in PDF, disegnare grafici, cifrare file, utilizzare OpenGL e tanto altro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ARCHITETTURA DI GAMBAS ==&lt;br /&gt;
Come si è detto Gambas, oltre ad essere il nome del linguaggio, identifica anche l'ambiente di sviluppo e l'interprete che ne permette il funzionamento. L'IDE (Integrated Development Environment) è scritto nello stesso linguaggio Gambas in modo da mostrarne la potenza e la praticità. Esso si compone di:&lt;br /&gt;
&lt;br /&gt;
* un interprete;&lt;br /&gt;
* un compilatore;&lt;br /&gt;
* un archiviatore;&lt;br /&gt;
* un ambiente grafico;&lt;br /&gt;
&lt;br /&gt;
SCHEMA: http://gambas.sourceforge.net/architecture.png&lt;br /&gt;
&lt;br /&gt;
Nello specifico vediamo di capire brevemente e velocemente il funzionamento di ognuna di queste parti.&lt;br /&gt;
&lt;br /&gt;
=== Compilatore ===&lt;br /&gt;
Il suo nome per i riferimenti è ''gbc''&lt;br /&gt;
Il suo scopo è quello di trasformare (compilare) i form, i moduli e le classi in file binari che possono interpretati dal programma. Il file binario generato può essere visto come un contenitore che raccoglie diverse informazioni per il debig, i codici trasformati in bytecode, i valori delle costanti, etc.&lt;br /&gt;
&lt;br /&gt;
=== Archiviatore ===&lt;br /&gt;
Il suo nome per i riferimenti è ''gba''&lt;br /&gt;
Ha lo scopo di raccogliere i file che compongono il progetto su cui si lavora e convogliarli in un unico file eseguibile che potrà poi essere condiviso ed eseguito su macchine diverse dalla propria. Il file eseguibile generato è del tutto simile ad un archivio ma non compresso. Esso sfrutta uno script che reindirizza i propri comandi sull'interprete.&lt;br /&gt;
&lt;br /&gt;
=== Loader Classi ===&lt;br /&gt;
Si occupa di gestire  componenti del progetto in memoria. La loro mappatura verrà poi passata come parametro all'interprete.&lt;br /&gt;
&lt;br /&gt;
=== Unità di esecuzione ===&lt;br /&gt;
Svolge il compito di analizzare riga per riga le istruzioni presenti nel codice del software che si sta scrivendo e di invocare le subroutine quando necessario.&lt;br /&gt;
&lt;br /&gt;
=== Subroutines ===&lt;br /&gt;
È una raccolta di tutte le funzioni che Gambas implementa strettamente correlate alle funzioni così come vengono viste dall'interprete. In esse si trovano funzioni, operatori e relativi overloading.&lt;br /&gt;
&lt;br /&gt;
=== Interfaccia componenti ===&lt;br /&gt;
Raccoglie funzioni e routine che permettono ai diversi componenti, abilitati in un progetto, di comunicare i propri servizi e i propri metodi all'interprete.&lt;br /&gt;
&lt;br /&gt;
=== Loader Componenti ===&lt;br /&gt;
Mette in relazione i componenti condivisi in modo tale che essi possano comunicare sia con l'interfaccia che con gli altri componenti abilitati.&lt;br /&gt;
&lt;br /&gt;
=== Componenti ===&lt;br /&gt;
Possono essere visti come librerie specializzate che condividono le proprie funzioni e possono essere inglobate nel progetto solo quando il campo in cui operano risulta essere utile al programmatore.&lt;br /&gt;
Essi possono essere esterni o nativi. I componenti nativi sono parte integrante dell'ambiente di sviluppo e per essere tali devono attenersi ad una rigida struttura sintattica.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Aiuto:Creare_una_nuova_pagina&amp;diff=2059</id>
		<title>Aiuto:Creare una nuova pagina</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Aiuto:Creare_una_nuova_pagina&amp;diff=2059"/>
		<updated>2010-01-12T22:45:41Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci sono diversi modi per creare una pagina.&lt;br /&gt;
&lt;br /&gt;
== Utilizzando gli URL ==&lt;br /&gt;
Puoi utlizzare gli url di wiki per creare una nuova pagina. L'Url ad un articolo appare come segue:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.net/index.php/&amp;lt;/nowiki&amp;gt;'''ARTICOLO'''&amp;lt;/code&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; oppure&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.net/wiki/&amp;lt;/nowiki&amp;gt;'''ARTICOLO'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se sostituisci &amp;lt;code&amp;gt;'''ARTICOLO'''&amp;lt;/code&amp;gt; con il nome della pagina che hai intenzione di creare, sarai indirizzato ad una pagina bianca la quale indica che non ci sono ancora pagine con quel nome. Cliccando su &amp;quot;''modifica''&amp;quot; [[Help:Navigation/it#Schede|Schede]] al margine superiore della pagina accederai alla modalità modifica, dove potrai creare la tua nuova pagina salvando le modifiche.&lt;br /&gt;
&lt;br /&gt;
== Dalla pagina di ricerca ==&lt;br /&gt;
Se cerchi una pagina che ancora non esiste (usando il campo 'ricerca' e il bottone 'Vai') ti verrà proposto un link per creare la nuova pagina.  (Questa caratteristica non funziona se usi il bottone 'Ricerca').&lt;br /&gt;
&lt;br /&gt;
== Creare reindirizzamenti alla tua nuova pagina == &lt;br /&gt;
Non dimenticare di mettere a punto i reindirizzamenti alla pagina che hai appena creato. Se pensi che altre persone possano andare in cerca di questa pagina utilizzando diverse parole chiave, settale opportunamente. Vedi [[Aiuto:Redirects]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoria:Aiuto]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Aiuto:Creare_una_nuova_pagina&amp;diff=2058</id>
		<title>Aiuto:Creare una nuova pagina</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Aiuto:Creare_una_nuova_pagina&amp;diff=2058"/>
		<updated>2010-01-12T22:44:25Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Annullate le modifiche di 194.8.75.155 (discussione), riportata alla versione precedente di 91.214.46.18&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci sono diversi modi per creare una pagina.&lt;br /&gt;
&lt;br /&gt;
dors-andrey-viagra1.txt;3;10&lt;br /&gt;
&lt;br /&gt;
== Utilizzando gli URL ==&lt;br /&gt;
Puoi utlizzare gli url di wiki per creare una nuova pagina. L'Url ad un articolo appare come segue:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.net/index.php/&amp;lt;/nowiki&amp;gt;'''ARTICOLO'''&amp;lt;/code&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; oppure&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.net/wiki/&amp;lt;/nowiki&amp;gt;'''ARTICOLO'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se sostituisci &amp;lt;code&amp;gt;'''ARTICOLO'''&amp;lt;/code&amp;gt; con il nome della pagina che hai intenzione di creare, sarai indirizzato ad una pagina bianca la quale indica che non ci sono ancora pagine con quel nome. Cliccando su &amp;quot;''modifica''&amp;quot; [[Help:Navigation/it#Schede|Schede]] al margine superiore della pagina accederai alla modalità modifica, dove potrai creare la tua nuova pagina salvando le modifiche.&lt;br /&gt;
&lt;br /&gt;
== Dalla pagina di ricerca ==&lt;br /&gt;
Se cerchi una pagina che ancora non esiste (usando il campo 'ricerca' e il bottone 'Vai') ti verrà proposto un link per creare la nuova pagina.  (Questa caratteristica non funziona se usi il bottone 'Ricerca').&lt;br /&gt;
&lt;br /&gt;
== Creare reindirizzamenti alla tua nuova pagina == &lt;br /&gt;
Non dimenticare di mettere a punto i reindirizzamenti alla pagina che hai appena creato. Se pensi che altre persone possano andare in cerca di questa pagina utilizzando diverse parole chiave, settale opportunamente. Vedi [[Aiuto:Redirects]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoria:Aiuto]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Articolo_ezine&amp;diff=2056</id>
		<title>Articolo ezine</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Articolo_ezine&amp;diff=2056"/>
		<updated>2010-01-09T10:40:39Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''ORIGINI DEL BASIC'''&lt;br /&gt;
&lt;br /&gt;
	Sin dalla sua comparsa nel 1963, il BASIC ha sempre trovato fortuna tra coloro che amavano la programmazione come puro hobby e che, a differenza dei programmatori professionisti, non avevano le conoscenze o i mezzi per programmare con linguaggi più potenti ma sicuramente più difficili. &lt;br /&gt;
Con il passare del tempo la diffusione di questo linguaggio ha trovato terreno fertile sia con l'interesse da parte di Microsoft, che creò il Microsoft BASIC, sia con l'introduzione del linguaggio direttamente nel firmware di diffusissimi home computer degli anni '80 come il Commodore VIC20, il C64, il C16/Plus4, lo ZX Spectrum, o l'MSX. Il BASIC era ormai un ''must'' per chi iniziava a programmare. &amp;lt;!-- La sua presenza anche su processori come 8052 che si differenzia dal'8031 per la sua programmazione in Basic. A ME NON RISULTA--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con l'avvento dei PC 8086 e 80286 (o meglio x86) le versioni del sono state migliorate fino ad arrivare al GW-BASIC, che la Microsoft aveva arricchito inserendo routine per la grafica ed il sonoro. Parlando di GW-BASIC si parla di un linguaggio interpretato: la velocità era quella che era e, dal lato commerciale, vi era il problema che tutti potevano mettere mano al listato e modificarlo. Chi lasciava libero il listato, chiamato sorgente, dava il pieno consenso all'opensource, ma è un'altra storia e ritorno subito all'argomento principale... Proprio per ragioni sia commerciale e soprattutto di velocità nacquero i compilatori quali il QuickBASIC, o QB, di Microsoft. Questo aveva la piena compatibilità con il Basic di prima con in più una velocità nella grafica per quei tempi spaventosa (parliamo sempre di DOS). Esistevano altre versioni con una IDE, come il Turbo BASIC, la cui interfaccia era già nota agli utenti Borland perché ripresa da altri prodotti della serie Turbo come il Turbo Pascal. &lt;br /&gt;
&lt;br /&gt;
Mentre dall'utilizzatore medio di Microsoft Windows il BASIC veniva accolto come una manna dal cielo, nel mondo GNU/Linux, che all'epoca era ancora considerato un sistema per &amp;quot;smanettoni&amp;quot;, esso non era visto di buon occhio: la sua scarsa potenza e il suo sistema privo di alcune strutture fondamentali della programmazione &amp;quot;seria&amp;quot; ne facevano un prodotto di scarso interesse ed al quale si preferiva sempre e comunque il re incontrastato della programmazione, il C. GNU/LINUX basa le sue fondamenta su questo linguaggio e lo stesso era visto come la lingua che il Pinguino avrebbe dovuto parlare. &lt;br /&gt;
&lt;br /&gt;
Successivamente naque la shell grafica Windows, per la quale Microsoft realizzò una versione apposita del suo BASIC denominandolo Visual Basic. Questo ambiente si diffuse rapidamente grazie al fatto che la sua IDE permetteva la realizzazione di applicazioni con interfaccia grafica molto velocemente e semplicemente. La semplicità del linguaggio ne fece un prodotto usato anche come base per l'insegnamento della programmazione nelle scuole. Su altri sistemi come il mondo Linux si seguì tale strada proponendo prodotti quali il Real Basic, che riproponevano il sistema di costruzione visuale delle GUI che aveva fatto la fortuna del Visual Basic.&lt;br /&gt;
&lt;br /&gt;
Tuttavia il mondo dell'opensource è bello perché vario e la situazione sarebbe cambiata ben presto. La riscossa del BASIC infatti nacque dalla tastiera e dalla mente di un programmatore francese che, stufo di usare Visual Basic e della sua struttura, decise di scrivere un suo ambiente di programmazione basato sul BASIC per GNU/Linux. L'idea era quella di creare non un clone del prodotto Microsoft ma un interprete del linguaggio originale arricchito di un'IDE in stile Visual BASIC per la costruzione delle interfacce grafiche. Benoit Minisini (questo il nome del programmatore) ha fatto ciò che si sarebbe dovuto fare: ha portato agli hobbysti utilizzatori di GNU/Linux lo strumento per poter lavorare e per poter arricchire con i propri codici il vasto mondo del parco software che l'open source propone&lt;br /&gt;
&lt;br /&gt;
'''COS'E' GAMBAS?'''&lt;br /&gt;
&lt;br /&gt;
	Torniamo ai giorni nostri, lasciamo alle spalle tutto ciò che è passato e parliamo di cos'è Gambas, come esso si presenta e cosa ha da offrire.&lt;br /&gt;
Gambas è un acronimo ricorsivo che deriva da '''''G'''ambas '''A'''lmost '''M'''eans '''BAS'''ic'' che tradotto suona come ''Gambas più o meno significa BASIC'', e con lo stesso nome si intendono sia il linguaggio che l'interprete grazie al quale esso viene eseguito. Gambas non è la copia spudorata del vecchio BASIC e neanche il solito clone opensource di Visual Basic ma è un prodotto nuovo che asseconda la passione di chi programma per hobby ma anche di chi scrive applicativi più impegnativi.&lt;br /&gt;
&lt;br /&gt;
Gambas è un linguaggio orientato agli oggetti, fortemente imperativo (il programma si compone di istruzioni e comandi che sono visti alla stregua di &amp;quot;ordini&amp;quot; dati alla macchina) e staticamente tipizzato (vale a dire che i tipi delle variabili sono dichiarati prima dell'utilizzo delle stesse senza che poi sia possibile cambiarli nel corso dell'esecuzione del programma). E' facile da imparare avendo una curva di apprendimento molto rapida e, a differenza di quanto si crede, se studiato approfonditamente è anche molto potente.&lt;br /&gt;
&lt;br /&gt;
Esso è interpretato e pertanto necessita che l'interprete sia installato nel sistema su cui si vuole che il codice funzioni.&lt;br /&gt;
A differenza dei linguaggi di programmazione compilati, quelli interpretati risultano essere leggermente più lenti ed un po' più pesanti per il sistema, tuttavia Gambas è capace di creare degli eseguibili contenenti le istruzioni in byte-code, uno speciale tipo di codice che compila, dove possibile, alcune istruzioni direttamente in linguaggio macchina in modo tale da rendere l'esecuzione del software molto più performante. L'IDE di Gambas (che per la cronaca è scritto in Gambas!) favorisce la creazione in maniera facilissima di GUI per i nostri programmi mediante un ambiente di disegno interfacce tanto semplice quanto completo, grazie al quale si potranno creare software che sfrutteranno le GTK+ o le Qt, integrandosi in questo modo sia in ambienti Gnome che KDE. Una peculiarità di Gambas è la possibilità di utilizzare un particolare componente che permette di adattare l'interfaccia dei programmi in base al desktop in cui il nostro software andrà a girare, così che ci penserà il programma stesso a utilizzare la libreria grafica più idonea. lasciando al programmatore il solo pensiero di scrivere il codice senza prestare particolare attenzione all'ambiente grafico. Di notevole interesse è anche la possibilità che il gambero blu offre di utilizzare, modificare e gestire diversi tipi di database in maniera molto semplice ed intuitiva. Le sue potenzialità comunque non finiscono qui. Con la stessa facilità sarà possibile gestire file audio e video, leggere documenti in PDF, disegnare grafici, cifrare file, utilizzare OpenGL e tanto altro.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Articolo_ezine&amp;diff=2050</id>
		<title>Articolo ezine</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Articolo_ezine&amp;diff=2050"/>
		<updated>2010-01-06T11:13:55Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''ORIGINI DEL BASIC'''&lt;br /&gt;
&lt;br /&gt;
	Sin dalla sua comparsa nel 1963, il BASIC ha sempre trovato fortuna tra coloro che amavano la programmazione come puro hobby e che, a differenza dei programmatori professionisti, non avevano le conoscenze o i mezzi per programmare con linguaggi più potenti ma sicuramente più difficili. &lt;br /&gt;
Con il passare del tempo la diffusione di questo linguaggio ha trovato terreno fertile inizialmente con l'interesse da parte di Microsoft, che creò dapprima il Microsoft BASIC evoluto poi nel GW-BASIC, e poi con la sua introduzione direttamente nel firmware di diffusissimi home computer degli anni '80, come il Commodore 64, lo ZX Spectrum, o l'MSX. Il BASIC era ormai un ''must'' per chi iniziava a programmare ed esso divenne sempre più potente ed evoluto. Si giunse pertanto a versioni sempre migliori, come il Quick BASIC di Microsoft o il Turbo BASIC di Borland. Con l'avvento di Windows, Microsoft ripropose il suo BASIC modificato per l'uso con il nuovo sistema operativo: il Visual Basic. Questo ambiente si diffuse rapidamente grazie al fatto che il suo IDE permetteva la realizzazione di applicazioni con interfaccia grafica molto velocemente e semplicemente. La semplicità del linguaggio ne fece un prodotto usato anche come base per l'insegnamento della programmazione nelle scuole. Su altri sistemi come il mondo Linux si seguì tale strada proponendo prodotti quali il Real Basic, che riproponevano il sistema di costruzione visuale delle GUI che aveva fatto la fortuna del Visual Basic.&lt;br /&gt;
&lt;br /&gt;
	Mentre dall'utilizzatore medio di Microsoft Windows il BASIC veniva accolto come una manna dal cielo, nel mondo GNU/Linux, che all'epoca era ancora considerato un sistema per &amp;quot;smanettoni&amp;quot;, esso non era visto di buon occhio: la sua scarsa potenza e il suo sistema privo di alcune strutture fondamentali della programmazione &amp;quot;seria&amp;quot; ne facevano un prodotto di scarso interesse ed al quale si preferiva sempre e comunque il re incontrastato della programmazione, il C.&lt;br /&gt;
GNU/LINUX basa le sue fondamenta su questo linguaggio e lo stesso era visto come la lingua che il pinguino avrebbe dovuto parlare. &lt;br /&gt;
Tuttavia il mondo dell'open source è bello perchè vario e la situazione sarebbe cambiata ben presto. La riscossa del BASIC infatti nacque dalla tastiera e dalla mente di un programmatore francese che stufo di Visual Basic e della sua struttura decise di portare questo linguaggio su GNU/Linux, non come clone del prodotto Microsoft ma come interprete del linguaggio originale.&lt;br /&gt;
Benoit Minisini (questo il nome del programmatore) ha fatto ciò che si sarebbe dovuto fare: ha portato agli hobbysti utilizzatori di GNU/Linux lo strumento per poter lavorare e per poter arricchire con i propri codici il vasto mondo del parco software che l'open source propone&lt;br /&gt;
&lt;br /&gt;
'''COS'E' GAMBAS?'''&lt;br /&gt;
&lt;br /&gt;
	Torniamo ai giorni nostri, lasciamo alle spalle tutto ciò che è passato e parliamo di cos'è Gambas, come esso si presenta e cosa ha da offrire.&lt;br /&gt;
Gambas è un acronimo ricorsivo che deriva da Gambas Almost Means Basic che tradotto suona come Gambas è più o meno BASIC, con lo stesso nome si intendono il linguaggio e l'interprete grazie al quale esso viene eseguito. Gambas non è la copia spudorata del vecchio BASIC e neanche il solito clone open source di Visual Basic ma è un prodotto nuovo che asseconda la passione di chi programma per hobby. &lt;br /&gt;
E' un linguaggio orientato agli oggetti, imperativo fortemente e staticamente tipizzato. E' facile da imparare avendo una curva di apprendimento molto rapida e, a differenza di quanto si crede, se studiato approfonditamente, è anche molto potente.&lt;br /&gt;
Esso è interpretato e pertanto necessita che l'interprete sia installato nel sistema su cui si vuole che il codice funzioni.&lt;br /&gt;
A differenza dei linguaggi di programmazione compilati, quelli interpretati risultano essere leggermente più lenti ed un po' più pesanti per il sistema, tuttavia Gambas è capace di creare degli eseguibili contenenti il codice in byte-code, uno speciale tipo di codice che compila, dove possibile, alcune istruzioni direttamente in linguaggio macchina in modo tale da rendere l'esecuzione del software molto più performante. L'IDE di Gambas (che per la cronaca è scritto in Gambas!) favorisce la creazione in maniera facilissima di GUI per i nostri programmi mediante un ambiente di disegno interfacce tanto semplice quanto completo, grazie al quale si potranno creare software che sfrutteranno le gtk e le qt integrandosi in questo modo sia in ambienti Gnome che KDE. La particolarità di Gambas, infatti, è la possibilità di scrivere il codice senza prestare particolare attenzione all'ambiente grafico in cui il nostro software andrà a girare. Ci penserà il programma stesso a utilizzare la libreria grafica più idonea. Di notevole interesse è anche la possibilità che il gambero blu offre di utilizzare, modificare e gestire diversi tipi di database in maniera molto semplice ed intuitiva. Le sue potenzialità comunque non finiscono qui. Con la stessa facilità sarà possibile gestire file audio e video, leggere  documenti in PDF,  disegnare grafici,  criptare file,  utilizzare OpenGL e tanto altro.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=2023</id>
		<title>Gambas nei repository ufficiali</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=2023"/>
		<updated>2009-09-14T08:48:25Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per un utente Linux alle prime armi la compilazione di un software dai codici sorgenti può rappresentare un ostacolo un po' difficile. La compilazione di [[Gambas]], poi, può risultare molto ostica a causa delle numerose dipendenze che devono essere risolte per poter compilare tutti i suoi moduli. Molto più facile, quindi, attingere dai repository (i canali software) ufficiali della propria distribuzione, dentro i quali si trovano programmi in formato binario già compilati e pronti per l'installazione con pochi, semplici click o comandi da terminale.&lt;br /&gt;
&lt;br /&gt;
Il problema dei repository, però, è che nel caso di software poco diffusi le versioni presenti non sono quasi mai le più recenti disponibili. Questo è anche, purtroppo, il caso di Gambas: a causa della sua scarsa diffusione e delle già citate numerose dipendenze, molte distribuzioni tendono ad offrire una versione alquanto datata del programma. Ovviamente, più la versione è recente e più sarà esente da bug e con più caratteristiche integrate.&lt;br /&gt;
&lt;br /&gt;
La seguente tabella cerca di dare una panoramica la più ampia possibile sulle versioni di Gambas presenti nei repository ufficiali di numerose distribuzioni, in modo tale da offrire la possibilità a chi non vuole compilare da sorgenti di poter scegliere la distribuzione da installare anche in base a questo fattore.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!Distribuzione&lt;br /&gt;
!Versione presente&amp;lt;br&amp;gt;nei repository&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.archlinux.it/ ArchLinux]&lt;br /&gt;
|2.16.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.archlinux.it/ ArchLinux]&lt;br /&gt;
|Gambas2 SVN&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.centos.org/ CentOS 5]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Etch]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Squeeze]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Lerry]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Sid]&lt;br /&gt;
|2.10.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.gnewsense.org/ gNewSense]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009 x86_64]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.opensuse.org/ openSUSE 11.1]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.pclinuxos.com/ PCLinuxOS 2007]&lt;br /&gt;
|2.9&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slackware.com/ SlackWare 12.2]&lt;br /&gt;
|2.12.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slax.org/ Slax]&lt;br /&gt;
|1.9.50&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.04]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.10]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 9.04]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.zenwalk.org/ ZenWalk 6.0]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1991</id>
		<title>Gambas nei repository ufficiali</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1991"/>
		<updated>2009-06-27T13:19:39Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per un utente Linux alle prime armi la compilazione di un software dai codici sorgenti può rappresentare un ostacolo un po' difficile. La compilazione di [[Gambas]], poi, può risultare molto ostica a causa delle numerose dipendenze che devono essere risolte per poter compilare tutti i suoi moduli. Molto più facile, quindi, attingere dai repository (i canali software) ufficiali della propria distribuzione, dentro i quali si trovano programmi in formato binario già compilati e pronti per l'installazione con pochi, semplici click o comandi da terminale.&lt;br /&gt;
&lt;br /&gt;
Il problema dei repository, però, è che nel caso di software poco diffusi le versioni presenti non sono quasi mai le più recenti disponibili. Questo è anche, purtroppo, il caso di Gambas: a causa della sua scarsa diffusione e delle già citate numerose dipendenze, molte distribuzioni tendono ad offrire una versione alquanto datata del programma. Ovviamente, più la versione è recente e più sarà esente da bug e con più caratteristiche integrate.&lt;br /&gt;
&lt;br /&gt;
La seguente tabella cerca di dare una panoramica la più ampia possibile sulle versioni di Gambas presenti nei repository ufficiali di numerose distribuzioni, in modo tale da offrire la possibilità a chi non vuole compilare da sorgenti di poter scegliere la distribuzione da installare anche in base a questo fattore.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!Distribuzione&lt;br /&gt;
!Versione presente&amp;lt;br&amp;gt;nei repository&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.archlinux.it/ ArchLinux]&lt;br /&gt;
|2.13.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.archlinux.it/ ArchLinux]&lt;br /&gt;
|Gambas2 SVN&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.centos.org/ CentOS 5]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Etch]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Squeeze]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Lerry]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Sid]&lt;br /&gt;
|2.10.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.gnewsense.org/ gNewSense]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009 x86_64]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.opensuse.org/ openSUSE 11.1]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.pclinuxos.com/ PCLinuxOS 2007]&lt;br /&gt;
|2.9&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slackware.com/ SlackWare 12.2]&lt;br /&gt;
|2.12.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slax.org/ Slax]&lt;br /&gt;
|1.9.50&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.04]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.10]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 9.04]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.zenwalk.org/ ZenWalk 6.0]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas&amp;diff=1971</id>
		<title>Gambas</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas&amp;diff=1971"/>
		<updated>2009-04-29T20:56:54Z</updated>

		<summary type="html">&lt;p&gt;Leo72: /* Il linguaggio Gambas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Gambas''' è un potente ambiente per lo sviluppo di applicazioni per piattaforme *nix basato sul linguaggio [[BASIC]] con estensione agli oggetti. Gambas indica al contempo sia l'[[IDE]] (Integrated Development Environment), vale a dire l'ambiente di sviluppo, sia il linguaggio stesso. L'interprete di Gambas è scritto in C/C++ ma tutto l'[[IDE]] è scritto in Gambas. Gambas gira sia su sistemi a 32 che a 64 bit.&lt;br /&gt;
&lt;br /&gt;
Con Gambas è possibile realizzare applicazioni ''stand-alone'' con [[GUI]] basate su [[GTK]] o [[Qt]], accedere ai database MySQL, PostgreSQL, Firebird, ODBC ed SQLite, pilotare le applicazioni KDE con DCOP, realizzare applicazioni 3D con OpenGL ed anche applicazioni web basate su CGI. E' inoltre possibile tradurre i propri progetti per renderli internazionali.&lt;br /&gt;
&lt;br /&gt;
== Nascita di Gambas ==&lt;br /&gt;
Gambas è opensource ed è nato nel 1999 dalla mente di '''[[Benoit Minisini]]'''.&lt;br /&gt;
&lt;br /&gt;
L'idea era quella di realizzare un ambiente di sviluppo per Linux che fosse facile ed immediato e con alla base un linguaggio di programmazione semplice ma potente. Decise quindi di ispirarsi al Visual Basic di Microsoft per quanto concerneva l'ambiente di sviluppo ed al Java per le classi e gli oggetti e per l'organizzazione dei file; come linguaggio fu scelto il [[BASIC]], sia per la sua semplicità sia perché era stato il primo linguaggio imparato da Minisini. &lt;br /&gt;
&lt;br /&gt;
Rimaneva da scegliere il nome di questo nuovo ambiente. Come spiega il &amp;quot;padre&amp;quot; di Gambas, negli anni Novanta andava di moda chiamare i nuovi linguaggi di programmazione con nomi di animali: Python (in realtà il nome del Python deriva dal gruppo comico inglese &amp;quot;Monthy Python&amp;quot; ma, oggi, tutti tendono ad identificare questo linguaggio con l'omonimo serpente), Camel, Bonobo, ecc... Minisini ricercava anche un acronimo che fosse ricorsivo con l'idea alla base di Gambas, cioè quella di un linguaggio molto simile al BASIC. Fu scelto perciò '''GAMBAS''', che in spagnolo significa ''Gambero'' (ecco quindi l'animale) ma che è anche l'acronimo di '''Gambas Almost Means BASic''' (Gambas più o meno significa BASIC).&lt;br /&gt;
&lt;br /&gt;
E' doverosa una puntualizzazione. Anche se molto spesso si tende ad indicare la similitudine con il ''Microsoft Visual Basic'' per spiegare ai profani a cosa più assomiglia, Gambas non è un clone di questo linguaggio e le applicazioni dell'uno non possono girare sull'altro: i punti di contatto sono limitati al linguaggio di base.&lt;br /&gt;
&lt;br /&gt;
== Linguaggio pseudo-compilato ==&lt;br /&gt;
Gambas non è un linguaggio compilato come il C, dove l'eseguibile viene creato durante la compilazione del sorgente, ma non è neanche un linguaggio interpretato come il vecchio [[BASIC]], dove ogni istruzione viene analizzata ed eseguita via via che il flusso dell'elaborazione attraversa il listato del codice. Gambas può creare dei cosiddetti &amp;quot;eseguibili&amp;quot;, che altro non sono che archivi non compressi contenenti l'applicazione scritta in Gambas convertita in ''byte-code'', uno pseudo codice a metà fra il linguaggio macchina puro ed il codice originale scritto in Gambas, che l'interprete Gambas può eseguire più velocemente rispetto ad una interpretazione del codice comando per comando. Questo modo di operare è comune ad altri linguaggi, ad esempio Python o Ruby: anch'essi traducono il codice sorgente in byte-code la prima volta che viene eseguito il programma, in modo da avere la versione &amp;quot;più veloce&amp;quot; pronta per le successive esecuzioni.&lt;br /&gt;
&lt;br /&gt;
== Architettura ==&lt;br /&gt;
L'architettura di Gambas è largamente ispirata da quella di Java. Gambas è costituito da&lt;br /&gt;
* un compilatore;&lt;br /&gt;
* un interprete;&lt;br /&gt;
* un archiviatore;&lt;br /&gt;
* uno scripter;&lt;br /&gt;
* un ambiente di sviluppo;&lt;br /&gt;
* molti componenti per estendere il linguaggio.&lt;br /&gt;
&lt;br /&gt;
=== Il compilatore ===&lt;br /&gt;
Il '''compilatore''' è un eseguibile scritto in C. E' capace di compilare circa 128.000 linee di codice in un secondo su un AMD Athlon 2000+. Questa velocità permette un processo di sviluppo molto rapido perché si riduce il tempo di test rispetto a linguaggi prettamente compilati come il C. Il compilatore è capace di gestire e compilare le stringhe di traduzione per l'internazionalizzazione dei progetti grazie a strumenti quali gettext.&lt;br /&gt;
Il compilatore crea un file composto da bytecode, uno speciale codice a metà fra Gambas ed il codice macchina puro, più veloce da eseguire rispetto al linguaggio di partenza.&lt;br /&gt;
&lt;br /&gt;
=== L'interprete ===&lt;br /&gt;
L''''interprete''' è un piccolo eseguibile (meno di 190 KB) scritto anch'esso in C. Esso carica le classi quando richiesto, ottimizzando il bytecode la prima volta che viene eseguito. Il link fra le classi viene eseguito interamente durante l'esecuzione del codice solo nel momento del reale utilizzo: in questo modo anche grandi eseguibili si avviano molto rapidamente.&lt;br /&gt;
&lt;br /&gt;
=== L'archiviatore ===&lt;br /&gt;
L''''archiviatore''' è un programma che crea gli eseguibili Gambas partendo dalla cartella del progetto. Da notare che un eseguibile Gambas non è altro che un archivio non compresso che può contenente qualunque tipo di file, non solo il bytecode compilato. Internamente l'interprete accede all'archivio come se fosse un filesystem.&lt;br /&gt;
&lt;br /&gt;
Gambas è un linguaggio tipizzato fortemente e staticamente: ciò significa che il controllo sui tipi delle variabili è eseguito in fase di compilazione e che il tipo di dati che una variabile conterrà non può essere modificato in fase di esecuzione. &lt;br /&gt;
&lt;br /&gt;
Gambas è composto da circa 250 parole chiave e funzioni predefinite per gestire operazioni aritmetiche, manipolare stringhe, input ed output, file, date ed orari, ecc... Offre un gestore completo degli errori, un pieno controllo del processo con gestione tramite pseudo-terminale, pieno supporto all'internazionalizzazione delle applicazioni, possibilità di richiamare funzioni esterne.&lt;br /&gt;
&lt;br /&gt;
Gambas è anche un linguaggio pienamente orientato agli oggetti. Gestisce infatti:&lt;br /&gt;
* classi ed oggetti;&lt;br /&gt;
* proprietà, metodi, costanti ed eventi;&lt;br /&gt;
* simboli pubblici e privati;&lt;br /&gt;
* polimorfismo;&lt;br /&gt;
* ereditarietà;&lt;br /&gt;
* costruttori e distruttori;&lt;br /&gt;
* enumeratori ed oggetti ordinabili.&lt;br /&gt;
&lt;br /&gt;
Il meccanismo dell'ereditarietà di Gambas è interamente dinamico e permette di:&lt;br /&gt;
* creare una versione più specializzata di una classe già esistente;&lt;br /&gt;
* reimplementare una classe ed estenderla;&lt;br /&gt;
* effettuare l'overload di metodi o proprietà di una classe.&lt;br /&gt;
&lt;br /&gt;
Qualunque classe può essere ereditata e reimplementata o ne può essere gestito l'overload, anche le classi native scritte in C/C++.&lt;br /&gt;
&lt;br /&gt;
Infine, una classe nativa denominata Observer permette di intercettare qualunque evento sollevato da un oggetto.&lt;br /&gt;
&lt;br /&gt;
== Problemi noti ==&lt;br /&gt;
Gambas non permette di dichiarare dati enumerabili e non supporta le strutture di dati. Inoltre il componente GTK+ non è ancora completamente terminato per cui l'indipendenza grafica dei progetti non è ancora completa.&lt;br /&gt;
&lt;br /&gt;
== Licenza ==&lt;br /&gt;
Gambas è rilasciato sotto licenza '''Gnu GPL'''.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas&amp;diff=1970</id>
		<title>Gambas</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas&amp;diff=1970"/>
		<updated>2009-04-29T20:45:16Z</updated>

		<summary type="html">&lt;p&gt;Leo72: /* Architettura */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Gambas''' è un potente ambiente per lo sviluppo di applicazioni per piattaforme *nix basato sul linguaggio [[BASIC]] con estensione agli oggetti. Gambas indica al contempo sia l'[[IDE]] (Integrated Development Environment), vale a dire l'ambiente di sviluppo, sia il linguaggio stesso. L'interprete di Gambas è scritto in C/C++ ma tutto l'[[IDE]] è scritto in Gambas. Gambas gira sia su sistemi a 32 che a 64 bit.&lt;br /&gt;
&lt;br /&gt;
Con Gambas è possibile realizzare applicazioni ''stand-alone'' con [[GUI]] basate su [[GTK]] o [[Qt]], accedere ai database MySQL, PostgreSQL, Firebird, ODBC ed SQLite, pilotare le applicazioni KDE con DCOP, realizzare applicazioni 3D con OpenGL ed anche applicazioni web basate su CGI. E' inoltre possibile tradurre i propri progetti per renderli internazionali.&lt;br /&gt;
&lt;br /&gt;
== Nascita di Gambas ==&lt;br /&gt;
Gambas è opensource ed è nato nel 1999 dalla mente di '''[[Benoit Minisini]]'''.&lt;br /&gt;
&lt;br /&gt;
L'idea era quella di realizzare un ambiente di sviluppo per Linux che fosse facile ed immediato e con alla base un linguaggio di programmazione semplice ma potente. Decise quindi di ispirarsi al Visual Basic di Microsoft per quanto concerneva l'ambiente di sviluppo ed al Java per le classi e gli oggetti e per l'organizzazione dei file; come linguaggio fu scelto il [[BASIC]], sia per la sua semplicità sia perché era stato il primo linguaggio imparato da Minisini. &lt;br /&gt;
&lt;br /&gt;
Rimaneva da scegliere il nome di questo nuovo ambiente. Come spiega il &amp;quot;padre&amp;quot; di Gambas, negli anni Novanta andava di moda chiamare i nuovi linguaggi di programmazione con nomi di animali: Python (in realtà il nome del Python deriva dal gruppo comico inglese &amp;quot;Monthy Python&amp;quot; ma, oggi, tutti tendono ad identificare questo linguaggio con l'omonimo serpente), Camel, Bonobo, ecc... Minisini ricercava anche un acronimo che fosse ricorsivo con l'idea alla base di Gambas, cioè quella di un linguaggio molto simile al BASIC. Fu scelto perciò '''GAMBAS''', che in spagnolo significa ''Gambero'' (ecco quindi l'animale) ma che è anche l'acronimo di '''Gambas Almost Means BASic''' (Gambas più o meno significa BASIC).&lt;br /&gt;
&lt;br /&gt;
E' doverosa una puntualizzazione. Anche se molto spesso si tende ad indicare la similitudine con il ''Microsoft Visual Basic'' per spiegare ai profani a cosa più assomiglia, Gambas non è un clone di questo linguaggio e le applicazioni dell'uno non possono girare sull'altro: i punti di contatto sono limitati al linguaggio di base.&lt;br /&gt;
&lt;br /&gt;
== Linguaggio pseudo-compilato ==&lt;br /&gt;
Gambas non è un linguaggio compilato come il C, dove l'eseguibile viene creato durante la compilazione del sorgente, ma non è neanche un linguaggio interpretato come il vecchio [[BASIC]], dove ogni istruzione viene analizzata ed eseguita via via che il flusso dell'elaborazione attraversa il listato del codice. Gambas può creare dei cosiddetti &amp;quot;eseguibili&amp;quot;, che altro non sono che archivi non compressi contenenti l'applicazione scritta in Gambas convertita in ''byte-code'', uno pseudo codice a metà fra il linguaggio macchina puro ed il codice originale scritto in Gambas, che l'interprete Gambas può eseguire più velocemente rispetto ad una interpretazione del codice comando per comando. Questo modo di operare è comune ad altri linguaggi, ad esempio Python o Ruby: anch'essi traducono il codice sorgente in byte-code la prima volta che viene eseguito il programma, in modo da avere la versione &amp;quot;più veloce&amp;quot; pronta per le successive esecuzioni.&lt;br /&gt;
&lt;br /&gt;
== Architettura ==&lt;br /&gt;
L'architettura di Gambas è largamente ispirata da quella di Java. Gambas è costituito da&lt;br /&gt;
* un compilatore;&lt;br /&gt;
* un interprete;&lt;br /&gt;
* un archiviatore;&lt;br /&gt;
* uno scripter;&lt;br /&gt;
* un ambiente di sviluppo;&lt;br /&gt;
* molti componenti per estendere il linguaggio.&lt;br /&gt;
&lt;br /&gt;
=== Il compilatore ===&lt;br /&gt;
Il '''compilatore''' è un eseguibile scritto in C. E' capace di compilare circa 128.000 linee di codice in un secondo su un AMD Athlon 2000+. Questa velocità permette un processo di sviluppo molto rapido perché si riduce il tempo di test rispetto a linguaggi prettamente compilati come il C. Il compilatore è capace di gestire e compilare le stringhe di traduzione per l'internazionalizzazione dei progetti grazie a strumenti quali gettext.&lt;br /&gt;
Il compilatore crea un file composto da bytecode, uno speciale codice a metà fra Gambas ed il codice macchina puro, più veloce da eseguire rispetto al linguaggio di partenza.&lt;br /&gt;
&lt;br /&gt;
=== L'interprete ===&lt;br /&gt;
L''''interprete''' è un piccolo eseguibile (meno di 190 KB) scritto anch'esso in C. Esso carica le classi quando richiesto, ottimizzando il bytecode la prima volta che viene eseguito. Il link fra le classi viene eseguito interamente durante l'esecuzione del codice solo nel momento del reale utilizzo: in questo modo anche grandi eseguibili si avviano molto rapidamente.&lt;br /&gt;
&lt;br /&gt;
=== L'archiviatore ===&lt;br /&gt;
L''''archiviatore''' è un programma che crea gli eseguibili Gambas partendo dalla cartella del progetto. Da notare che un eseguibile Gambas non è altro che un archivio non compresso che può contenente qualunque tipo di file, non solo il bytecode compilato. Internamente l'interprete accede all'archivio come se fosse un filesystem.&lt;br /&gt;
&lt;br /&gt;
== Il linguaggio Gambas ==&lt;br /&gt;
Il linguaggio BASIC di Gambas è composto da circa 250 parole chiave e funzioni predefinite per gestire operazioni aritmetiche, manipolazioni di stringhe, input ed output, file, date ed orari, ecc... Offre un gestore completo degli errori, un pieno controllo del processo con gestione tramite pseudo-terminale, pieno supporto all'internazionalizzazione delle applicazioni, possibilità di richiamare funzioni esterne.&lt;br /&gt;
&lt;br /&gt;
Gambas è anche un linguaggio pienamente orientato agli oggetti. Gestisce infatti:&lt;br /&gt;
* classi ed oggetti;&lt;br /&gt;
* proprietà, metodi, costanti ed eventi;&lt;br /&gt;
* simboli pubblici e privati;&lt;br /&gt;
* polimorfismo;&lt;br /&gt;
* ereditarietà;&lt;br /&gt;
* costruttori e distruttori;&lt;br /&gt;
* enumeratori ed oggetti ordinabili.&lt;br /&gt;
&lt;br /&gt;
Il meccanismo dell'ereditarietà di Gambas è interamente dinamico e permette di:&lt;br /&gt;
* creare una versione più specializzata di una classe già esistente;&lt;br /&gt;
* reimplementare una classe ed estenderla;&lt;br /&gt;
* effettuare l'overload di metodi o proprietà di una classe.&lt;br /&gt;
&lt;br /&gt;
Qualunque classe può essere ereditata, reimplementata o gestito l'overload, anche le classi native scritte in C/C++.&lt;br /&gt;
&lt;br /&gt;
Infine, una classe nativa denominata Observer permette di intercettare qualunque evento sollevato da un oggetto.&lt;br /&gt;
&lt;br /&gt;
== Problemi noti ==&lt;br /&gt;
Gambas non permette di dichiarare dati enumerabili e non supporta le strutture di dati. Inoltre il componente GTK+ non è ancora completamente terminato per cui l'indipendenza grafica dei progetti non è ancora completa.&lt;br /&gt;
&lt;br /&gt;
== Licenza ==&lt;br /&gt;
Gambas è rilasciato sotto licenza '''Gnu GPL'''.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1969</id>
		<title>Gambas nei repository ufficiali</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1969"/>
		<updated>2009-04-29T08:58:33Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per un utente Linux alle prime armi la compilazione di un software dai codici sorgenti può rappresentare un ostacolo un po' difficile. La compilazione di [[Gambas]], poi, può risultare molto ostica a causa delle numerose dipendenze che devono essere risolte per poter compilare tutti i suoi moduli. Molto più facile, quindi, attingere dai repository (i canali software) ufficiali della propria distribuzione, dentro i quali si trovano programmi in formato binario già compilati e pronti per l'installazione con pochi, semplici click o comandi da terminale.&lt;br /&gt;
&lt;br /&gt;
Il problema dei repository, però, è che nel caso di software poco diffusi le versioni presenti non sono quasi mai le più recenti disponibili. Questo è anche, purtroppo, il caso di Gambas: a causa della sua scarsa diffusione e delle già citate numerose dipendenze, molte distribuzioni tendono ad offrire una versione alquanto datata del programma. Ovviamente, più la versione è recente e più sarà esente da bug e con più caratteristiche integrate.&lt;br /&gt;
&lt;br /&gt;
La seguente tabella cerca di dare una panoramica la più ampia possibile sulle versioni di Gambas presenti nei repository ufficiali di numerose distribuzioni, in modo tale da offrire la possibilità a chi non vuole compilare da sorgenti di poter scegliere la distribuzione da installare anche in base a questo fattore.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!Distribuzione&lt;br /&gt;
!Versione presente&amp;lt;br&amp;gt;nei repository&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.archlinux.org/ ArchLinux]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.centos.org/ CentOS 5]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Etch]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Squeeze]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Lerry]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Sid]&lt;br /&gt;
|2.10.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.gnewsense.org/ gNewSense]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009 x86_64]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.opensuse.org/ openSUSE 11.1]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.pclinuxos.com/ PCLinuxOS 2007]&lt;br /&gt;
|2.9&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slackware.com/ SlackWare 12.2]&lt;br /&gt;
|2.12.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slax.org/ Slax]&lt;br /&gt;
|1.9.50&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.04]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.10]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 9.04]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.zenwalk.org/ ZenWalk 6.0]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=WHILE...WEND&amp;diff=1967</id>
		<title>WHILE...WEND</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=WHILE...WEND&amp;diff=1967"/>
		<updated>2009-04-18T21:26:38Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; '''WHILE''' ''condizione''&lt;br /&gt;
   &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; &lt;br /&gt;
 '''WEND'''&lt;br /&gt;
&lt;br /&gt;
''' Ripete un ciclo fino a quando ''condizione'' risulta vero.''' Se però ''condizione'' risulta falso fin dall'inizio, il ciclo non viene mai eseguito. Questo comportamento è differente da quello di [[REPEAT...UNTIL]].&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 1'' - '''Ciclo semplice'''&lt;br /&gt;
&lt;br /&gt;
 DIM variabile AS Integer&lt;br /&gt;
 variabile = 1&lt;br /&gt;
 '''WHILE variabile &amp;lt; 10'''&lt;br /&gt;
   Message.Info(&amp;quot;Numero: &amp;quot; &amp;amp; Str$(variabile))&lt;br /&gt;
   variabile += 1&lt;br /&gt;
 '''WEND''' &lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
	&lt;br /&gt;
Per ogni valore da 0 a 9 che può assumere variabile, mostra il messaggio &amp;quot;Numero&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Esempio 2'' - '''Cicli nidificati'''&lt;br /&gt;
&lt;br /&gt;
 DIM variabile1 AS Integer&lt;br /&gt;
 DIM variabile2 AS Integer&lt;br /&gt;
 DIM variabile3 AS Integer&lt;br /&gt;
 variabile1 = 0&lt;br /&gt;
 variabile2 = 0&lt;br /&gt;
 variabile3 = 0&lt;br /&gt;
 '''WHILE variabile1 &amp;lt; 10'''&lt;br /&gt;
   '''WHILE variabile2 &amp;lt; 10'''&lt;br /&gt;
     '''WHILE variabile3 &amp;lt; 10'''&lt;br /&gt;
       Message.Info(&amp;quot;Variabile1: &amp;quot; &amp;amp; Str$(variabile1) &amp;amp; &amp;quot;Variabile2: &amp;quot; &amp;amp; Str$(variabile2) &amp;amp; &amp;quot;Variabile3: &amp;quot; &amp;amp; Str$(variabile3))&lt;br /&gt;
     variabile3 += 1&lt;br /&gt;
     '''WEND''' &lt;br /&gt;
   variabile2 += 1&lt;br /&gt;
   '''WEND'''&lt;br /&gt;
 variabile1 += 1&lt;br /&gt;
 '''WEND'''&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
	&lt;br /&gt;
All'inizio tutte le variabili vengono impostate a 0. Su ognuna di esse si esegue un ciclo, nel quale attraversa tutti i valori dallo 0 al 9, quando raggiunge il 10 il ciclo termina. La prima ad attraversare un ciclo completo è la variabile3, che è protagonista del ciclo più interno. Quando il ciclo termina, variabile2 viene incrementata a 1 e variabile3 ricomincia il ciclo. E così via finchè variabile2 supera il valore 9 e variabile1 viene incrementata a 1. E tutto ricomincia. Questi 3 cicli annidati generano 100 combinazioni di valori.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Esempio 3'' - '''Uscita anticipata'''&lt;br /&gt;
&lt;br /&gt;
 DIM i AS Integer&lt;br /&gt;
 i = 0&lt;br /&gt;
 WHILE i &amp;lt; 10&lt;br /&gt;
   IF i = 5 THEN BREAK&lt;br /&gt;
   i += 1&lt;br /&gt;
 WEND&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
	&lt;br /&gt;
Apparentemente, questo è un ciclo che si ripete fino a quando la variabile i raggiunge il valore 10. In pratica però, ad ogni ciclo il programma si chiede se il valore è uguale a 5; quando questo valore viene raggiunto, esce dal ciclo.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Esempio 4'' - '''TRUE come condizione'''&lt;br /&gt;
&lt;br /&gt;
 DIM i AS Integer&lt;br /&gt;
 i = 0&lt;br /&gt;
 WHILE TRUE&lt;br /&gt;
   IF i = 10 THEN BREAK&lt;br /&gt;
   i += 1&lt;br /&gt;
 WEND&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
	&lt;br /&gt;
Nell'esempio ''condizione'' risulta ovviamente sempre vera, generando virtualmente un ciclo infinito. E' la IF a far uscire il programma dal ciclo quando i risulta uguale a 10.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Esempio 5'' - '''FALSE come condizione'''&lt;br /&gt;
&lt;br /&gt;
 DIM i AS Integer&lt;br /&gt;
 DIM j AS Integer&lt;br /&gt;
 i = 0&lt;br /&gt;
 WHILE FALSE&lt;br /&gt;
   i += 1&lt;br /&gt;
   j = i&lt;br /&gt;
 WEND&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
	&lt;br /&gt;
Nell'esempio ''condizione'' risulta ovviamente sempre falsa, di conseguenza il ciclo non verrà mai eseguito. Tale accorgimento si utilizza a volte per scopi di debug, per osservare cosa accade se una determinata porzione di codice non viene eseguita. In altri contesti non ha alcun senso.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=IF...THEN...ELSE...ENDIF&amp;diff=1966</id>
		<title>IF...THEN...ELSE...ENDIF</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=IF...THEN...ELSE...ENDIF&amp;diff=1966"/>
		<updated>2009-04-17T16:53:37Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; DIM variabile AS Integer&lt;br /&gt;
    FOR variabile = 1 TO 10&lt;br /&gt;
       '''IF''' ''variabile'' = 5 '''THEN'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
       '''ELSE'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
       '''ENDIF''' &lt;br /&gt;
    NEXT&lt;br /&gt;
''' Esegue una verifica condizionale.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un altro mattone fondamentale nella scrittura del codice è l’istruzione '''IF…THEN…ELSE''' (letteralmente se…allora…altrimenti).&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Per variabile che va’ da 1 a 10 se il valore di variabile è uguale a 5 esegue &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt; altrimenti esegue  &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt; quindi procede con il prossimo valore di variabile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 1'' - '''Verifica condizionale immediata'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In questo caso &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; sarà un'istruzione semplice ed immediata (un assegnazione di un valore ad una variabile, un uscita dal programma, una chiamata di un funzione).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 2'' - '''Verifica condizionale complessa'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In questo caso &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; può essere anche di natura complessa (cicli For..Next, ulteriori istruzioni If..Then, ecc.).&lt;br /&gt;
L'istruzione ENDIF comunica al sistema la &amp;quot;chiusura&amp;quot; della verifica condizionale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 3'' - '''Verifica condizionale logica'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Nell'esempio è stata adottata una verifica logica, ovvero che può avere solo due condizioni: se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;, altrimenti esegui &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 4'' - '''Verifica condizionale multipla'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE IF variabile1 &amp;lt; variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE IF variabile1 &amp;gt; variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 4&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Nell'esempio è stata adottata una verifica multipla, ovvero il controllo su molteplici condizioni:&lt;br /&gt;
  1) se il valore di variabile1 è uguale a variabile2 esegui &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  2) se il valore di variabile1 è minore di variabile2 esegui &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  3) se il valore di variabile1 è maggiore di variabile2 esegui &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  4) esegui &amp;lt;&amp;lt;vostro codice 4&amp;gt;&amp;gt;.&lt;br /&gt;
Questo tipo di verifica permette di eseguire decisioni su più possibilità (se previste); nel caso nessuna sia valida, verrà eseguito il codice dopo l'ultimo ELSE.&lt;br /&gt;
----&lt;br /&gt;
La sintassi prevede anche la possibilità di concatenare più IF per la stessa condizione:&lt;br /&gt;
&lt;br /&gt;
''Esempio 5'' - '''Verifica condizionale con concatenamento AND'''&lt;br /&gt;
&lt;br /&gt;
 IF &amp;lt;condizione 1&amp;gt; AND IF &amp;lt;condizione 2&amp;gt; THEN&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 END IF&lt;br /&gt;
&lt;br /&gt;
''Esempio 6'' - '''Verifica condizionale con concatenamento OR'''&lt;br /&gt;
&lt;br /&gt;
 IF &amp;lt;condizione 1&amp;gt; OR IF &amp;lt;condizione 2&amp;gt; THEN&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 END IF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Questo tipo di sintassi viene in aiuto nel caso si debba eseguire lo stesso codice (evitare sempre le duplicazioni!); le condizioni non vengono valutate tutte prima del risultato, ma solo una per volta, da sinistra verso destra, e la successiva solo se la precedente ritorna un valore logico positivo:&lt;br /&gt;
&lt;br /&gt;
''esempio 5:'' verifica &amp;lt;condizione 1&amp;gt; e, se vera, verifica &amp;lt;condizione 2&amp;gt;, se vera anche questa esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''esempio 6:'' verifica &amp;lt;condizione 1&amp;gt; e, se vera esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;, altrimenti verifica &amp;lt;condizione 2&amp;gt;, se vera questa esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'unico problema, almeno per ora, è che le IF devono stare tutte sulla stessa riga, in caso contrario si verificherà un errore di compilazione.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le possibile scelte condizionali che offre l’istruzione IF…THEN sono:&lt;br /&gt;
&lt;br /&gt;
'''=''' uguale (variabile1 = variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' maggiore (variabile1 &amp;gt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;''' minore (variabile1 &amp;lt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;&amp;gt;''' diverso (variabile1 &amp;lt;&amp;gt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;=''' maggiore o uguale (variabile1 &amp;gt;= variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;=''' minore o uguale (variabile1 &amp;lt;= variabile2)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Nota:''' la sintassi '''IF...ELSE...ENDIF''' si rende necessaria quando la verifica deve essere fatta su valori, o condizioni, che possono assumere valori troppo dinamici e generici; nel caso di valori fissi viene in aiuto un'altra sintassi, che in molti casi si rende più leggibile: [[Select Case]].&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=IF...THEN...ELSE...ENDIF&amp;diff=1965</id>
		<title>IF...THEN...ELSE...ENDIF</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=IF...THEN...ELSE...ENDIF&amp;diff=1965"/>
		<updated>2009-04-17T16:53:14Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Annullate le modifiche di Leo72 (discussione), riportata alla versione precedente di Md9327&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; DIM variabile AS Integer&lt;br /&gt;
    FOR variabile = 1 TO 10&lt;br /&gt;
       '''IF''' ''variabile'' = 5 '''THEN'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
       '''ELSE'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
       '''ELSE IF'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;&lt;br /&gt;
       '''ENDIF''' &lt;br /&gt;
    NEXT&lt;br /&gt;
''' Esegue una verifica condizionale.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un altro mattone fondamentale nella scrittura del codice è l’istruzione '''IF…THEN…ELSE''' (letteralmente se…allora…altrimenti).&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Per variabile che va’ da 1 a 10 se il valore di variabile è uguale a 5 esegue &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt; altrimenti esegue  &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt; quindi procede con il prossimo valore di variabile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 1'' - '''Verifica condizionale immediata'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In questo caso &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; sarà un'istruzione semplice ed immediata (un assegnazione di un valore ad una variabile, un uscita dal programma, una chiamata di un funzione).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 2'' - '''Verifica condizionale complessa'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In questo caso &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; può essere anche di natura complessa (cicli For..Next, ulteriori istruzioni If..Then, ecc.).&lt;br /&gt;
L'istruzione ENDIF comunica al sistema la &amp;quot;chiusura&amp;quot; della verifica condizionale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 3'' - '''Verifica condizionale logica'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Nell'esempio è stata adottata una verifica logica, ovvero che può avere solo due condizioni: se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;, altrimenti esegui &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 4'' - '''Verifica condizionale multipla'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE IF variabile1 &amp;lt; variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE IF variabile1 &amp;gt; variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 4&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Nell'esempio è stata adottata una verifica multipla, ovvero il controllo su molteplici condizioni:&lt;br /&gt;
  1) se il valore di variabile1 è uguale a variabile2 esegui &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  2) se il valore di variabile1 è minore di variabile2 esegui &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  3) se il valore di variabile1 è maggiore di variabile2 esegui &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  4) esegui &amp;lt;&amp;lt;vostro codice 4&amp;gt;&amp;gt;.&lt;br /&gt;
Questo tipo di verifica permette di eseguire decisioni su più possibilità (se previste); nel caso nessuna sia valida, verrà eseguito il codice dopo l'ultimo ELSE.&lt;br /&gt;
----&lt;br /&gt;
La sintassi prevede anche la possibilità di concatenare più IF per la stessa condizione:&lt;br /&gt;
&lt;br /&gt;
''Esempio 5'' - '''Verifica condizionale con concatenamento AND'''&lt;br /&gt;
&lt;br /&gt;
 IF &amp;lt;condizione 1&amp;gt; AND IF &amp;lt;condizione 2&amp;gt; THEN&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 END IF&lt;br /&gt;
&lt;br /&gt;
''Esempio 6'' - '''Verifica condizionale con concatenamento OR'''&lt;br /&gt;
&lt;br /&gt;
 IF &amp;lt;condizione 1&amp;gt; OR IF &amp;lt;condizione 2&amp;gt; THEN&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 END IF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Questo tipo di sintassi viene in aiuto nel caso si debba eseguire lo stesso codice (evitare sempre le duplicazioni!); le condizioni non vengono valutate tutte prima del risultato, ma solo una per volta, da sinistra verso destra, e la successiva solo se la precedente ritorna un valore logico positivo:&lt;br /&gt;
&lt;br /&gt;
''esempio 5:'' verifica &amp;lt;condizione 1&amp;gt; e, se vera, verifica &amp;lt;condizione 2&amp;gt;, se vera anche questa esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''esempio 6:'' verifica &amp;lt;condizione 1&amp;gt; e, se vera esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;, altrimenti verifica &amp;lt;condizione 2&amp;gt;, se vera questa esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'unico problema, almeno per ora, è che le IF devono stare tutte sulla stessa riga, in caso contrario si verificherà un errore di compilazione.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le possibile scelte condizionali che offre l’istruzione IF…THEN sono:&lt;br /&gt;
&lt;br /&gt;
'''=''' uguale (variabile1 = variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' maggiore (variabile1 &amp;gt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;''' minore (variabile1 &amp;lt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;&amp;gt;''' diverso (variabile1 &amp;lt;&amp;gt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;=''' maggiore o uguale (variabile1 &amp;gt;= variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;=''' minore o uguale (variabile1 &amp;lt;= variabile2)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Nota:''' la sintassi '''IF...ELSE...ENDIF''' si rende necessaria quando la verifica deve essere fatta su valori, o condizioni, che possono assumere valori troppo dinamici e generici; nel caso di valori fissi viene in aiuto un'altra sintassi, che in molti casi si rende più leggibile: [[Select Case]].&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=IF...THEN...ELSE...ENDIF&amp;diff=1964</id>
		<title>IF...THEN...ELSE...ENDIF</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=IF...THEN...ELSE...ENDIF&amp;diff=1964"/>
		<updated>2009-04-17T16:52:35Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; DIM variabile AS Integer&lt;br /&gt;
    FOR variabile = 1 TO 10&lt;br /&gt;
       '''IF''' ''condizione'' '''THEN'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
       '''ELSE IF''' ''condizione''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
       '''ELSE'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;&lt;br /&gt;
       '''ENDIF''' &lt;br /&gt;
    NEXT&lt;br /&gt;
''' Esegue una verifica condizionale.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un altro mattone fondamentale nella scrittura del codice è l’istruzione '''IF…THEN…ELSE''' (letteralmente se…allora…altrimenti).&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Per variabile che va’ da 1 a 10 se il valore di variabile è uguale a 5 esegue &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt; altrimenti esegue  &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt; quindi procede con il prossimo valore di variabile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 1'' - '''Verifica condizionale immediata'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In questo caso &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; sarà un'istruzione semplice ed immediata (un assegnazione di un valore ad una variabile, un uscita dal programma, una chiamata di un funzione).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 2'' - '''Verifica condizionale complessa'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In questo caso &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; può essere anche di natura complessa (cicli For..Next, ulteriori istruzioni If..Then, ecc.).&lt;br /&gt;
L'istruzione ENDIF comunica al sistema la &amp;quot;chiusura&amp;quot; della verifica condizionale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 3'' - '''Verifica condizionale logica'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Nell'esempio è stata adottata una verifica logica, ovvero che può avere solo due condizioni: se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;, altrimenti esegui &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 4'' - '''Verifica condizionale multipla'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE IF variabile1 &amp;lt; variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE IF variabile1 &amp;gt; variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 4&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Nell'esempio è stata adottata una verifica multipla, ovvero il controllo su molteplici condizioni:&lt;br /&gt;
  1) se il valore di variabile1 è uguale a variabile2 esegui &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  2) se il valore di variabile1 è minore di variabile2 esegui &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  3) se il valore di variabile1 è maggiore di variabile2 esegui &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  4) esegui &amp;lt;&amp;lt;vostro codice 4&amp;gt;&amp;gt;.&lt;br /&gt;
Questo tipo di verifica permette di eseguire decisioni su più possibilità (se previste); nel caso nessuna sia valida, verrà eseguito il codice dopo l'ultimo ELSE.&lt;br /&gt;
----&lt;br /&gt;
La sintassi prevede anche la possibilità di concatenare più IF per la stessa condizione:&lt;br /&gt;
&lt;br /&gt;
''Esempio 5'' - '''Verifica condizionale con concatenamento AND'''&lt;br /&gt;
&lt;br /&gt;
 IF &amp;lt;condizione 1&amp;gt; AND IF &amp;lt;condizione 2&amp;gt; THEN&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 END IF&lt;br /&gt;
&lt;br /&gt;
''Esempio 6'' - '''Verifica condizionale con concatenamento OR'''&lt;br /&gt;
&lt;br /&gt;
 IF &amp;lt;condizione 1&amp;gt; OR IF &amp;lt;condizione 2&amp;gt; THEN&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 END IF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Questo tipo di sintassi viene in aiuto nel caso si debba eseguire lo stesso codice (evitare sempre le duplicazioni!); le condizioni non vengono valutate tutte prima del risultato, ma solo una per volta, da sinistra verso destra, e la successiva solo se la precedente ritorna un valore logico positivo:&lt;br /&gt;
&lt;br /&gt;
''esempio 5:'' verifica &amp;lt;condizione 1&amp;gt; e, se vera, verifica &amp;lt;condizione 2&amp;gt;, se vera anche questa esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''esempio 6:'' verifica &amp;lt;condizione 1&amp;gt; e, se vera esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;, altrimenti verifica &amp;lt;condizione 2&amp;gt;, se vera questa esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'unico problema, almeno per ora, è che le IF devono stare tutte sulla stessa riga, in caso contrario si verificherà un errore di compilazione.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le possibile scelte condizionali che offre l’istruzione IF…THEN sono:&lt;br /&gt;
&lt;br /&gt;
'''=''' uguale (variabile1 = variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' maggiore (variabile1 &amp;gt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;''' minore (variabile1 &amp;lt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;&amp;gt;''' diverso (variabile1 &amp;lt;&amp;gt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;=''' maggiore o uguale (variabile1 &amp;gt;= variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;=''' minore o uguale (variabile1 &amp;lt;= variabile2)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Nota:''' la sintassi '''IF...ELSE...ENDIF''' si rende necessaria quando la verifica deve essere fatta su valori, o condizioni, che possono assumere valori troppo dinamici e generici; nel caso di valori fissi viene in aiuto un'altra sintassi, che in molti casi si rende più leggibile: [[Select Case]].&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=IF...THEN...ELSE...ENDIF&amp;diff=1963</id>
		<title>IF...THEN...ELSE...ENDIF</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=IF...THEN...ELSE...ENDIF&amp;diff=1963"/>
		<updated>2009-04-17T16:51:33Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; DIM variabile AS Integer&lt;br /&gt;
    FOR variabile = 1 TO 10&lt;br /&gt;
       '''IF''' ''variabile'' = 5 '''THEN'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
       '''ELSE IF'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
       '''ELSE'''&lt;br /&gt;
          &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;&lt;br /&gt;
       '''ENDIF''' &lt;br /&gt;
    NEXT&lt;br /&gt;
''' Esegue una verifica condizionale.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un altro mattone fondamentale nella scrittura del codice è l’istruzione '''IF…THEN…ELSE''' (letteralmente se…allora…altrimenti).&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Per variabile che va’ da 1 a 10 se il valore di variabile è uguale a 5 esegue &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt; altrimenti esegue  &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt; quindi procede con il prossimo valore di variabile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 1'' - '''Verifica condizionale immediata'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In questo caso &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; sarà un'istruzione semplice ed immediata (un assegnazione di un valore ad una variabile, un uscita dal programma, una chiamata di un funzione).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 2'' - '''Verifica condizionale complessa'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In questo caso &amp;lt;&amp;lt;vostro codice&amp;gt;&amp;gt; può essere anche di natura complessa (cicli For..Next, ulteriori istruzioni If..Then, ecc.).&lt;br /&gt;
L'istruzione ENDIF comunica al sistema la &amp;quot;chiusura&amp;quot; della verifica condizionale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 3'' - '''Verifica condizionale logica'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Nell'esempio è stata adottata una verifica logica, ovvero che può avere solo due condizioni: se il valore di variabile1 è uguale a variabile2 allora esegui &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;, altrimenti esegui &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Esempio 4'' - '''Verifica condizionale multipla'''&lt;br /&gt;
&lt;br /&gt;
 IF variabile1 = variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE IF variabile1 &amp;lt; variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE IF variabile1 &amp;gt; variabile2 THEN &lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;&lt;br /&gt;
 ELSE&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 4&amp;gt;&amp;gt;&lt;br /&gt;
 ENDIF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Nell'esempio è stata adottata una verifica multipla, ovvero il controllo su molteplici condizioni:&lt;br /&gt;
  1) se il valore di variabile1 è uguale a variabile2 esegui &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  2) se il valore di variabile1 è minore di variabile2 esegui &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  3) se il valore di variabile1 è maggiore di variabile2 esegui &amp;lt;&amp;lt;vostro codice 3&amp;gt;&amp;gt;;&lt;br /&gt;
     altrimenti&lt;br /&gt;
  4) esegui &amp;lt;&amp;lt;vostro codice 4&amp;gt;&amp;gt;.&lt;br /&gt;
Questo tipo di verifica permette di eseguire decisioni su più possibilità (se previste); nel caso nessuna sia valida, verrà eseguito il codice dopo l'ultimo ELSE.&lt;br /&gt;
----&lt;br /&gt;
La sintassi prevede anche la possibilità di concatenare più IF per la stessa condizione:&lt;br /&gt;
&lt;br /&gt;
''Esempio 5'' - '''Verifica condizionale con concatenamento AND'''&lt;br /&gt;
&lt;br /&gt;
 IF &amp;lt;condizione 1&amp;gt; AND IF &amp;lt;condizione 2&amp;gt; THEN&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 1&amp;gt;&amp;gt;&lt;br /&gt;
 END IF&lt;br /&gt;
&lt;br /&gt;
''Esempio 6'' - '''Verifica condizionale con concatenamento OR'''&lt;br /&gt;
&lt;br /&gt;
 IF &amp;lt;condizione 1&amp;gt; OR IF &amp;lt;condizione 2&amp;gt; THEN&lt;br /&gt;
 &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
 END IF&lt;br /&gt;
&lt;br /&gt;
''Spiegazione''&lt;br /&gt;
&lt;br /&gt;
Questo tipo di sintassi viene in aiuto nel caso si debba eseguire lo stesso codice (evitare sempre le duplicazioni!); le condizioni non vengono valutate tutte prima del risultato, ma solo una per volta, da sinistra verso destra, e la successiva solo se la precedente ritorna un valore logico positivo:&lt;br /&gt;
&lt;br /&gt;
''esempio 5:'' verifica &amp;lt;condizione 1&amp;gt; e, se vera, verifica &amp;lt;condizione 2&amp;gt;, se vera anche questa esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''esempio 6:'' verifica &amp;lt;condizione 1&amp;gt; e, se vera esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;, altrimenti verifica &amp;lt;condizione 2&amp;gt;, se vera questa esegue il codice &amp;lt;&amp;lt;vostro codice 2&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'unico problema, almeno per ora, è che le IF devono stare tutte sulla stessa riga, in caso contrario si verificherà un errore di compilazione.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le possibile scelte condizionali che offre l’istruzione IF…THEN sono:&lt;br /&gt;
&lt;br /&gt;
'''=''' uguale (variabile1 = variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' maggiore (variabile1 &amp;gt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;''' minore (variabile1 &amp;lt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;&amp;gt;''' diverso (variabile1 &amp;lt;&amp;gt; variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;=''' maggiore o uguale (variabile1 &amp;gt;= variabile2)&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;=''' minore o uguale (variabile1 &amp;lt;= variabile2)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Nota:''' la sintassi '''IF...ELSE...ENDIF''' si rende necessaria quando la verifica deve essere fatta su valori, o condizioni, che possono assumere valori troppo dinamici e generici; nel caso di valori fissi viene in aiuto un'altra sintassi, che in molti casi si rende più leggibile: [[Select Case]].&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1962</id>
		<title>Gambas nei repository ufficiali</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1962"/>
		<updated>2009-04-12T22:46:42Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per un utente Linux alle prime armi la compilazione di un software dai codici sorgenti può rappresentare un ostacolo un po' difficile. La compilazione di [[Gambas]], poi, può risultare molto ostica a causa delle numerose dipendenze che devono essere risolte per poter compilare tutti i suoi moduli. Molto più facile, quindi, attingere dai repository (i canali software) ufficiali della propria distribuzione, dentro i quali si trovano programmi in formato binario già compilati e pronti per l'installazione con pochi, semplici click o comandi da terminale.&lt;br /&gt;
&lt;br /&gt;
Il problema dei repository, però, è che nel caso di software poco diffusi le versioni presenti non sono quasi mai le più recenti disponibili. Questo è anche, purtroppo, il caso di Gambas: a causa della sua scarsa diffusione e delle già citate numerose dipendenze, molte distribuzioni tendono ad offrire una versione alquanto datata del programma. Ovviamente, più la versione è recente e più sarà esente da bug e con più caratteristiche integrate.&lt;br /&gt;
&lt;br /&gt;
La seguente tabella cerca di dare una panoramica la più ampia possibile sulle versioni di Gambas presenti nei repository ufficiali di numerose distribuzioni, in modo tale da offrire la possibilità a chi non vuole compilare da sorgenti di poter scegliere la distribuzione da installare anche in base a questo fattore.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!Distribuzione&lt;br /&gt;
!Versione presente&amp;lt;br&amp;gt;nei repository&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.archlinux.org/ ArchLinux]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.centos.org/ CentOS 5]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Etch]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Squeeze]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Lerry]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Sid]&lt;br /&gt;
|2.10.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.gnewsense.org/ gNewSense]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009 x86_64]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.opensuse.org/ openSUSE 11.1]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.pclinuxos.com/ PCLinuxOS 2007]&lt;br /&gt;
|2.9&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slackware.com/ SlackWare 12.2]&lt;br /&gt;
|2.12.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slax.org/ Slax]&lt;br /&gt;
|1.9.50&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.04]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.10]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.zenwalk.org/ ZenWalk 6.0]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1961</id>
		<title>Gambas nei repository ufficiali</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1961"/>
		<updated>2009-04-12T13:40:23Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per un utente Linux alle prime armi la compilazione di un software dai codici sorgenti può rappresentare un ostacolo un po' difficile. La compilazione di [[Gambas]], poi, può risultare molto ostica a causa delle numerose dipendenze che devono essere risolte per poter compilare tutti i suoi moduli. Molto più facile, quindi, attingere dai repository (i canali software) ufficiali della propria distribuzione, dentro i quali si trovano programmi in formato binario già compilati e pronti per l'installazione con pochi, semplici click o comandi da terminale.&lt;br /&gt;
&lt;br /&gt;
Il problema dei repository, però, è che nel caso di software poco diffusi le versioni presenti non sono quasi mai le più recenti disponibili. Questo è anche, purtroppo, il caso di Gambas: a causa della sua scarsa diffusione e delle già citate numerose dipendenze, molte distribuzioni tendono ad offrire una versione alquanto datata del programma. Ovviamente, più la versione è recente e più sarà esente da bug e con più caratteristiche integrate.&lt;br /&gt;
&lt;br /&gt;
La seguente tabella cerca di dare una panoramica la più ampia possibile sulle versioni di Gambas presenti nei repository ufficiali di numerose distribuzioni, in modo tale da offrire la possibilità a chi non vuole compilare da sorgenti di poter scegliere la distribuzione da installare anche in base a questo fattore.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!Distribuzione&lt;br /&gt;
!Versione presente&amp;lt;br&amp;gt;nei repository&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.archlinux.org/ ArchLinux]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.centos.org/ CentOS 5]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Etch]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Squeeze]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Lerry]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Sid]&lt;br /&gt;
|2.10.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.gnewsense.org/ gNewSense]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009 x86_64]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.opensuse.org/ openSUSE 11.1]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.pclinuxos.com/ PCLinuxOS 2007]&lt;br /&gt;
|2.9&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slackware.com/ SlackWare]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slax.org/ Slax]&lt;br /&gt;
|1.9.50&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.04]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.10]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.zenwalk.org/ ZenWalk 6.0]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1960</id>
		<title>Gambas nei repository ufficiali</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas_nei_repository_ufficiali&amp;diff=1960"/>
		<updated>2009-04-10T09:03:51Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per un utente Linux alle prime armi la compilazione di un software dai codici sorgenti può rappresentare un ostacolo un po' difficile. La compilazione di [[Gambas]], poi, può risultare molto ostica a causa delle numerose dipendenze che devono essere risolte per poter compilare tutti i suoi moduli. Molto più facile, quindi, attingere dai repository (i canali software) ufficiali della propria distribuzione, dentro i quali si trovano programmi in formato binario già compilati e pronti per l'installazione con pochi, semplici click o comandi da terminale.&lt;br /&gt;
&lt;br /&gt;
Il problema dei repository, però, è che nel caso di software poco diffusi le versioni presenti non sono quasi mai le più recenti disponibili. Questo è anche, purtroppo, il caso di Gambas: a causa della sua scarsa diffusione e delle già citate numerose dipendenze, molte distribuzioni tendono ad offrire una versione alquanto datata del programma. Ovviamente, più la versione è recente e più sarà esente da bug e con più caratteristiche integrate.&lt;br /&gt;
&lt;br /&gt;
La seguente tabella cerca di dare una panoramica la più ampia possibile sulle versioni di Gambas presenti nei repository ufficiali di numerose distribuzioni, in modo tale da offrire la possibilità a chi non vuole compilare da sorgenti di poter scegliere la distribuzione da installare anche in base a questo fattore.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
!Distribuzione&lt;br /&gt;
!Versione presente&amp;lt;br&amp;gt;nei repository&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.archlinux.org/ ArchLinux]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.centos.org/ CentOS 5]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Etch]&lt;br /&gt;
|1.0.15&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Squeeze]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Lerry]&lt;br /&gt;
|2.7&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.debian.org/ Debian Sid]&lt;br /&gt;
|2.10.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.gnewsense.org/ gNewSense]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.mandriva.com/ Mandriva 2009 x86_64]&lt;br /&gt;
|2.8.2&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.opensuse.org/ openSUSE 11.1]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.pclinuxos.com/ PCLinuxOS 2007]&lt;br /&gt;
|2.9&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slackware.com/ SlackWare]&lt;br /&gt;
|2.11.1&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.slax.org/ Slax]&lt;br /&gt;
|1.9.50&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.04]&lt;br /&gt;
|2.0&lt;br /&gt;
|+&lt;br /&gt;
|[http://www.ubuntu.com/ Ubuntu 8.10]&lt;br /&gt;
|2.7&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=BASIC&amp;diff=1959</id>
		<title>BASIC</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=BASIC&amp;diff=1959"/>
		<updated>2009-04-03T10:16:15Z</updated>

		<summary type="html">&lt;p&gt;Leo72: /* Storia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Il '''BASIC''', acronimo di ''Beginner's All purpose Symbolic Instruction Code'' (&amp;quot;Codice di istruzioni simboliche di uso generale per principianti&amp;quot;) è il più noto linguaggio di programmazione per computer.&lt;br /&gt;
&lt;br /&gt;
==Storia==&lt;br /&gt;
Lo sviluppo del BASIC iniziò nel 1963 all'Università di Dartmouth (Dartmouth College) ad opera dei professori John George Kemeny e Thomas Eugene Kurtzper il calcolatore ''GE-265''. Il linguaggio era basato parzialmente sul ''Fortran II'' e sull'''Algol 60''.&lt;br /&gt;
Il 1° Maggio 1964 alle ore 4:00 girò il primo programma. &lt;br /&gt;
&lt;br /&gt;
Il BASIC come lo intesero i suoi sviluppatori (indicato come '''Dartmouth BASIC''') era basato su alcuni principi: doveva essere facile da imparare, doveva essere un linguaggio di uso generale, doveva essere interattivo, doveva fornire facili messaggi di errore, doveva essere usabile anche da esperti tramite caratteristiche avanzate, non doveva richiedere la conoscenza dell'hardware e doveva &amp;quot;isolare&amp;quot; l'utente dal sistema operativo. Grazie al fatto che non era legato all'hardware della macchina su cui fu sviluppato, il BASIC si diffuse presto anche su altri computer. &lt;br /&gt;
&lt;br /&gt;
Nato come linguaggio compilato, ne furono rilasciate versioni anche interpretate: alcune di queste ultime riscossero nel tempo molta fortuna e godettero di tantissima notorietà. Una delle più famose versioni fu sviluppata da ''Bill Gates'', ''Paul Allenn'' e ''Monte Davidoff'' per i computer '''Altair 8800''' nel 1975: l''''AltairBASIC''', nato da una sfida personale dello stesso Gates che voleva riuscire a far girare lo stesso su quella macchina dotata di pochissima memoria un interprete BASIC, occupava solo 4 KB. Dall'AltairBASIC nacque il BASIC che accompagnò il sistema operativo MS-DOS della neonata ''Microsoft'', il '''GW-BASIC'''. Negli anni dei primi microcomputers domestici, ogni costruttore (Commodore, Spectrum, MSX, Atari ecc..) integrava nel firmware dei suoi prodotti un interprete BASIC. &lt;br /&gt;
&lt;br /&gt;
A metà anni '80 la diffusione dei personal computer basati sul DOS portò ad una paritaria diffusione del GW-BASIC e del suo equivalente '''BASICA''', una versione modificata da IBM del GW-BASIC integrata nel suo PC-DOS. &lt;br /&gt;
&lt;br /&gt;
Ma il GW-BASIC soffrira sotto il lato prestazionale, essendo un linguaggio interpretato, ed il successo di linguaggi compilati come il Turbo Pascal ed il Cobol spinse i sostenitori del BASIC a ritornare alle origini ripresentando versioni compilate del linguaggio, come il '''QuickBASIC''' di Microsoft o il '''TurboBASIC''' di Borland.&lt;br /&gt;
&lt;br /&gt;
Negli anni '90 il BASIC si è evoluto come linguaggio strutturato orientato agli oggetti, dando come risultato ambienti di sviluppo quali il '''Visual Basic''', forse il più diffuso ambiente di sviluppo per sistemi Microsoft, il '''RealBasic''', ambiente multipiattaforma, ed il '''[[Gambas]]''', che delizia gli utenti dei sistemi Linux.&lt;br /&gt;
&lt;br /&gt;
==Esempi di codice==&lt;br /&gt;
Il primo programma che tutti i possessori, negli anni '80, di un vecchio home computer ad 8 bit o di un PC XT hanno scritto è stato più o meno il seguente:&lt;br /&gt;
  10 PRINT &amp;quot;PIPPO&amp;quot;&lt;br /&gt;
  20 GOTO 10&lt;br /&gt;
&lt;br /&gt;
Questo semplicissimo programmino crea un ciclo infinito (grazie al comando GOTO che rimanda all'esecuzione della prima istruzione di stampa) che stampa a video la scritta &amp;quot;PIPPO&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
L'esempio qui sotto invece dichiara ed assegna un valore ad una variabile di tipo stringa (identificata dal segno &amp;quot;$&amp;quot;) e poi ne stampa il contenuto per un dato numero di volte grazie ad un ciclo FOR..NEXT:&lt;br /&gt;
  10 A$=&amp;quot;CIAO&amp;quot;&lt;br /&gt;
  20 FOR I=1 TO 10&lt;br /&gt;
  30 PRINT A$&lt;br /&gt;
  40 NEXT I&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas&amp;diff=1958</id>
		<title>Gambas</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas&amp;diff=1958"/>
		<updated>2009-04-03T09:44:03Z</updated>

		<summary type="html">&lt;p&gt;Leo72: /* Nascita di Gambas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Gambas''' è un potente ambiente per lo sviluppo di applicazioni per piattaforme *nix basato sul linguaggio [[BASIC]] con estensione agli oggetti. Gambas indica al contempo sia l'[[IDE]] (Integrated Development Environment), vale a dire l'ambiente di sviluppo, sia il linguaggio stesso. L'interprete di Gambas è scritto in C/C++ ma tutto l'[[IDE]] è scritto in Gambas. Gambas gira sia su sistemi a 32 che a 64 bit.&lt;br /&gt;
&lt;br /&gt;
Con Gambas è possibile realizzare applicazioni ''stand-alone'' con [[GUI]] basate su [[GTK]] o [[Qt]], accedere ai database MySQL, PostgreSQL, Firebird, ODBC ed SQLite, pilotare le applicazioni KDE con DCOP, realizzare applicazioni 3D con OpenGL ed anche applicazioni web basate su CGI. E' inoltre possibile tradurre i propri progetti per renderli internazionali.&lt;br /&gt;
&lt;br /&gt;
== Nascita di Gambas ==&lt;br /&gt;
Gambas è opensource ed è nato nel 1999 dalla mente di '''[[Benoit Minisini]]'''.&lt;br /&gt;
&lt;br /&gt;
L'idea era quella di realizzare un ambiente di sviluppo per Linux che fosse facile ed immediato e con alla base un linguaggio di programmazione semplice ma potente. Decise quindi di ispirarsi al Visual Basic di Microsoft per quanto concerneva l'ambiente di sviluppo ed al Java per le classi e gli oggetti e per l'organizzazione dei file; come linguaggio fu scelto il [[BASIC]], sia per la sua semplicità sia perché era stato il primo linguaggio imparato da Minisini. &lt;br /&gt;
&lt;br /&gt;
Rimaneva da scegliere il nome di questo nuovo ambiente. Come spiega il &amp;quot;padre&amp;quot; di Gambas, negli anni Novanta andava di moda chiamare i nuovi linguaggi di programmazione con nomi di animali: Python (in realtà il nome del Python deriva dal gruppo comico inglese &amp;quot;Monthy Python&amp;quot; ma, oggi, tutti tendono ad identificare questo linguaggio con l'omonimo serpente), Camel, Bonobo, ecc... Minisini ricercava anche un acronimo che fosse ricorsivo con l'idea alla base di Gambas, cioè quella di un linguaggio molto simile al BASIC. Fu scelto perciò '''GAMBAS''', che in spagnolo significa ''Gambero'' (ecco quindi l'animale) ma che è anche l'acronimo di '''Gambas Almost Means BASic''' (Gambas più o meno significa BASIC).&lt;br /&gt;
&lt;br /&gt;
E' doverosa una puntualizzazione. Anche se molto spesso si tende ad indicare la similitudine con il ''Microsoft Visual Basic'' per spiegare ai profani a cosa più assomiglia, Gambas non è un clone di questo linguaggio e le applicazioni dell'uno non possono girare sull'altro: i punti di contatto sono limitati al linguaggio di base.&lt;br /&gt;
&lt;br /&gt;
== Linguaggio pseudo-compilato ==&lt;br /&gt;
Gambas non è un linguaggio compilato come il C, dove l'eseguibile viene creato durante la compilazione del sorgente, ma non è neanche un linguaggio interpretato come il vecchio [[BASIC]], dove ogni istruzione viene analizzata ed eseguita via via che il flusso dell'elaborazione attraversa il listato del codice. Gambas può creare dei cosiddetti &amp;quot;eseguibili&amp;quot;, che altro non sono che archivi non compressi contenenti l'applicazione scritta in Gambas convertita in ''byte-code'', uno pseudo codice a metà fra il linguaggio macchina puro ed il codice originale scritto in Gambas, che l'interprete Gambas può eseguire più velocemente rispetto ad una interpretazione del codice comando per comando. Questo modo di operare è comune ad altri linguaggi, ad esempio Python o Ruby: anch'essi traducono il codice sorgente in byte-code la prima volta che viene eseguito il programma, in modo da avere la versione &amp;quot;più veloce&amp;quot; pronta per le successive esecuzioni.&lt;br /&gt;
&lt;br /&gt;
== Architettura ==&lt;br /&gt;
L'architettura di Gambas è largamente ispirata da quella di Java. Gambas è costituito da&lt;br /&gt;
* un compilatore;&lt;br /&gt;
* un interprete;&lt;br /&gt;
* un archiviatore;&lt;br /&gt;
* uno scripter;&lt;br /&gt;
* un ambiente di sviluppo;&lt;br /&gt;
* molti componenti per estendere il linguaggio.&lt;br /&gt;
&lt;br /&gt;
=== Il compilatore ===&lt;br /&gt;
Il '''compilatore''' è un eseguibile scritto in C. E' capace di compilare circa 128.000 linee di codice in un secondo su un AMD Athlon 2000+. Questa velocità permette un processo di sviluppo molto rapido perché si riduce il tempo di test rispetto a linguaggi prettamente compilati come il C. Il compilatore è capace di gestire e compilare le stringhe di traduzione per l'internazionalizzazione dei progetti grazie a strumenti quali gettext.&lt;br /&gt;
Il compilatore crea un file composto da bytecode, uno speciale codice a metà fra Gambas ed il codice macchina, più veloce da eseguire rispetto al linguaggio di partenza.&lt;br /&gt;
&lt;br /&gt;
=== L'interprete ===&lt;br /&gt;
L''''interprete''' è un piccolo eseguibile (meno di 190 KB) scritto anch'esso in C. Esso carica le classi quando richiesto, ottimizzando il bytecode la prima volta che viene eseguito. Il link fra le classi viene eseguito interamente durante l'esecuzione del codice solo nel momento del reale utilizzo: in questo modo anche grandi eseguibili si avviano molto rapidamente.&lt;br /&gt;
&lt;br /&gt;
=== L'archiviatore ===&lt;br /&gt;
L''''archiviatore''' è un programma che crea gli eseguibili Gambas partendo dalla cartella del progetto. Da notare che un eseguibile Gambas non è altro che un archivio non compresso che può contenente qualunque tipo di file, non solo il bytecode compilato. Internamente l'interprete accede all'archivio come fosse un filesystem.&lt;br /&gt;
&lt;br /&gt;
== Il linguaggio Gambas ==&lt;br /&gt;
Il linguaggio BASIC di Gambas è composto da circa 250 parole chiave e funzioni predefinite per gestire operazioni aritmetiche, manipolazioni di stringhe, input ed output, file, date ed orari, ecc... Offre un gestore completo degli errori, un pieno controllo del processo con gestione tramite pseudo-terminale, pieno supporto all'internazionalizzazione delle applicazioni, possibilità di richiamare funzioni esterne.&lt;br /&gt;
&lt;br /&gt;
Gambas è anche un linguaggio pienamente orientato agli oggetti. Gestisce infatti:&lt;br /&gt;
* classi ed oggetti;&lt;br /&gt;
* proprietà, metodi, costanti ed eventi;&lt;br /&gt;
* simboli pubblici e privati;&lt;br /&gt;
* polimorfismo;&lt;br /&gt;
* ereditarietà;&lt;br /&gt;
* costruttori e distruttori;&lt;br /&gt;
* enumeratori ed oggetti ordinabili.&lt;br /&gt;
&lt;br /&gt;
Il meccanismo dell'ereditarietà di Gambas è interamente dinamico e permette di:&lt;br /&gt;
* creare una versione più specializzata di una classe già esistente;&lt;br /&gt;
* reimplementare una classe ed estenderla;&lt;br /&gt;
* effettuare l'overload di metodi o proprietà di una classe.&lt;br /&gt;
&lt;br /&gt;
Qualunque classe può essere ereditata, reimplementata o gestito l'overload, anche le classi native scritte in C/C++.&lt;br /&gt;
&lt;br /&gt;
Infine, una classe nativa denominata Observer permette di intercettare qualunque evento sollevato da un oggetto.&lt;br /&gt;
&lt;br /&gt;
== Problemi noti ==&lt;br /&gt;
Gambas non permette di dichiarare dati enumerabili e non supporta le strutture di dati. Inoltre il componente GTK+ non è ancora completamente terminato per cui l'indipendenza grafica dei progetti non è ancora completa.&lt;br /&gt;
&lt;br /&gt;
== Licenza ==&lt;br /&gt;
Gambas è rilasciato sotto licenza '''Gnu GPL'''.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Gambas&amp;diff=1957</id>
		<title>Gambas</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Gambas&amp;diff=1957"/>
		<updated>2009-04-03T09:43:41Z</updated>

		<summary type="html">&lt;p&gt;Leo72: /* Nascita di Gambas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Gambas''' è un potente ambiente per lo sviluppo di applicazioni per piattaforme *nix basato sul linguaggio [[BASIC]] con estensione agli oggetti. Gambas indica al contempo sia l'[[IDE]] (Integrated Development Environment), vale a dire l'ambiente di sviluppo, sia il linguaggio stesso. L'interprete di Gambas è scritto in C/C++ ma tutto l'[[IDE]] è scritto in Gambas. Gambas gira sia su sistemi a 32 che a 64 bit.&lt;br /&gt;
&lt;br /&gt;
Con Gambas è possibile realizzare applicazioni ''stand-alone'' con [[GUI]] basate su [[GTK]] o [[Qt]], accedere ai database MySQL, PostgreSQL, Firebird, ODBC ed SQLite, pilotare le applicazioni KDE con DCOP, realizzare applicazioni 3D con OpenGL ed anche applicazioni web basate su CGI. E' inoltre possibile tradurre i propri progetti per renderli internazionali.&lt;br /&gt;
&lt;br /&gt;
== Nascita di Gambas ==&lt;br /&gt;
Gambas è opensource ed è nato nel 1999 dalla mente di '''[[Benoit Minisini]]'''. &amp;lt;/br&amp;gt;&lt;br /&gt;
L'idea era quella di realizzare un ambiente di sviluppo per Linux che fosse facile ed immediato e con alla base un linguaggio di programmazione semplice ma potente. Decise quindi di ispirarsi al Visual Basic di Microsoft per quanto concerneva l'ambiente di sviluppo ed al Java per le classi e gli oggetti e per l'organizzazione dei file; come linguaggio fu scelto il [[BASIC]], sia per la sua semplicità sia perché era stato il primo linguaggio imparato da Minisini. &lt;br /&gt;
&lt;br /&gt;
Rimaneva da scegliere il nome di questo nuovo ambiente. Come spiega il &amp;quot;padre&amp;quot; di Gambas, negli anni Novanta andava di moda chiamare i nuovi linguaggi di programmazione con nomi di animali: Python (in realtà il nome del Python deriva dal gruppo comico inglese &amp;quot;Monthy Python&amp;quot; ma, oggi, tutti tendono ad identificare questo linguaggio con l'omonimo serpente), Camel, Bonobo, ecc... Minisini ricercava anche un acronimo che fosse ricorsivo con l'idea alla base di Gambas, cioè quella di un linguaggio molto simile al BASIC. Fu scelto perciò '''GAMBAS''', che in spagnolo significa ''Gambero'' (ecco quindi l'animale) ma che è anche l'acronimo di '''Gambas Almost Means BASic''' (Gambas più o meno significa BASIC).&lt;br /&gt;
&lt;br /&gt;
E' doverosa una puntualizzazione. Anche se molto spesso si tende ad indicare la similitudine con il ''Microsoft Visual Basic'' per spiegare ai profani a cosa più assomiglia, Gambas non è un clone di questo linguaggio e le applicazioni dell'uno non possono girare sull'altro: i punti di contatto sono limitati al linguaggio di base.&lt;br /&gt;
&lt;br /&gt;
== Linguaggio pseudo-compilato ==&lt;br /&gt;
Gambas non è un linguaggio compilato come il C, dove l'eseguibile viene creato durante la compilazione del sorgente, ma non è neanche un linguaggio interpretato come il vecchio [[BASIC]], dove ogni istruzione viene analizzata ed eseguita via via che il flusso dell'elaborazione attraversa il listato del codice. Gambas può creare dei cosiddetti &amp;quot;eseguibili&amp;quot;, che altro non sono che archivi non compressi contenenti l'applicazione scritta in Gambas convertita in ''byte-code'', uno pseudo codice a metà fra il linguaggio macchina puro ed il codice originale scritto in Gambas, che l'interprete Gambas può eseguire più velocemente rispetto ad una interpretazione del codice comando per comando. Questo modo di operare è comune ad altri linguaggi, ad esempio Python o Ruby: anch'essi traducono il codice sorgente in byte-code la prima volta che viene eseguito il programma, in modo da avere la versione &amp;quot;più veloce&amp;quot; pronta per le successive esecuzioni.&lt;br /&gt;
&lt;br /&gt;
== Architettura ==&lt;br /&gt;
L'architettura di Gambas è largamente ispirata da quella di Java. Gambas è costituito da&lt;br /&gt;
* un compilatore;&lt;br /&gt;
* un interprete;&lt;br /&gt;
* un archiviatore;&lt;br /&gt;
* uno scripter;&lt;br /&gt;
* un ambiente di sviluppo;&lt;br /&gt;
* molti componenti per estendere il linguaggio.&lt;br /&gt;
&lt;br /&gt;
=== Il compilatore ===&lt;br /&gt;
Il '''compilatore''' è un eseguibile scritto in C. E' capace di compilare circa 128.000 linee di codice in un secondo su un AMD Athlon 2000+. Questa velocità permette un processo di sviluppo molto rapido perché si riduce il tempo di test rispetto a linguaggi prettamente compilati come il C. Il compilatore è capace di gestire e compilare le stringhe di traduzione per l'internazionalizzazione dei progetti grazie a strumenti quali gettext.&lt;br /&gt;
Il compilatore crea un file composto da bytecode, uno speciale codice a metà fra Gambas ed il codice macchina, più veloce da eseguire rispetto al linguaggio di partenza.&lt;br /&gt;
&lt;br /&gt;
=== L'interprete ===&lt;br /&gt;
L''''interprete''' è un piccolo eseguibile (meno di 190 KB) scritto anch'esso in C. Esso carica le classi quando richiesto, ottimizzando il bytecode la prima volta che viene eseguito. Il link fra le classi viene eseguito interamente durante l'esecuzione del codice solo nel momento del reale utilizzo: in questo modo anche grandi eseguibili si avviano molto rapidamente.&lt;br /&gt;
&lt;br /&gt;
=== L'archiviatore ===&lt;br /&gt;
L''''archiviatore''' è un programma che crea gli eseguibili Gambas partendo dalla cartella del progetto. Da notare che un eseguibile Gambas non è altro che un archivio non compresso che può contenente qualunque tipo di file, non solo il bytecode compilato. Internamente l'interprete accede all'archivio come fosse un filesystem.&lt;br /&gt;
&lt;br /&gt;
== Il linguaggio Gambas ==&lt;br /&gt;
Il linguaggio BASIC di Gambas è composto da circa 250 parole chiave e funzioni predefinite per gestire operazioni aritmetiche, manipolazioni di stringhe, input ed output, file, date ed orari, ecc... Offre un gestore completo degli errori, un pieno controllo del processo con gestione tramite pseudo-terminale, pieno supporto all'internazionalizzazione delle applicazioni, possibilità di richiamare funzioni esterne.&lt;br /&gt;
&lt;br /&gt;
Gambas è anche un linguaggio pienamente orientato agli oggetti. Gestisce infatti:&lt;br /&gt;
* classi ed oggetti;&lt;br /&gt;
* proprietà, metodi, costanti ed eventi;&lt;br /&gt;
* simboli pubblici e privati;&lt;br /&gt;
* polimorfismo;&lt;br /&gt;
* ereditarietà;&lt;br /&gt;
* costruttori e distruttori;&lt;br /&gt;
* enumeratori ed oggetti ordinabili.&lt;br /&gt;
&lt;br /&gt;
Il meccanismo dell'ereditarietà di Gambas è interamente dinamico e permette di:&lt;br /&gt;
* creare una versione più specializzata di una classe già esistente;&lt;br /&gt;
* reimplementare una classe ed estenderla;&lt;br /&gt;
* effettuare l'overload di metodi o proprietà di una classe.&lt;br /&gt;
&lt;br /&gt;
Qualunque classe può essere ereditata, reimplementata o gestito l'overload, anche le classi native scritte in C/C++.&lt;br /&gt;
&lt;br /&gt;
Infine, una classe nativa denominata Observer permette di intercettare qualunque evento sollevato da un oggetto.&lt;br /&gt;
&lt;br /&gt;
== Problemi noti ==&lt;br /&gt;
Gambas non permette di dichiarare dati enumerabili e non supporta le strutture di dati. Inoltre il componente GTK+ non è ancora completamente terminato per cui l'indipendenza grafica dei progetti non è ancora completa.&lt;br /&gt;
&lt;br /&gt;
== Licenza ==&lt;br /&gt;
Gambas è rilasciato sotto licenza '''Gnu GPL'''.&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Info&amp;diff=1944</id>
		<title>Info</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Info&amp;diff=1944"/>
		<updated>2009-03-10T21:28:57Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Ha protetto &amp;quot;Info&amp;quot;: Pagina attaccata dagli hacker [edit=sysop:move=sysop]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Pagina_principale]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Info&amp;diff=1943</id>
		<title>Info</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Info&amp;diff=1943"/>
		<updated>2009-03-10T21:28:25Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Redirect alla pagina Pagina principale&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Pagina_principale]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Info&amp;diff=1942</id>
		<title>Info</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Info&amp;diff=1942"/>
		<updated>2009-03-10T21:28:09Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Redirect alla pagina Pagina Principale&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Pagina_Principale]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Aiuto:Tabelle&amp;diff=1834</id>
		<title>Aiuto:Tabelle</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Aiuto:Tabelle&amp;diff=1834"/>
		<updated>2009-03-07T15:14:57Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Nuova pagina: Nelle pagine wiki possono essere inserite tabelle sia usando l'HTML che il wikicode. La tabelle in HTML sono spiegate in molte pagine web e non strettamente collegate a MediaWiki, quin...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nelle pagine wiki possono essere inserite tabelle sia usando l'HTML che il wikicode. La tabelle in HTML sono spiegate in molte pagine web e non strettamente collegate a MediaWiki, quindi di seguito verranno trattate solo le tabelle in wikicode. Il vantaggio del wikicode rispetto all'HTML è che i suoi simboli semplificano la lettura del codice da un utente che entra in modalità edit.&lt;br /&gt;
&lt;br /&gt;
È buona regola, comunque, non usare le tabelle se non se ne ha bisogno, poiché queste appesantiscono le pagine.&lt;br /&gt;
&lt;br /&gt;
== Markup base ==&lt;br /&gt;
&lt;br /&gt;
{|cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;600&amp;quot;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{|&amp;lt;/nowiki&amp;gt; || inizio tabella&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;|+&amp;lt;/nowiki&amp;gt; || legenda, una per tabella, tra l'inizio e la prima riga&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt; || interruzione di riga, opzionale per la prima&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;!&amp;lt;/nowiki&amp;gt;  || cella titolo, opzionale, più celle iniziali possono essere inserite con un doppio punto esclamativo (&amp;lt;nowiki&amp;gt;!!&amp;lt;/nowiki&amp;gt;) o andando a capo e cominciando la riga con &amp;lt;nowiki&amp;gt;!&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;  || cella, richiesto, celle consecutive possono essere inserite raddoppiando la barra  (&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;) o andando a capo e cominciando la riga con &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;|}&amp;lt;/nowiki&amp;gt; || fine tabella&lt;br /&gt;
|}&lt;br /&gt;
*Tutti i segni comportano un ritorno a capo, eccetto || e !!.&lt;br /&gt;
*Tutti i simboli, eccetto il fine tabella, supportano gli attributi XHTML.&lt;br /&gt;
*Se si vuole inserire del markup wiki all'interno di una cella, bisogna iniziare con un ritorno a capo.&lt;br /&gt;
&lt;br /&gt;
==Tabella semplice==&lt;br /&gt;
&lt;br /&gt;
===Normale===&lt;br /&gt;
Questa tabella tralascia bordi e larghezze, per informazioni su questi parametri, vedi sotto.&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{|&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Alternativa===&lt;br /&gt;
Per creare un look più simile ad una tabella, le celle possono essere allineate con || Questo non è consigliato con celle che contengono un testo molto lungo ma con un esempio come il nostro, va più che bene.&lt;br /&gt;
Gli spazi eccessivi non vengono contati.&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{|&lt;br /&gt;
|  Arancia    ||   Mela   ||   altro&lt;br /&gt;
|-&lt;br /&gt;
|   Pane    ||   Dolce     ||   altro&lt;br /&gt;
|-&lt;br /&gt;
|   Burro   || Gelato ||  altro ancora&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|  Arancia    ||   Mela   ||   altro&lt;br /&gt;
|-&lt;br /&gt;
|   Pane    ||   Dolce     ||   altro&lt;br /&gt;
|-&lt;br /&gt;
|   Burro   || Gelato ||  altro ancora&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Con attributi HTML===&lt;br /&gt;
È possibile aggiungere attributi HTML alle tabelle.&lt;br /&gt;
====border=&amp;quot;1&amp;quot;====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====align=&amp;quot;center&amp;quot; border=&amp;quot;1&amp;quot;====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Attributi per celle ====&lt;br /&gt;
È anche possibile usare gli attributi per una singola cella.&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|12,333.00&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|500.00&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|1.00&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|12,333.00&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|500.00&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|1.00&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Attributi per riga====&lt;br /&gt;
È anche possibile usare gli attributi per una singola riga.&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|12,333.00&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|500.00&lt;br /&gt;
|- style=&amp;quot;font-style:italic;color:green;&amp;quot;&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|1.00&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|12,333.00&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|500.00&lt;br /&gt;
|- style=&amp;quot;font-style:italic;color:green;&amp;quot;&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|1.00&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Nota: Attualmente il cellpadding non funziona molto bene su mediawiki.org. Dovrebbe essere simile a [http://test.wikipedia.org/wiki/Table_test questo]''&lt;br /&gt;
&lt;br /&gt;
===Con attributi HTML e CSS===&lt;br /&gt;
È possibile aggiungere attributi CSS alle tabelle, con o senza HTML.&lt;br /&gt;
====style=&amp;quot;color:green;background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| style=&amp;quot;color:green;background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| style=&amp;quot;color:green;background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Titoli TH==&lt;br /&gt;
&lt;br /&gt;
I titoli TH (HTML table headings) possono essere creati usando ! al posto di |. Vengono visualizzati centrati e in grassetto di default.&lt;br /&gt;
&lt;br /&gt;
===Inizio colonna===&lt;br /&gt;
====Ogni colonna====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Buono&lt;br /&gt;
!Più buono&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Buono&lt;br /&gt;
!Più buono&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
====Colspan=&amp;quot;2&amp;quot;====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Bontà&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;|Bontà&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Inizio riga===&lt;br /&gt;
====Default====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Frutta&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
!Condimento&lt;br /&gt;
|Pane&lt;br /&gt;
|Burro&lt;br /&gt;
|-&lt;br /&gt;
!Dessert&lt;br /&gt;
|Dolce&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Frutta&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
!Condimento&lt;br /&gt;
|Pane&lt;br /&gt;
|Burro&lt;br /&gt;
|-&lt;br /&gt;
!Dessert&lt;br /&gt;
|Dolce&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Allineato a destra====&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;right&amp;quot; |Frutta&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;right&amp;quot; |Condimento&lt;br /&gt;
|Pane&lt;br /&gt;
|Burro&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;right&amp;quot; |Dessert&lt;br /&gt;
|Dolce&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;right&amp;quot; |Frutta&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;right&amp;quot; |Condimento&lt;br /&gt;
|Pane&lt;br /&gt;
|Burro&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;right&amp;quot; |Dessert&lt;br /&gt;
|Dolce&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Legenda==&lt;br /&gt;
È possibile aggiungere una legenda alle tabelle.&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+Cibo&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+Cibo&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ed è anche possibile usare attributi&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+align=&amp;quot;bottom&amp;quot; style=&amp;quot;color:#e76700;&amp;quot;|''Cibo''&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+align=&amp;quot;bottom&amp;quot; style=&amp;quot;color:#e76700;&amp;quot;|''Cibo''&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tabelle con sezioni H1, H2, H3 ecc.==&lt;br /&gt;
&lt;br /&gt;
Le sezioni HTML H1, H2, H3, H4 ecc.possono essere create nel wikicode usando un numero di ==uguali== pari al livello della sezione ed è obbligatorio che '''stiano da sole nella linea'''.&lt;br /&gt;
&lt;br /&gt;
'''Anteprima.''' Se clicchi su modifica una sezione e fai anteprima, mancando parte di codice, la tabella non sarà visualizzata.&lt;br /&gt;
&lt;br /&gt;
Ricorda che le sezioni vanno a finire anche nell'indice.&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
===Bontà===&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
|width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;3&amp;quot;  cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
===Bontà===&lt;br /&gt;
|-&lt;br /&gt;
|Arancia&lt;br /&gt;
|Mela&lt;br /&gt;
|-&lt;br /&gt;
|Pane&lt;br /&gt;
|Dolce&lt;br /&gt;
|-&lt;br /&gt;
|Burro&lt;br /&gt;
|Gelato&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Preservamento==&lt;br /&gt;
===Numeri negativi===&lt;br /&gt;
I numeri negativi possono interrompere la tabella. Se vuoi iniziare la cella con un numero negativo (|-6), devi lasciare uno spazio (| -6) o usare la doppia linea (||-6) per una corretta visualizzazione.&lt;br /&gt;
&lt;br /&gt;
[[Categoria:Aiuto]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=File:Example-white-bg.jpg&amp;diff=1833</id>
		<title>File:Example-white-bg.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=File:Example-white-bg.jpg&amp;diff=1833"/>
		<updated>2009-03-07T15:13:12Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Elaborazione di Immagine:Example.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Elaborazione di [[Immagine:Example.png]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Aiuto:Immagini&amp;diff=1832</id>
		<title>Aiuto:Immagini</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Aiuto:Immagini&amp;diff=1832"/>
		<updated>2009-03-07T15:12:45Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dopo aver caricato un'immagine (vedi [[Aiuto:Caricamento file]]),  puoi usare il seguente codice per inserirle in una pagina:&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Hl3}}|'''Descrizione'''&lt;br /&gt;
|{{Hl3}}|'''Testo''' &lt;br /&gt;
|{{Hl3}}|'''Risultato'''&lt;br /&gt;
|-&lt;br /&gt;
|Immagine a grandezza normale&amp;lt;br /&amp;gt;(il testo viene ignorato)&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Immagine:Example.jpg|Girasoli]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Immagine:Example.jpg|Girasoli]]&lt;br /&gt;
|-&lt;br /&gt;
|Link alla pagina di descrizione&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[:Immagine:Example.jpg]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[:Immagine:Example.jpg|Girasoli]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[:Immagine:Example.jpg]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[:Immagine:Example.jpg|Girasoli]]&lt;br /&gt;
|-&lt;br /&gt;
|Link diretto al file&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Media:Example.jpg]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Media:Example.jpg|Girasoli]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Media:Example.jpg]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Media:Example.jpg|Girasoli]]&lt;br /&gt;
|-&lt;br /&gt;
|Parametri&amp;lt;br /&amp;gt; (centrata, 100 pixel&amp;lt;br /&amp;gt; con titolo e cornice)&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Immagine:Example.jpg|center|thumb|100px|Girasoli]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Immagine:Example.jpg|center|thumb|100px|Girasoli]]&lt;br /&gt;
|-&lt;br /&gt;
|Bordi&amp;lt;br /&amp;gt; (100 pixels) &amp;lt;br /&amp;gt; (Leggera linea grigia)&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Immagine:Example-white-bg.jpg|border|100px]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Immagine:Example-white-bg.jpg|border|100px]]&lt;br /&gt;
|-&lt;br /&gt;
|Senza cornice&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Immagine:Example.jpg|frameless]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Immagine:Example.jpg|frameless]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sintassi ==&lt;br /&gt;
La sintassi per visualizzare un immagine è:&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Immagine:{nome}|{opzioni}]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
o, nei progetti in italiano (è supportata anche la prima scrittura)&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Immagine:{nome}|{opzioni}]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Dove opzioni possono essere zero o più delle seguenti, separate da stanghette verticali (|):&lt;br /&gt;
*&amp;lt;code&amp;gt;thumb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;thumbnail&amp;lt;/code&amp;gt;, o &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: Controlla la formattazione dell'immagine.&lt;br /&gt;
*&amp;lt;code&amp;gt;left&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;center&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;: Controlla l'allineamento dell'immagine nella pagina.&lt;br /&gt;
*&amp;lt;code&amp;gt;{dimensione}px&amp;lt;/code&amp;gt;: Ridimensiona l'immagine del numero di pixel inserito in ''dimensione''&lt;br /&gt;
*&amp;lt;code&amp;gt;{testo}&amp;lt;/code&amp;gt;&lt;br /&gt;
Le opzioni possono essere date in qualunque ordine. Se un'opzione non corrisponde ad alcuna possibilità, verrà considerata come testo. Il testo può contenere wikilink w formattazioni varie.&lt;br /&gt;
&lt;br /&gt;
== Altri file ==&lt;br /&gt;
Puoi linkare un'immagine presente sul web allo stesso modo con cui si linka un sito:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[http://url.per/qualche/Immagine.png]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
O, per visualizzare un titolo:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[http://url.per/qualche/Immagine.png link titolo]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puoi anche aggiungere immagini esterne, semplicemente inserendone l'URL:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://url.per/qualche/immagine.png&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gallerie di immagini ==&lt;br /&gt;
È facile fare delle gallerie di miniature, usando il tag &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;galleria&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. La sintassi è:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;galleria&amp;gt;&lt;br /&gt;
Immagine:{nome}|{descrizione}&lt;br /&gt;
Immagine:{nome}|{descrizione}&lt;br /&gt;
{...}&lt;br /&gt;
&amp;lt;/galleria&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le descrizioni sono opzionali e possono contenere wikilink o altra formattazione.&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;galleria&amp;gt;&lt;br /&gt;
Immagine:Example.jpg|Oggetto 1&lt;br /&gt;
Immagine:Example.jpg|link a [[Aiuto:Indice]]&lt;br /&gt;
Immagine:Example.jpg&lt;br /&gt;
Immagine:Example.jpg&lt;br /&gt;
Immagine:Example.jpg|''testo in corsivo''&lt;br /&gt;
&amp;lt;/galleria&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Viene:&lt;br /&gt;
&amp;lt;galleria&amp;gt;&lt;br /&gt;
Immagine:Example.jpg|Oggetto 1&lt;br /&gt;
Immagine:Example.jpg|link a [[Aiuto:Indice]]&lt;br /&gt;
Immagine:Example.jpg&lt;br /&gt;
Immagine:Example.jpg&lt;br /&gt;
Immagine:Example.jpg|''testo in corsivo''&lt;br /&gt;
&amp;lt;/galleria&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Aiuto:Immagini&amp;diff=1831</id>
		<title>Aiuto:Immagini</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Aiuto:Immagini&amp;diff=1831"/>
		<updated>2009-03-07T15:07:32Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Nuova pagina: Dopo aver caricato un'immagine (vedi Aiuto:Caricamento file),  puoi usare il seguente codice per inserirle in una pagina:  {| {{Prettytable}} |- |{{Hl3}}|'''Descrizione''' |{{Hl3}}...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dopo aver caricato un'immagine (vedi [[Aiuto:Caricamento file]]),  puoi usare il seguente codice per inserirle in una pagina:&lt;br /&gt;
&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Hl3}}|'''Descrizione'''&lt;br /&gt;
|{{Hl3}}|'''Testo''' &lt;br /&gt;
|{{Hl3}}|'''Risultato'''&lt;br /&gt;
|-&lt;br /&gt;
|Immagine a grandezza normale&amp;lt;br /&amp;gt;(il testo viene ignorato)&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Image:Example.jpg|Girasoli]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Image:Example.jpg|Girasoli]]&lt;br /&gt;
|-&lt;br /&gt;
|Link alla pagina di descrizione&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[:Image:Example.jpg]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[:Image:Example.jpg|Girasoli]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[:Image:Example.jpg]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[:Image:Example.jpg|Girasoli]]&lt;br /&gt;
|-&lt;br /&gt;
|Link diretto al file&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Media:Example.jpg]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Media:Example.jpg|Girasoli]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Media:Example.jpg]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Media:Example.jpg|Girasoli]]&lt;br /&gt;
|-&lt;br /&gt;
|Parametri&amp;lt;br /&amp;gt; (centrata, 100 pixel&amp;lt;br /&amp;gt; con titolo e cornice)&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Image:Example.jpg|center|thumb|100px|Girasoli]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Image:Example.jpg|center|thumb|100px|Girasoli]]&lt;br /&gt;
|-&lt;br /&gt;
|Bordi&amp;lt;br /&amp;gt; (100 pixels) &amp;lt;br /&amp;gt; (Leggera linea grigia)&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Image:Example-white-bg.jpg|border|100px]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Image:Example-white-bg.jpg|border|100px]]&lt;br /&gt;
|-&lt;br /&gt;
|Senza cornice&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Image:Example.jpg|frameless]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Image:Example.jpg|frameless]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sintassi ==&lt;br /&gt;
La sintassi per visualizzare un immagine è:&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Image:{nome}|{opzioni}]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
o, nei progetti in italiano (è supportata anche la prima scrittura)&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Immagine:{nome}|{opzioni}]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Dove opzioni possono essere zero o più delle seguenti, separate da stanghette verticali (|):&lt;br /&gt;
*&amp;lt;code&amp;gt;thumb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;thumbnail&amp;lt;/code&amp;gt;, o &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: Controlla la formattazione dell'immagine.&lt;br /&gt;
*&amp;lt;code&amp;gt;left&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;center&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;: Controlla l'allineamento dell'immagine nella pagina.&lt;br /&gt;
*&amp;lt;code&amp;gt;{dimensione}px&amp;lt;/code&amp;gt;: Ridimensiona l'immagine del numero di pixel inserito in ''dimensione''&lt;br /&gt;
*&amp;lt;code&amp;gt;{testo}&amp;lt;/code&amp;gt;&lt;br /&gt;
Le opzioni possono essere date in qualunque ordine. Se un'opzione non corrisponde ad alcuna possibilità, verrà considerata come testo. Il testo può contenere wikilink w formattazioni varie.&lt;br /&gt;
&lt;br /&gt;
== Altri file ==&lt;br /&gt;
Puoi linkare un'immagine presente sul web allo stesso modo con cui si linka un sito:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[http://url.for/some/image.png]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
O, per visualizzare un titolo:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[http://url.for/some/image.png link titolo]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puoi anche aggiungere immagini esterne, semplicemente inserendone l'URL:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://url.for/some/image.png&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gallerie di immagini ==&lt;br /&gt;
È facile fare delle gallerie di miniature, usando il tag &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;gallery&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. La sintassi è:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:{nome}|{descrizione}&lt;br /&gt;
Image:{nome}|{descrizione}&lt;br /&gt;
{...}&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le descrizioni sono opzionali e possono contenere wikilink o altra formattazione.&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Example.jpg|Oggetto 1&lt;br /&gt;
Image:Example.jpg|link a [[Help:Contents/it]]&lt;br /&gt;
Image:Example.jpg&lt;br /&gt;
Image:Example.jpg&lt;br /&gt;
Image:Example.jpg|''testo in corsivo''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Viene:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Example.jpg|Oggetto 1&lt;br /&gt;
Image:Example.jpg|link a [[Help:Contents/it]]&lt;br /&gt;
Image:Example.jpg&lt;br /&gt;
Image:Example.jpg&lt;br /&gt;
Image:Example.jpg|''testo in corsivo''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=File:Example.jpg&amp;diff=1830</id>
		<title>File:Example.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=File:Example.jpg&amp;diff=1830"/>
		<updated>2009-03-07T15:00:39Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Girasoli a Fargo, North Dakota, USA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Girasoli a Fargo, North Dakota, USA&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Aiuto:Categorie&amp;diff=1829</id>
		<title>Aiuto:Categorie</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Aiuto:Categorie&amp;diff=1829"/>
		<updated>2009-03-07T14:59:12Z</updated>

		<summary type="html">&lt;p&gt;Leo72: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MediaWiki permette di associare la pagina alle categorie inserendo una o più categorie all'interno del testo.  Aggiungendo questi tag in fondo alla pagina verrà creato un link dal quale sarà possibile visualizzare tutti gli articoli che contengono quel link (e che quindi appartengono a quella categoria).&lt;br /&gt;
&lt;br /&gt;
== Come creare una categoria ==&lt;br /&gt;
&lt;br /&gt;
Verrà creata una categoria nel momento in cui si aggiungerà un link che contiene il nome di una categoria, così come spiegato di seguito. Non sarà comunque visibile finchè la pagina della categoria presente nel link non sarà salvata. Prima che la categoria sia salvata, verrà visualizzato un link di colore rosso; cliccando sul link di colore rosso, sarà visualizzata una pagina da compilare che conterrà la lista di tutte le pagine associate a quella categoria.&lt;br /&gt;
&lt;br /&gt;
Si dovrebbe prestare maggior attenzione a questo, piuttosto che alla creazione delle pagine. A differenza degli articoli, le categorie non possono essere eliminate o spostate.  Prima di creare una nuova categoria, cerca la lista delle categorie (Categorie) cliccando su &amp;quot;Pagine Speciali&amp;quot; nella barra dei menu a sinistra, nel riquadro &amp;quot;toolbox&amp;quot;. Crea una nuova categoria solo se ritieni che non esistano già altre categorie che possano obiettivamente contenere la pagina di contenuti che vuoi aggiungere.&lt;br /&gt;
&lt;br /&gt;
== Come aggiungere una pagina ad una categoria ==&lt;br /&gt;
&lt;br /&gt;
Per associare una pagina di contenuto ad una categoria, aggiungi semplicemente questo tag in fondo alla pagina che stai modificando:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[Categoria:NOME]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dove &amp;quot;NOME&amp;quot; è il nome della categoria alla quale desideri associare la pagina. Puoi aggiungere quante categorie vuoi. La pagina verrà associata ad ognuno di questi tag.&lt;br /&gt;
&lt;br /&gt;
Puoi anche specificare un ordinamento alfabetico con il quale desideri che la pagina sia visualizzata nella lista delle categorie. Questo è possibile utilizzando il seguente contrassegno (dopo 'NOME|' ):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[Categoria:NOME|ORDINAMENTO]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per aggiungere questa pagina alla categoria Help e visualizzarla sotto la lettera C:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[Categoria:Help|Categorie]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Senza questo, la pagina sarà visualizzata sotto la lettera H, 'Help:Categorie', invece che sotto la 'C'.  Un altro esempio è quando hai delle pagine contenuto che per titolo hanno &amp;lt;code&amp;gt;Nome Cognome&amp;lt;/code&amp;gt; ma che all'interno di una particolare categoria vuoi che siano visualizzate in questo modo: &amp;lt;code&amp;gt;Cognome, Nome&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
il parametro di ordinamento alfabetico non ha effetto sul titolo della pagina che viene visualizzato nella lista degli articoli di una categoria, ma solo sulla lettera sotto la quale essa viene posta. Nell'esempio di sopra, se accedo a 'Pagine speciali'=&amp;gt;'Categorie', vedrò questa pagina visualizzata sotto la lettera 'C' e vedrò un link scritto così: &amp;quot;Help:Categorie&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un altro modo per ordinare gli articoli senza utilizzare il 'namespace' è:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[Categoria:Help|{{SUBPAGENAME}}]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo è utile quando si usa un template che include un tag Categoria.&lt;br /&gt;
&lt;br /&gt;
== Link ad una pagina di una categoria ==&lt;br /&gt;
&lt;br /&gt;
Per creare un link all'interno di un articolo, utilizzate i ':' prima della parola 'Categoria'&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[:Categoria:NOME]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dove quel 'NOME' è il nome della categoria al quale si vuole fare riferimento. Se per esempio avessimo scelto la categoria 'Aiuto', il link sarebbe stato [[:Categoria:Aiuto]].&lt;br /&gt;
&lt;br /&gt;
Per visualizzare un testo alternativo, basta aggiungerlo dopo il nome della categoria seguito da una barra verticale:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[:Categoria:NOME|TESTO]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lo stesso link a Categoria:Aiuto formattato come sopra può essere usato per ottenere questo risultato: [[:Categoria:Aiuto|MediaWiki Help Index]]&lt;br /&gt;
&lt;br /&gt;
== Creare Sottocategorie ==&lt;br /&gt;
&lt;br /&gt;
Esempio: Voglio creare una pagina appartenente alla categoria 'Cantieri', che a sua volta si trova sotto la categoria 'Sicurezza':&lt;br /&gt;
&lt;br /&gt;
* Creo la pagina (o ne modifico una esistente)&lt;br /&gt;
* Gli applico il tag &amp;lt;nowiki&amp;gt;[[Categoria:Cantieri]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Clicco sul link in rosso generato con il tag appena scritto&lt;br /&gt;
* Entro nella modifica della categoria 'Cantieri' e gli applico questo tag &amp;lt;nowiki&amp;gt;[[Categoria:Sicurezza]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Fatto!'''&lt;br /&gt;
&lt;br /&gt;
== Spostare le categorie ==&lt;br /&gt;
Le categorie non possono essere spostate facilmente come altre pagine. Per questa ragione il nome di una categoria deve essere scelto accuratamente.&lt;br /&gt;
&lt;br /&gt;
Chi possiede i privilegi di amministratore può creare una nuova pagina, cancellare quella vecchia, e quindi cambiare il tag categoria in tutti i membri di quella categoria (manualmente o con un bot). Comunque, questo fa perdere la cronologia delle pagine - che non è un grosso problema se le categorie sono utilizzate per la navigazione. Ma quando un progetto wiki è ben strutturato contiene un numero considerevole di testi, che rendono questa perdita sgradevole.&lt;br /&gt;
&lt;br /&gt;
=== Spostamenti che conservano la cronologia ===&lt;br /&gt;
Comunque le pagine di una categoria ''possono'' essere spostate mantenendo la cronologia, con un certo sforzo, utilizzando le funzioni [[Special:Export]] e [[Special:Import]].&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Aiuto:Collegamenti&amp;diff=1818</id>
		<title>Aiuto:Collegamenti</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Aiuto:Collegamenti&amp;diff=1818"/>
		<updated>2009-03-04T15:49:32Z</updated>

		<summary type="html">&lt;p&gt;Leo72: Nuova pagina: Ci sono diversi tipi di link in MediaWiki:  # link a pagine interne # link a siti esterni  Per aggiungere un link interno, racchiudi il titolo della pagina tra due parentesi quadre. Qu...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci sono diversi tipi di link in MediaWiki: &lt;br /&gt;
# link a pagine interne&lt;br /&gt;
# link a siti esterni&lt;br /&gt;
&lt;br /&gt;
Per aggiungere un link interno, racchiudi il titolo della pagina tra due parentesi quadre. Quando salvi la pagina, vedrai il link alla pagina. Se la pagina esiste, il link sarà blu, altrimenti rosso. Link alla pagina stessa non saranno trasformati in URL ma visualizzati in grassetto.&lt;br /&gt;
&lt;br /&gt;
La prima lettera del titolo è automaticamente convertita in maiuscole gli spazi vengono sostituiti da underscore (mettendo un underscore nel link, non verrà modificata la pagina linkata ma verranno visualizzati underscore nel testo).&lt;br /&gt;
&lt;br /&gt;
== Link ==&lt;br /&gt;
{| {{Prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Hl3}}|'''Descrizione'''&lt;br /&gt;
|{{Hl3}}|'''Testo'''	&lt;br /&gt;
|{{Hl3}}|'''Risultato'''&lt;br /&gt;
|-&lt;br /&gt;
|Link interno&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[Pagina principale]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[[Pagina principale]]&lt;br /&gt;
|-&lt;br /&gt;
|Link a categorie&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:Categoria:Aiuto]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[[:Categoria:Aiuto]]&lt;br /&gt;
|-&lt;br /&gt;
|Link con nome&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[Pagina principale|testo]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[[Pagina principale|testo]]&lt;br /&gt;
|-&lt;br /&gt;
|Link a sezioni della pagina&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[#Collegamenti esterni]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[[#Collegamenti esterni]]&lt;br /&gt;
|-&lt;br /&gt;
|Link esterni&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://mediawiki.org&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|http://mediawiki.org&lt;br /&gt;
|-&lt;br /&gt;
|Link a file&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[media:example.jpg]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[[media:example.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|Link esterni,&amp;lt;br /&amp;gt;&lt;br /&gt;
con titolo&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[http://mediawiki.org MediaWiki]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[http://mediawiki.org MediaWiki]&lt;br /&gt;
|-&lt;br /&gt;
|Link esterni,&amp;lt;br /&amp;gt;&lt;br /&gt;
senza titolo&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[http://mediawiki.org]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[http://mediawiki.org]&lt;br /&gt;
|-&lt;br /&gt;
|Link esterni,&amp;lt;br /&amp;gt;&lt;br /&gt;
stesso server senza titolo&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[http://{{SERVERNAME}}/pagename]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[http://{{SERVERNAME}}/pagename]&lt;br /&gt;
|-&lt;br /&gt;
|mailto&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;mailto:info@example.org&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|mailto:info@example.org&lt;br /&gt;
|-&lt;br /&gt;
|mailto senza titolo&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[mailto:info@example.org]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[mailto:info@example.org]&lt;br /&gt;
|-&lt;br /&gt;
|mailto con titolo&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[mailto:info@example.org info]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|[mailto:info@example.org info]&lt;br /&gt;
|-&lt;br /&gt;
|redirect&lt;br /&gt;
|&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#REDIRECT [[Pagina principale]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;amp;rarr; [[Pagina principale]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Categoria:Aiuto]]&lt;/div&gt;</summary>
		<author><name>Leo72</name></author>
	</entry>
</feed>