Gambas est un langage de programmation et un environnement de développement graphique sous Linux. Le langage est un dialecte du Basic.

Installation

Gambas est un outil complet. Pour programmer en Gambas, il faut Gambas. Chargez le nécessaire sur la page officielle. Faites attention aux prérequis, Gambas en demande quelques-uns (à la date de rédaction, X11, QT3, KDE3, PostgreSQL et MySQL, les composants bases de données et KDE pouvant être désactivés).

La version utilisée ici est la version 0.80.

Premiers pas

Une fois lancé, Gambas propose d'ouvrir un projet ou d'en créer un. Un certain nombre d'applications exemples est disponible. Il est intéressant d'en ouvrir une pour voir à quoi ressemble la programmation Gambas.

Copie d'écran de Gambas

Immédiatement, si votre système est correctement configuré, vous remarquerez que les textes ne concernant pas le langage sont affichés en français.

Différentes fenêtres sont affichées :

  • Projet : la fenêtre principale, qui contient le menu et l'arborescence des composants de l'application.
  • Propriétés : cette fenêtre, classique des environnements de développement d'interfaces, regroupe les propriétés d'un composant graphique sélectionné.
  • Boîte à outils : cette fenêtre contient les différents composants qui peuvent être ajoutés à une interface.

Si vous double-cliquez sur un composant de code source dans la fenêtre projet, celui-ci apparaîtra. De façon similaire, la fenêtre de construction d'interface apparaîtra en double-cliquant sur un composant de type formulaire.

Copie d'écran de Gambas

Langage objet

Gambas est donc un langage orienté objet reprenant la syntaxe du Basic. Un projet est composé de classes, de formulaires, de modules et de données.

Les classes, comme dans les autres langages orientés objets, sont les modèles qui permettent d'instancier des objets. Comme certains autres langages, comme Java ou C#, une classe et une seule de l'application doit posséder une méthode statique comme point d'entrée du programme. Avec Gambas, cela se spécifie dans la boite de dialogue de création de la classe, ce qui aura pour effet de créer dans le code de la casse une méthode STATIC PUBLIC SUB Main() automatiquement.

Les formulaires sont les différents éléments d'interfaces qui peuvent être affichés et traités par l'application. Créer un formulaire crée automatiquement une classe correspondante, chargée du traitement de ce formulaire.

Les modules sont des fichiers qui contiennent des utilitaires pour l'application. Des fonctions par exemple. D'après la documentation, les modules sont présents pour faciliter la migration de programmes venant d'autres Basic du même style. L'auteur recommande de ne pas utiliser les modules.

Les données sont tous les autres fichiers.

Gambas n'utilise que quelques éléments "objets". Il n'y a entre autre pas de concept d'héritage, sauf dans les composants utilisé. Il existe cependant un type "Object" qui désigne un objet de type quelconque. L'orientation objet de Gambas permet cependant quelques protections : une méthode peut-être publique ou privée. Une méthode peut aussi être une méthode de classe. Même chose pour les variables membres.

Le but du langage est clair : crée rapidement des applications, très probablement en fournissant une interface graphique, avec des concepts simples et un minimum de réutilisabilité.

Instructions

Gambas est un Basic, et les mots clés d'un Basic moderne sont utilisés. Ainsi, en plus du classique FOR existe FOR EACH, à appliquer sur une Collection.

Un système de gestion d'erreur est offert avec les instructions CATCH ou bien TRY. La gestion des fichiers n'est pas oubliée, ainsi que les entrées consoles de données.

Dans les fonctions de base, on trouve aussi une gestion des types, des conversions entre les types de base, des opérations bit à bit, la gestion du temps, des fonctions mathématiques, une gestion de chaînes de caractères,...

Composants

À un programme Gambas peuvent être associés des composants. Cette association se fait dans les propriétés du projet (menu Projet -> Propriétés). Ces composants apportent au langage des classes traitant un domaine précis. Par exemple gb.db traite les bases de données et gb.qt gère les interactions de l'interface graphiques.

Toutes les fonctions et objets offertent par ces composants sont documentées dans l'aide que l'on peut ouvrir avecn le menu ?->Navigateur d'aide.