Partie III : 1) Nos premières fenêtres

 
Nous allons enfin laisser tomber la console (avouer que vous devez en avoir un peu marre de cette présentation un peu austère) pour passer à la création de fenêtres. Vous maitrisez désormais les bases essentielles de JB. En effet avec ce que vous connaissez vous pouvez créer un bon nombre d’algorithmes etc.
GUI signifie Grafical User Interface, c'est-à-dire Interface Utilisateur Graphique, en gros fenêtres et cie. C’est partie, ouvrons notre première fenêtre !




Prompt et Notice




Fenêtres Prompt et Notice





Cette fenêtre permet de demandé à l’utilisateur d’entrer du texte. C’est exactement comme le ‘input’ de la console sauf que c’est un input qui se fait dans une fenêtre, d’ailleurs l’écriture est quasiment identique. La voici :
Code VB :
prompt "Bonjour ! Quel est ton nom ?"; nom$



Cette fenêtre est l’équivalent du print de la console. Pour l’afficher rien de plus simple :
Code VB :
notice "Bonjour";nom$ ;"!"




Ci-dessous vous pouvez voir deux programmes identiques, sauf que l’un s’exécute dans la console et l’autre dans les fenêtres que nous venons de découvrir. Je ne m’attarde pas trop sur la syntaxe puisqu’elle est très semblable.

Console

Fenêtre

Code VB :
print "Bonjour ! Quel est ton nom ?"; nom$
Print "Bonjour";nom$;"!"
end
Code VB :
prompt "Bonjour ! Quel est ton nom ?"; nom$
notice "Bonjour";nom$;"!"
end



Prompt et 'Cancel'




Et si l’on clique sur ‘Cancel’ que se passe-t-il ? et bien pour le moment rien … notre programme affichera "Bonjour !". Il nous faut donc vérifier que l’utilisateur à bien rentrer quelque chose. Pour ce faire il faut vérifier que la variable nom$ n’est pas vide. Si elle l’est c’est soit que l’utilisateur à cliqué sur OK sans rien entrer où qu’il a cliqué sur Annuler.
Et comment fait-on pour vérifier ce que contient une variable ? Avec if bien sûr. Et si la variable nom$ est vide nous enverrons l’utilisateur au début du programme grâce à goto. Tant que l’utilisateur n’aura pas rentré son nom la fenêtre se réaffichera à l’infini !

Code VB :
 
[debut]
prompt "Bonjour ! Quel est ton nom ?" ; nom$
if nom$= "" then
	goto [debut]
end if
notice "Bonjour";nom$ ;"!"
end
 

Et voilà le tour est joué :D


NoMainWin




Vous avez sûrement remarqué que lorsque nous lançons nos fenêtres la console se lance aussi quand bien même nous ne nous en servons pas. Avouez que cela n’est pas terrible ! Pour dire à JB de ne pas lancer la console, il suffit d’ajouter l’instruction NoMainWin en haut de notre code. NoMainWin étant l’abréviation de No Main Window, à savoir ‘Pas de fenêtre principale’, la console étant la fenêtre principale de JB. Essayer le code précédemment donné en rajoutant NoMainWin juste au dessus du prompt. Et hop la console disparait ! :D



chr$() et titre de fenêtre




Nos fenêtres sont certes très jolies mais vous avez bien remarqué que le bandeau de la fenêtre du prompt est vide et celui du notice affiche simplement ‘-Notice-‘ … mais JB nous permet de changer ça !
Pour cela il va nous falloir recourir à un petit subterfuge. Nous allons nous servir d’une fonction native de JB la fonction chr$(). (‘native‘ signifie que c’est une fonction déjà présente dans JB, nous n’aurons pas à l’écrire) chr$() est l’abréviation de character et ne prend qu’un paramètre. Ce paramètre c’est un chiffre.

Donc je rentre n’importe quel chiffre et c’est bon ?! Eh non ça serait trop facile.
C’est un chiffre qui doit venir de la table ASCII. L’ASCII est l’abréviation de American Standard Code for Information Interchange, « Code américain normalisé pour l'échange d'information ». C’est un jeu de caractère utilisé dès les débuts de l’informatique. A chaque caractère comme par exemple le a, le e, l’espace ou le retour à la ligne correspond un chiffre. Par exemple le code ASCII du caractère ‘&’ est 38.

Ici nous allons nous servir du numéro 13 qui correspond à un retour à la ligne. Nous allons donc reprendre notre programme précédent. Pour ajouter un titre il faudra tout simplement le marquer directement après le prompt ou le notice puis le faire suivre de +chr$(13)+ et rajouter ensuite le reste :

Code VB :
prompt  "Ma première fenêtre"+chr$(13)+"Bonjour ! Quel est ton nom ? " ; nom$
notice "Ma seconde fenêtre"+chr$(13)+"Bonjour " ;nom$ ; " ! "
end


Et voilà nos fenêtres ont désormais un titre !
Chr$() nous permet donc d’afficher plein de caractères ! Vous vous êtes sûrement demandé comment faire si l’on souhaitait par exemple mettre le nom entre guillemets. Vous l’aurez compris, notice "Bonjour "";nom$;"" !" ne marche pas ! Pour cela notre ami chr$() est là. Le chiffre dont nous avons besoin est le chiffre 34 :
Code VB :
notice "Bonjour "+chr$(34)+nom$+chr$(34)+" !"
et hop tout marche parfaitement !

Et moi comment je fais pour deviner le chiffre dont j’ai besoin ?
Vous pouvez tout simplement aller sur internet et taper « ASCII table » sur votre moteur de recherche préféré ou demandé directement à JB. Oui mais comment ? Avec la fonction native de JB : asc().
notice asc("e") vous affichera donc 101 qui est le code ASCII de la lettre ‘e’.





Et voilà, c'est tout pour aujourd'hui ! Vous pouvez désormais ouvrir vos propres fenêtres. Elles sont basiques, je l'avoue mais ça reste des fenêtres. Dans le prochain chapitre nous apprendrons à ouvrir des fenêtres beaucoup plus complexes ;)

 
Cette page a été consultée 4181 fois