Gambas 3/GraphicalApplication
Créez votre première application graphique.
Démarrez l'environnement de développement ! 
Actions en détails si nécessaire : 
Créez un projet de type "Application graphique" ! 
Actions en détails si nécessaire : 
Ignorez l'astuce du jour pour l'instant ! 
Voici une petite remarque sur les astuces : 
Affichez le volet permettant d'explorer le projet avec la touche F10 si nécessaire ! 
Un formulaire a été automatiquement créé, c'est le FMain. Il s'agit du formulaire principal. 
A ce stade, vous l'aurez compris. Il suffit de faire F5 pour démarrer l'application graphique en mode débogage ! 
OK. Mais on va en faire plus. :-)
Nous allons insérer un module et nommer MMain. 
Pour faire cela, faites : 
Sélectionnez si nécessaire le module MMain en faisant un double-clic sur "MMain" dans le volet du projet ! 
Ensuite, nous allons faire en sorte que Gambas amorce l'application avec le module que nous venons d'insérer ! 
Observez le symbole du module et celui du formulaire ! Pour le moment, le projet démarre avec le formulaire. Pour modifier ceci : 
Remarquez le symbole dans le volet qui vous indique où Gambas recherche l'amorce du projet. 
Nous devons encore insérer la routine Main dans notre module MMain ! 
Je vais vous faire gagner du temps. Copiez le code ci-dessous et insérez-le dans le module ! 
' Gambas module file
Private form1 As FMain
Private form2 As FMain
' la routine de démarrage ... 
Public Sub Main()
 '
 ' on crée les objets ici ... 
 If Not Object.IsValid(form2) Then
 form2 = New FMain ' crée un objet avec le moule FMain ...
 form2.DefineCaptionAndText("Fenêtre 2")
 form2.Show()
 Endif
 If Not Object.IsValid(form1) Then
 form1 = New FMain
 form1.DefineCaptionAndText("Fenêtre 1")
 Endif
 ' et on affiche pour la première fois le formulaire 1 ...
 HideAndShow(form2, form1)
End
Public Sub HideThisForm(f As Form)
 If f = form1 Then
 HideAndShow(form1, form2)
 Else
 HideAndShow(form2, form1)
 Endif
End
Public Sub QuitApplication()
 If Object.IsValid(form1) Then
 form1.Close()
 Endif
 If Object.IsValid(form2) Then
 form2.Close()
 Endif
End
Private Sub HideAndShow(formToHide As Form, formToShow As Form)
 Dim r, g, b, a As Integer
 formToHide.Hide()
 formToShow.Top = formToHide.Top
 formToShow.Left = formToHide.Left
 formToShow.Width = formToHide.Width
 formToShow.Height = formToHide.Height
 r = GetRandomInt()
 g = GetRandomInt()
 b = GetRandomInt()
 a = GetRandomInt()
 formToShow.Background = Color.RGB(r, g, b, a)
 If a < 20 Then a = 20 ' moins de 20 = presque totalement transparent ! 
 Print "Valeur de a == " & CStr(a)
 formToShow.Opacity = a
 formToShow.Show()
End
Private Function GetRandomInt() As Integer
 Dim f As Float 
 Dim i As Integer
 f = Rnd(0, 256)
 i = Floor(f)
 Return i
End
Je vais aussi vous donner le code du formulaire ! Mais comment afficher ce code ? 
Pour commencer, je choisi cette manière de faire parmi plusieurs possibilités : 
S'il y a du code, supprimez le ! Puis copiez le code ci-dessous et insérez-le dans le code du formulaire ! 
' Gambas class file
' events
Public Sub Form_DblClick()
 MMain.HideThisForm(Me)
End
Public Sub Form_Close()
 MMain.QuitApplication()
End
Public Sub DefineCaptionAndText(caption As String)
 Me.Text = caption
End
Une autre façon d'éditer le code du formulaire : 
Le curseur sera placé dans la procédure Form_Close() car c'est cette procédure qui est appelée par le gestionnaire d'événements de Gambas à la fermeture de la fenêtre. 
J'ai aussi utilisée l'événement double-clic. C'est la procédure Form_DblClick(). 
Cette modeste application colorée jongle avec deux fenêtres. Ceci me permet de vous montrer un peu de code Gambas. 
Les routines avec le mot-clef Public peuvent être appelées depuis d'autres modules, ou d'autres formulaires. 
Si vous affichez le code du module MMain, il y a tout en bas une routine et une fonction privée. Vous le voyez car il y a le mot-clef Private ! 
Ceci signifie que l'appel de la routine ou de la fonction ne peut se faire que depuis le code du module. Ceci permet plus de contrôle, plus de sécurité et un code plus propre. Mais au début de votre apprentissage, vous pouvez tout laisser Public. 
Démarrez l'application et double-cliquez sur la fenêtre ! 
Une nouvelle fenêtre apparaît, redimensionnez-la ! 
Double-cliquez sur la fenêtre pour faire apparaître la première fenêtre ! Etc. 
Fermez quand vous serez lassés ! 
Notez, au passage, que les principes expliqués dans le tutoriel pour le Hello World! en console restent identiques ici. 
Vous pouvez générer l'exécutable, ouvrir un terminal et démarrer l'application graphique de la même façon que l'application console : 
gbr3 guigui2.gambas 
Si vous débutez avec Gambas, retenez les points suivant : 
Si vous êtes plus avancé, retenez les points suivant : 
Ne vous braquez pas si vous trouvez tout cela difficile ! Regardez d'autres exemples et petit à petit, toutes les pièces du puzzle vont s'emboîter. 
Pour conclure, vous savez maintenant comment générer une application graphique. Que de progrès !

Goélette Cardabela/Préface de Histoire d'une construction en amateur

Pour toi Jean-Paul qui as choisi de partager ta passion de la mer 
dès le premier "Salon nautique international de Paris" en 1962 et même avant en 
observant des bateaux à voiles qui te faisaient rêver. 
Au fil des ans et de diverses embarcations de petites tailles, tu 
as toujours cherché à améliorer par tes connaissances les 
bateaux que tu «skippais».
Ton amour de la mer et de la voile, sans cesse renouvelé et 
comme l'écrivait Jean-François DENIAU dans sa traversée de 
l'Atlantique et la poursuite de l'horizon : «La Mer est ronde», 
cet amour de la voile te conduisit vers la création de la 
goélette CARDABELA de 13m74, véritable laboratoire 
navigant que tu voulais faire connaître.
Tu as réussi, car tu sais transmettre le savoir et ta passion de 
la plaisance à la voile, par tout ce que l'on peut lire de tes écrits 
et tu as rassemblé tous les condiments nécessaires dont tu as 
fait une excellente mixture afin de partager au fil des ans 
l'histoire de la naissance de ta goélette.
Cette persévérance et cette réussite après tant d'années, 
m’invite à une grande considération à ton égard. Tu décris à la 
perfection tous les détails de la construction et tous les 
matériaux utilisés dans les moindres détails.
Jean-Paul, tu es un extra terrestre et si par curiosité, vous, 
lecteurs, allez sur le NET, prenez le temps d'ouvrir votre navigateur 
et vous trouverez, par le détail, la construction technique de 
la goélette CARDABELA .
Jean-Paul fourmille d'idées et apporte de la précision, ce qui se comprend
lorsque l'on sait qu'il était ingénieur physicien au CNRS.
Merci Jean-Paul pour tout ce que tu as pu apporter aux lecteurs
passionnés, pour la construction nautique et la plaisance en 
général.
Philippe GRANEL

Goélette Cardabela/Avant propos de Histoire d'une construction en amateur