Voir :
Voir aussi :
Différences avec Visual Basic : http://gambaswiki.org/wiki/doc/diffvb?l=fr
Tutos
Demo rapide :
Visual Programming using Gambas in Linux
CURSO GAMBAS LINUX :
Gambas report short demo / tutorial
Tools - Preferences - Highlighting theme :
Pour forcer une lib graphique particulière
#GB_GUI=gb.gtk3 gambas3 GB_GUI=gb.qt5 gambas3
Pour pouvoir exécuter le code Gambas, seul le Runtime (et quelques autres composants) sont nécessaires. Le Runtime est ici :
/usr/bin/gbx3 (paquet gambas3-runtime)
Pour lancer un programme Gambas il suffit de lancer gbx3 en étant à la racine du projet
Pour compiler en ligne de commande un projet Gambas vous pouvez utiliser gbc3
Exemple
gbc3 -a
Une archive correspond à un exe presque autonome (le Runtine est tout de même nécessaire)
Pour créer une archive Gambas il suffit de lancer la commande gba3 en étant à la racine du projet. Un fichier .gambas est crée. C'est du bytecode avec le shebang /usr/bin/gbr3 (lien symbolique vers gbx3)
Voir :
Il est possible de scripter en langage Gambas
Exemple
hello.gbs
#!/usr/bin/env gbs3 Public Sub Main() Print "Hello Wolrd" End
chmod +x hello.gbs
gbs3 -c -S -w hello_world.gbs
Pour commenter il suffit de procéder le commentaire du caractère apostrophe “'”
Le multiligne s'effectue grâce au caractère “_” (blanc souligné)
Startup class Each project must have a startup class. This startup class must define a static public method named Main with no arguments.
From the Integrated Development Environment file, create a class file rhubarbstructure.class as follows:
PUBLIC foo AS STRING PUBLIC bar AS INTEGER
It is now possible to define a variable utilizing that class, by creating an appropriate definition in the code module as follows:
DIM rhubarb AS rhubarbstructure
Voir :
In Gambas it is necessary to declare every variable. To dimension a variable, the code is:
Dim variablename as type
You can just skip the word Dim , so the following is also correct:
variablename as type
Remplacer Dim par Static pour que la variable ne soit pas détruite à la sortie de la procédure / fonction mais seulement à la fermeture de l'application.
Gambas also supports the += and -= shorthand
Pour le type Variant voir l'instruction VarType
Les tableaux peuvent avoir plusieurs dimension (60 !?)
Dim Tab(15,5)
Tab(1,2) = 10
PUBLIC STRUCT Article Ref AS STRING Designation AS STRING Prix AS INTEGER Poids AS INTEGER END STRUCT
Utilisation
Dim ArticleAchete As Article Dim ArticleVendu As Article Articlechete.Poids = 10 ArticleVendu = ArticleAchete
? Existe t-il un ORM pour faire le mapping entre l'objet créé et la base de données ?
Il n'y a pas de variables globales en Gambas
Un contournement et de les mettre dans le module Main et de les déclarer comme Public
Si vous n'avez pas de module Main dans votre projet mais un Main form, vous pouvez les déclarer as Static Public.
Pour accèder à ces variables vous devez utiliser le nom du module ou du formulaire Main.
MyMainModule.MyGlobalVariable or MyMainForm.MyGlobalVariable
Exemple
Sub Option1_Click () Dim i For i = 1 To 10 Beep Next End Sub
String concatenation operator : “&”
Path concatenation with “&/” operator
This operator deals with trailing slashes
Examples
Print "/home/gambas" &/ ".bashrc" Print "/home/gambas" &/ "/tmp" &/ "foo.bar"
Voir :
Ouvrir un fichier
Dim handle As File handle = Open "myfile" For Read
Translate
Print ("Tranlate me") Print "But do not translate me!"
Substitution avec Subst
Print Subst(("Substitution of &1, &2 and &3"), "first", "second", "third")
Voir :
Exemple de syntaxe d'une fonction qui additionne deux nombres
Fonction
Function Fonc1(Param1 As Float, Param2 As Float) As Float Dim Ret As Float Ret = Param1 + Param2 Return Ret End Function
Appel de la fonction
Print (Fonc1(2, 3))
Dépendances du projet
$ dpkg -S $(strace --trace=%file -f ./testg.gambas 2>&1 |egrep -v "ENOENT|exited|^strace:" |sed -e 's/^.*"\//\//g' |sed -e 's/",.*$//g' |sort -u |grep gambas3) gambas3-runtime: /usr/lib/gambas3/gb.draw.so gambas3-gb-form: /usr/lib/gambas3/gb.form.gambas gambas3-runtime: /usr/lib/gambas3/gb.geom.so gambas3-gb-gtk3: /usr/lib/gambas3/gb.gtk3.so gambas3-gb-gtk3-x11: /usr/lib/gambas3/gb.gtk3.x11.so gambas3-runtime: /usr/lib/gambas3/gb.gui.base.gambas gambas3-gb-gui: /usr/lib/gambas3/gb.gui.so gambas3-gb-image: /usr/lib/gambas3/gb.image.so
Comment faire pour :
Questions :
go fmt sous Go)Limitation :
Notes marketing :