[TUTO] Premiers pas avec la programmation

Informations pour bien débuter en PureBasic
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

[TUTO] Premiers pas avec la programmation

Message par Le Soldat Inconnu »

Ce tuto est destiné au débutant total en programmation, je vais essayer d'aborder les bases de la programmation.

On va commencer par faire une fenêtre windows toute bête :
; mis en V4.00+ par Dobro, quelques corrections par djes

#numero_fenetre = 1 ; on crée une constante égale à 1 qui va servir à numéroter la fenêtre

; on ouvre la fenêtre
OpenWindow ( #numero_fenetre , 400, 100, 400, 300, "Une fenêtre" , #PB_Window_SystemMenu )
; #numero_fenetre permet de donner un numéro à la fenêtre, ici 1. On n'est pas obligé d'utiliser une constante, on aurait aussi bien pu mettre 1 ou 0 ou n'importe quel nombre.
; on a ensuite la position et la taille, le type de la fenêtre et le titre, voir l'aide.
; #PB_Window_SystemMenu est une option pour que la fenêtre soit dotée d'un menu, menu qui apparaît quand on clique sur l'icone de la barre de titre.

; on attend 5 secondes, sinon, on n'aurait pas le temps de voir la fenêtre.
Delay (5000)

; passé ce délai, le programme se termine, et la fenêtre va être automatiquement fermée.
Note de djes : il existe également un très bon tutoriel pour apprendre à programmer avec Purebasic, réalisé par Comtois. Voir ici : http://comtois.developpez.com/tutoriels ... sentation/
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

On va maintenant s'attacher à regarder ce qui se passe quand on effectue une action sur la fenêtre.

Voici comment faire pour détecter l'appui sur la croix pour fermer la fenêtre.
; mis en V4.02 Dobro, corrections par djes
#numero_fenetre = 0

OpenWindow ( #numero_fenetre , 400, 100, 400, 300, "Une fenêtre" , #PB_Window_SystemMenu )
; #numero_fenetre permet de donner un numéro à la fenêtre, ici 0
; on a ensuite la position et la taille, le type de la fenêtre et le titre, voir l'aide

; on va maintenant regarder si on appuie sur la croix en haut à droite de la fenêtre
; pour cela, il faut regarder les événements qui se produisent sur la fenêtre
; pour attendre et récupérer les événements, il faut utiliser la commande WaitWindowEvent()

; on va aussi faire une boucle pour attendre, recevoir, traiter les événements, et recommencer

; ce type de boucle permet de répéter (repeat) le code écrit entre le repeat et le until (jusqu'à) ce que la condition placée après le until soit vraie
Repeat
    Evenement = WaitWindowEvent () ; on lit l’événement qui s'est produit sur la fenêtre, s'il n'y en a pas, le programme va attendre sur le waitwindowevent() jusqu'à ce qu'un événement se produise
    
     ; Un événement est représenté par un numéro, chaque numéro correspond à une action
     ; cela va de la souris qui a bougé au clic sur un bouton, etc.
     ; Essayez de cliquer, déplacer la fenêtre, la souris et vous verrez que chaque action correspond à un numéro
     Debug "Un événement s'est produit sur la fenêtre"
     Debug "Le numéro de l'événement est :"
     Debug Evenement
    
Until Evenement = #PB_Event_CloseWindow
; si le numéro de l'événement est égal à celui qui correspond à l'appui sur la croix
; #PB_Event_CloseWindow est le numéro de l'événement qui correspond à l'appui sur la croix

Debug "Vous avez fermé la fenêtre"

Même si vous ne comprenez pas tout le code, faites des essais en l'exécutant, les commentaires s'affichant dans le débogueur doivent vous aider.
Dernière modification par Le Soldat Inconnu le lun. 24/mai/2004 12:07, modifié 1 fois.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

La condition If :

Quelques exemples de condition, il suffit de lancer le programme ci-dessous plusieurs fois avec le debugguer actif pour voir les comportement des différentes conditions possibles.


; On va générer un nombre aléatoire qui va permettre de faire les essais dans la suite du programme
nombre = Random (100)

; On commence les tests

Debug "La valeur du nombre est :"
Debug nombre

; La condition IF simple
Debug ""
Debug "La condition If simple"

If nombre < 50 ; si le nombre est inférieur à 50
     Debug "Le nombre est inférieur à 50"
EndIf
If nombre >= 50 ; si le nombre est supérieur ou égal à 50
     Debug "Le nombre est supérieur ou égal à 50"
EndIf

; La condition IF Else (Si, sinon)
Debug ""
Debug "La condition If Else"

If nombre < 30 ; si le nombre est inférieur à 30
     Debug "Le nombre est inférieur à 30"
Else ; sinon
     Debug "Le nombre est supérieur ou égal à 30"
EndIf

; La condition multiple If ElseIf Else
Debug ""
Debug "La condition If ElseIf Else"

If nombre < 30 ; si le nombre est inférieur à 30
     Debug "Le nombre est inférieur à 30"
ElseIf nombre < 60 ; sinon, si le nombre est inférieur à 60
     Debug "Le nombre est supérieur ou égal à 30 et inférieur à 60"
Else ; sinon
     Debug "Le nombre est supérieur ou égal à 60"
EndIf

; La condition composée avec des Or ou des And
Debug ""
Debug "La condition composée avec des Or ou des And"

If nombre < 30 Or nombre > 70 ; si le nombre est inférieur à 30 ou supérieur à 70
     Debug "Le nombre est inférieur à 30 ou supérieur à 70"
EndIf

If nombre >= 30 And nombre <= 70 ; si le nombre est compris entre 30 et 70
     Debug "Le nombre est compris entre 30 et 70"
EndIf
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Select
la fonction Select est une forme de condition particulière


; On va générer un nombre aléatoire qui va permettre de faire les essais dans la suite du programme
nombre = Random (9)

; On commence les tests

Debug "La valeur du nombre est :"
Debug nombre

; La fonction Select
; Elle permet d'associer du code en fonction de la valeur du nombre
Select nombre
     Case 0 ; si le nombre est égal à 0
         Debug "Le nombre est égal à 0"
     Case 1 ; si le nombre est égal à 1
         Debug "Le nombre est égal à 1"
     Case 2 ; si le nombre est égal à 2
         Debug "Le nombre est égal à 2"
     Case 3 ; si le nombre est égal à 3
         Debug "Le nombre est égal à 3"
     Case 4 ; si le nombre est égal à 4
         Debug "Le nombre est égal à 4"
     Case 5 ; si le nombre est égal à 5
         Debug "Le nombre est égal à 5"
     Default ; sinon
         Debug "Le nombre est supérieur à 5"
EndSelect
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Les boucles :


; Les boucles

;- La boucle For Next
Debug "La boucle For"
; Cette boucle permet de faire varier une valeur entre 2 bornes
; Ici, "Nombre" va varier de 1 à 10
For nombre = 1 To 10
     Debug nombre
Next
; Une fois que "Nombre" vaut 10, on sort de la boucle For


;- La boucle Repeat Until
Debug ""
Debug "La boucle Repeat Until"
; Cette boucle signifie "répéter jusqu'à"
; On répète donc le code jusqu'à ce que la condition mis aprèr le until soit vrai

; Dans cette exemple, je m'arrête dès que "Nombre" est supérieur à 20
nombre = 0
Repeat
    nombre = nombre + 2 ; on ajoute 2 à "Nombre"
     Debug nombre
Until nombre > 20 ; jusqu'à ce que "Nombre" soit supérieur à 20

;- La boucle While
Debug ""
Debug "La boucle While"
; Cette boucle signifie "répète tant que"
; On répète donc le code tant que la condition mis après le While est vrai

; Dans cette exemple, je m'arrête dès que "Nombre" est supérieur à 20
nombre = 0
While nombre <= 20 ; Tant que la condition est vrai, on exécute le code mis entre le While et le Wend
    nombre = nombre + 2 ; on ajoute 2 à "Nombre"
     Debug nombre
Wend
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Répondre