Notre Hello World a nous sera seulement une fenetre avec un contrôle au milieu avec ecrit: "salut la dedans".
Pour ce faire il suffit de lancer un nouveau projet:

comme vous le voyez ici, cette fenetre n'apparait qu'a l'ouverture de VB, vous devez choisir nouveau projet: "Exe standart" puis ouvrir.
ensuite vous obtenez ceci:

vous avez maintenant votre fenêtre principale du programme.
il faut maintenant mettre un label dessus pour afficher "salut la dedans" pour ca clickez dans la liste a gauche sur le controle label entouré de rouge et marqué par une fleche sur l'image ci-dessus, ensuite vous pouvez le poser sur votre fenetre en faisant un double click dessus ou simplement un click+glisse&lache (drag and drop marqué par la flèche jaune), et grâce aux points de redimensionnement vous pouvez lui donner la taille voulue.
ce controle label est un objet (puisque VB est un langage orienté objet) qui a des proriétés et des methodes. une methode c'est une action, et une propriété c'est une qualité qui a une valeur.
On y accède comme ceci dans le code:
NomDuLabel1.ProprieteAAcceder = ValeurVouluece qui peux donner en pratique (dans notre exemple le nom par defaut du 1er label que l'on pose est label1 donc:
Lebel1.caption = "Salut la dedans"ceci est une ligne de programme, voila sa décomposition:
dans cette capture d'écran j'ai tapé cette ligne dans un évenement, c'est l'évenement form1_Load il s'execute au démarrage du programme quand la fenêtre (form) se charge (load).
pour lancer le programme une fois que vous avez obtenu ceci:
En effet, ca programmation c'est comme en Qbasic mais il ne faut pas penser "plein ecran dos" mais "fenetre windows et evenements".
En VB il n'y a pas de programme principal qui s'execute au demarrage (sauf en cas de programme sans fenetre dans ce cas c'est la sub main()) mais une fentre principale, et dans cette fenetre on peux intercepter des evenements.
on peut aussi pour l'exemple gérer un evenement du controle label1, l'envenment Click qui ne s'enclenche que quand l'utilisateur clique sur le label1 (et donc le texte "salut la dedans"):
maintenant je vous explique la programmation basic sans m'occuper de l'interface graphique, maintenant que vous savez faire des fenetres, vous savez comment afficher des resultats, et meme recupérez ceux de l'utilisateur. septique ? ok un dernier petit exemple pour récuperer un texte entré au clavier:
en programmation, il faut souvent retenir des valeurs qui peuvent etre tout le temps differente et changer, on appelle ca des variables, c'est comme une lettre en maths, on peut appeller x la variable définie sur R. en programmation on appellera x une variable d'un cetain type, ici le type Variant.
-le type BOOLEAN qui ne peu contenir que "true" ou "false". pas de signe doit etre déclaré
il en existe d'autre...
je vous laisse comprendre les effets de ce programme...
(pour comprendre les boucles et autre structures comme les conditions, il est possible de vous referer au cours de Qbasic disponible sur ce meme site.)
Si vous souhaitez executer des instructions plusieurs fois, il ne faut pas les réécrirent, mais utiliser des boucles:
par exemple pour dessiner un carré a l'aide de lignes sur une fenetre (exemple idiot mais c'est pour l'exemple) il faut se servir de variables et de boucles.
il faut utiliser l'instrucion Exit. Bien sur elle est presque tout le temps précédée d'une condition parce que executer une boucle qui s'arrete immediatement ca ne sert a rien.
par exemple:
une boucle infinie ou plutot a nombre d'iteration INDEFINI, exemple:
ou bien:
ou bien:
a part For Next et do loop il exite d'autre type, mais on ne les utilisent pas.
mais aussi
c'est quand il y a plusieurs boucles qui se contiennent.
Vous en avez vu deux ou trois prototypes dans les boucles, elles servent a executer le programme de maniere differente en fonction d'informations variables.
exemple:
le select case ne peut agir que sur une seule variable contrairement au "If then else" qui peut en verifier plusieurs, exemple:
quand on veut verifier des intervalles ou plusieurs possibilités, on utiliser les operateurs booléens, exemple:
c'est tout pour aujourd'hui, en cas de question suplémentaires: lightness1024@numericable.fr

il suffit de taper sur
Pour enregistrer un projet vous devez absolument créér un nouveau répertoire ou vous voulez puis ensuite d'enregistrer le projet dedans, il y aura: un fichier .vbp (projet) un fichier .frm (feuille (fenetre)) et un fichier .frx (ressource pour la fenetre). Plus vos projets deviennent complexes plus il y a de fichiers, donc pour ne rien melanger, utilisez les repertoires.
Les evenements, sont representés sous forme de procedures. Les procedures sont des bout de programmes qui sont appellées des nombres de fois indefinis et on les appelle des Sub. on peux aussi faire des Fonctions ou des Gosubs dans les sub, et appeller d'autre sub a partir d'une sub ou d'une fonction et une fonction ou une sub peut s'appeller elle meme (on appelle ca la recursivité).
par exemple l'evenement Load, ce qui est tout a fait exploitable a notre niveau puisque on veut afficher "salut la dedans" dans la text box sans passer par l'IDE visuel (en création), on appelle ca changer les propriétés en executution.
le code de la fenetre donnera ca, pour y acceder, double cliquez sur la fenetre:
Private Sub Form_Load()
Label1.Caption = "Salut la dedans"
End Sub
avec ca à l'execution le programme ecrira "salut la dedans" dans le controle label1.
pour acceder a la procedure de l'evenement double cliquez sur le controle label1.
l'evenement Click est inscrit par defaut, mais vous pouvez tous les voir dans la liste déroulante en haut de la fenetre du code a droite.
Private Sub Label1_Click()
MsgBox "salut!"
label1.caption = "on m'a changé !!"
End Sub
au lieu de vous expliquer le code, testez le !!
pour ca vous devez mettre un objet TextBox symbolisé dans la barre d'outil par la case en creux avec fond blanc et "ab" ecrit dedan juste a droite du controle Label. Donc posez le sur la fenetre, puis ensuite insérez en un autre, mais cette fois de type CommandButton il se situe juste en dessous du controle TextBox (lisez les Infobulles). puis mettez le sur la fenetre en dessous du controle textbox, en creation vour pouvez changer la propriété caption du bouton pour ecrire dedans "OK" par exemple...
ensuite vous double cliquez sur ce bouton, vous obtenez l'evennement click du bouton, puis tapez:
Private Sub CommandButton1_Click()
label1.caption = Text1.Text
End Sub
bien evidemment il faut avoir laissé notre bon vieux controle label sur la feuille, et quan vous cliquerz sur le bouton, ce que vous avez tapé (en execution) dans la boite de texte, s'affichera en texte a l'emplacement du controle label1.
-le type BYTE qui ne peu contenir que des nombres entiers de 0 a 255. pas de signe doit etre déclaré
-le type INTEGER qui ne contient que des nombres entier de -32768 a +32767. signe %
-le type SINGLE qui contient des nombres a virgule avec des limites: signe !(-3,402823E38 et -1,401298E-45).
-le type DOUBLE qui contient des nombres a virgule avec des limites: signe #(-1,79769313486232^308 et -4,94065645841247^-324).
-le type CURENCY qui contient que des nombres a virgule fixe (4) de -922 000 milliards a +922 000 milliards. signe @
-le type STRING qui est un type qui permet d'enregistrer des chaines de caracteres, comme le type de la propriété caption du controle label. signe$
Private Sub form_load()
dim super as integer ' ceci est un commentaire, l'apostrophe l'introduis
dim mega,mega2 as string ' mettre une virgule delare les 2 variable du meme type
dim mega3 as string ' on aurai tres bien pu mettre mega3 a la ligne du
' dessus en separant d'une virgule
dim fait as boolean ' le seul moyen d'avoir une variable de ce type est
' de la declarer avec dim
qqun$ = "je suis qqun"
msgbox qqun$
qqun$ = qqun$ & ", je suis moi"
msgbox qqun$
qqun$ = ""
msgbox qqun$
qqun$ = "c t 1 peu naz la boite vide"
msgbox qqun$
LaSubDefinieParLutilisateur
super = 890
mega = qqun$
mega2 = "je suis le 2"
mega3 = "je suis le 3"
fait = false
fait = not fait
super = super + 500
super = super - 500
mega4$ = mega + " " + mega2 + " " & mega3
msgbox "resultat:" & mega4 & " fait est " & fait & "super vaut" & str$(super)
End Sub
Private Sub LaSubDefinieParLutilisateur()
msgbox "moi je suis une sub"
End Sub
la seule chose a commenter serait la fonction str$, ce n'est pas une variable, donc si vous utilisez ce nom dans une variable, vous obtiensrez une erreur. Elle sert a convertir une variable chiffre, en chaine pour rendre l'affichage dans la msgbox d'un chiffre possible. remarquez, si il n'y avoit eu qu'elle, la convertion n'etait pas obligatoire.
for x% = 0 to 50
form1.line (x%, 50)-(x%, 100), Qbcolor(4)
next
-explications:
ce programme execute 51 fois l'instruction line.
la variable x de type INTEGER va etre incrementée (augmentée de 1) a chaque passage de la boucle, et elle commence a 0. Dès qu'elle atteind 50 et que le programme est sur l'instruction "next", il va continuer et ne plus refaire la boucle.
ici x% est aussi utilisé dans les instructions au milieu de la boucle. On s'en sert pour déplacer a chaque fois la ligne d'un pixel vers la droite (le repere commence en haut à gauche de la fenetre).
-> ATTENTION: Visual Basic gere les coordonnées en twips par defaut, il faut regler pixel(3) dans les propriétés de la fenetre dans la zone "Echelle".
la couleur de la ligne est définie a la fin. Windows attend une couleur RVB (couleur réele) mais pour l'exemple on ne voulait pas d'une grande precision alors on va utiliser la fonction qui simule l'effet des vieilles 16 couleurs du DOS avec QbColor le 4 correspond au rouge foncé.
Attention a ne pas modifier la variable de controle de la boucle en son interieur, sauf si vous souhaitez un effet special.
for i% = 0 to 15000
if i% = 80 then exit
next
cette boucle ne va pas tourner jusqu'au bout, elle va s'arreter a 80.
Do
a = MsgBox("on continue ?", vbQuestion + vbYesNo)
If a = vbNo Then Exit Do
Loop
Do
a = MsgBox("on continue ?", vbQuestion + vbYesNo)
Loop while a = vbyes
Do
a = MsgBox("on continue ?", vbQuestion + vbYesNo)
If a = vbNo Then Exit Do
Loop until a = vbno
Vous voyez qu'il y a beacoup de possibilités, et il en reste. Voila pourquoi on dit "langage" car comme dans une langue on peut dire une chose de plein de manieres differentes.
je vais plutot développer la boucle for next:
Pour faire un carré mais incomplet (avec des lignes espacées par exemple) on peut faire ca:
for x% = 0 to 19
line (x%*2, 0)-(x%*2, 40), rgb(0,0,0)
next
for x% = 0 to 38 step 2
line (x%, 0)-(x%, 40), 0
next
for x% = 1 to 20
for x% = 1 to 50
pset (x%, y%),0
next
next
la on devrait aussi obtenir un rectangle noir, car pset dessine un point, si on le fait balayer une surface grace a 2 coordonnées qui vont augmenter cela va créer un rectangle.
If Hour(Time) < 12 Then
MsgBox "il est le matin"
Else
MsgBox "il n'est pas le matin"
End If
hour(time) renvoie l'heure du moment (entre 0 et 23) la condition "if" teste sa valeur, si elle est en dessous de 12 on affiche une boite de message, sinon une autre.
exemple 2:
If Hour(Time) < 12 Then
MsgBox "il est le matin"
ElseIf Hour(Time) >= 12 then
MsgBox "il est l'apres-midi"
End If
ici le fonctionnement est le meme, mais la verification de la 2eme condition se fait grace a un "ElseIf", instruction qui permet un nombre illimité de verifications, attention si une verification fonctionne les autre ne seront pas verifiées ! (en partant du haut).
t = hour(time)
select case t
case 0
msgbox "minuit"
case 1
msgbox "1 heure"
case 2 to 12
msgbox "matin"
case else
msgbox "les autres heures (apres midi, soir)"
end select
vous comprenez surement !
cinq = 5
six = 6
trois = 3
neuf = 9
if cinq <= 5 or six = 7 then
'vrai
endif
ici le programme cherche si la variable appellee cinq est inferieure ou egale a 5 et si six est egale a 7 (ce qui est faux ici) mais avec un "ou (or)" il suffit d'une conditions verifiée pour ke tout la condition soit vraie.
il existe d'autres operateurs: AND, NOT, XOR
vous pouvez faire des recherche sur internet a booléen et vous aurez plus d'information.
Lightness1024! ProgrammatO EURL le 8/7/1
retour