Page 1 sur 2

Tutoriels PureBasic pour les "GROS NULS".

Publié : jeu. 22/juil./2004 0:58
par Chris
Comme j'en ai un peu ras la casquette de voir toujours les mêmes questions revenir sur le tapis, à savoir "Comment on fait une fenêtre", ou bien "J'ai fait une fenêtre, mais elle ne reste pas ouverte", Je vais essayer de faire une série de tutoriels de base, que j'ai donc intitulé Tutoriels PureBasic pour les "GROS NULS".

Ce serait bien que chacun puisse poster un truc de ce genre, qui expliquerait, de façon détaillée, comment utiliser les fonctions de base de PureBasic.

On pourrait même envisager de faire une section dédiée dans le forum, pour des tutos accessibles aux débutants. (Donc, pas d'Api, ou de trucs du même style, tout au moins pour commencer).

Merci de ne pas polluer ce post. Si vous avez un tutoriel, mettez le à la suite.

Si vous avez une remarque concernant une erreur, ou quelque chose à ajouter, envoyez un MP à l'auteur du tuto concerné, pour qu'il fasse les modifications.

Si Fred ou Regis passent par là, et qu'ils peuvent créer une rubrique et y transférer les tutos,ce serait sympa.

Chris :)

Publié : jeu. 22/juil./2004 1:00
par Chris
Tutoriel N° 1 : Comment créer une fenêtre toute simple?

Code : Tout sélectionner

;-PureBasic pour les GROS NULS : Programmer une fenêtre simple

;-Qu'est-ce qu'une fenêtre?
; Une fenêtre, c'est simplement une interface entre l'utilisateur et le programme.
; C'est à partir de là que l'utilisateur pourra lancer certaines fonctions du
; programme, saisir des données, etc...
; PureBasic inclu des commandes simplifiées pour créer les fenêtres.
;
;-De quoi est composé une fenêtre ?
;   - La barre de titre:
;   - Les bordures
;   - La zone client
;
;   - La barre de titre : Elle se trouve en haut de la fenêtre. C'est ici que 
;                         s'affichent le titre de la fenêtre, l'icône, et les trois  
;                         boutons systeme permettant de l'agrandir, de la minimiser, 
;                         et de la fermer. La barre de titre sert également à déplacer 
;                         la fenêtre, et à modifier sa taille
;
;   - Les bordures      : Elles sont placées de chaque côté de la fenêtre, et en bas.
;                         Elles permettent de modifier la taille de la fenêtre.
;
;   - La zone client    : C'est la zone située à l'intérieur de la fenêtre. C'est ici
;                         que s'affichent les boutons, les zones de saisie, etc...
;                         C'est la zone utile de la fenêtre.
;
;-Que doit-on fournir, quand on veut créer une fenêtre?
;   - Sa taille
;   - Sa position à l'écran
;   - Son titre
;   - Les boutons systeme dont on a besoin
;
;-Que doit-on savoir avant de commencer?
;/Chaque composant de l'interface, que ce soit les boutons, les zones de texte,
;/les champs de saisie, ainsi, évidemment que les fenêtres, doit pouvoir être
;/identifié par le systeme.
; Il faut donc leur attribuer un nom, ou plutôt un numéro.

;/Une fenêtre ne reste pas ouverte si on ne lui demande pas de le faire.
; On doit créer une boucle qui va tester, à intervalle régulier, tous les 
; évènements qui surviennent sur la fenêtre. 

;- Allez !. On commence!
; Sa taille   : 400 x 250
; Sa position : En haut, à gauche de l'écran
; Son titre   : Fenêtre simple en PureBasic
; Les boutons : Minimiser, Agrandir, Fermer
;
;
If OpenWindow(0,0,0,400,250,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget,"Fenêtre simple en PureBasic")
  Repeat
    Event = WaitWindowEvent()
    If Event = #PB_Event_CloseWindow
      quit = 1
    EndIf
  Until quit = 1
  End
EndIf

;- Explication :
; OpenWindow(               : Fonction permettant de demander l'ouverture de la fenêtre.
; 0 (le 1er)                : C'est le n° de la fenêtre. PureBasic compte à partir de 0,
;                             et il n'y a pas de fenêtre avant, alors on la numérote "0"
; 0 (Le 2eme)               : C'est la position X de la fenêtre sur l'écran, c'est à dire
;                             sa position Horizontale.
; 0 (Le 3eme)               : C'est la position Y de la fenêtre sur l'écran, c'est à dire 
;                             sa position Verticale.
; 400                       : C'est la largeur de la fenêtre.
; 250                       : C'est la hauteur de la fenêtre
; #PB_Window_SystemMenu     : La barre de titre est une barre comportant le bouton
;                             "Fermer", (la croix), ainsi qu'un menu accessible en
;                             cliquant avec le bouton droit sur l'icone à gauche.
; #PB_Window_MinimizeGadget : Permet d'ajouter le bouton "Minimiser"
; #PB_Window_MaximizeGadget : Permet d'ajouter le bouton "Maximiser"
; "Fenêtre simple... "      : C'est le titre de la fenêtre. Il faut fournir une chaine de
;                             caractères, on mets donc le titre entre guillemets.
;
; Repeat (répète)           : Début de la boucle des évènements. Cette boucle se répètera
;                             jusqu'à (Until) ce que la condition de sortie soit vérifiée.
;                             A partir de là, tous les évènements survenant sur la fenêtre
;                             seront détectés dans cette boucle.
; Event = WaitWindowEvent() : Event est une variable, elle n'a, au départ, aucune valeur propre.
;                             La valeur lui sera attribuée par la commande WaitWindowEvent(),
;                             qui détecte tous les évenement de la fenêtre. Chaque évènement
;                             ayant une valeur différente, la variable "Event" prendra donc
;                             une valeur différente à chaque évènement. C'est cette valeur qui
;                             sera détectée dans le test suivant, permettant de terminer le 
;                             programme.
; If Event = #PB_Event_CloseWindow :
;                             Le test If, (Si), sert à tester si une condition est vrai, ou fausse.
;                             #PB_Event_CloseWindow, est une constante, c'est à dire que sa valeur
;                             a été définie une fois pour toute.
;                             Chaque évènement est symbolisé par une constante ayant donc une valeur
;                             différente. #PB_Event_CloseWindow a pour valeur 16. C'est cette valeur
;                             qui permet de détecter que l'utilisateur à cliqué sur la croix dans la
;                             barre de titre, et a donc demandé la fermeture de la fenêtre.
;                             Le test vérifie donc que Event à pour valeur 16.
; quit = 1                    La variable "quit" est mise à 1, puisque Event est égal à 16.
;                             (voir au dessus)
;                             Le nom de la variable n'a aucune importance, on peut mettre ce que l'on
;                             veut, ce qui importe, c'est sa valeur.
; Endif                       Cette commande sert à marquer la fin d'une condition If.
;                             (Concernant l'utilisation de If/Else/Endif, n'importe quel manuel de
;                             programmation disponible sur internet fera l'affaire)
; Until quit = 1            : Jusqu'à ce que "quit" = 1. La boucle se répète jusqu'à ce que "quit"
;                             prenne la valeur de 1, puis elle passe à l'instruction suivante : "End"
Chris :)

Publié : jeu. 22/juil./2004 1:09
par KarLKoX
Tu vas me trouver casse bonbon mais avant même d'apprendre des lignes de programmation il faut en connaitre les raisons.
C'est pourquoi je propose ce site qui explique comment windows fonctionne et le pourquoi des évenements, des APIs, des messages etc ...
C'est du C mais vu que ce sont des API, elles s'utilisent de la même manière en PureBasic.

Publié : jeu. 22/juil./2004 1:22
par Chris
Bon. Puisque je vois que vous ne pouvez pas vous empecher de polluer les post, même quand on vous demande de ne pas le faire, je ne vois pas pourquoi je continuerai à me casser la tête.

Que les débutants se débrouillent comme il veulent, après tout, je m'en lave les mains. :x

Chris :)

Publié : jeu. 22/juil./2004 1:45
par KarLKoX
Il faudra que je révise la définition du mot "pollution" ...

Publié : jeu. 22/juil./2004 14:09
par cederavic
Chris, un poste est un sujet de discussion, donc fait pour discuter donc au lieu d'envoier ch** KarlKoX qui n'a pa du tout poluer le sujet, met tes tuto sur une page web accessible en lecture seulement...

Publié : jeu. 22/juil./2004 15:23
par Polux
D'accord avec toi Cederavic! Pour ce qui est des débutants, on s'en occupe, on va pas les laisser tomber quand même... je mets un tutorial pour eux ce soir sur le site PB Programming Tutorials. J'en mettrais un autre demain et ainsi de suite... Ta remarque etait pertinente Karlkox, avant d'apprendre un language comme le pure ( surtout pour de l'appli windows ), il est bon de connaitre certaines bases, même si ce n'est pas obligatoire... Pis autre chose: il n'y a pas de GROS NULS, juste des gens pas encore initiés :wink: ( même si je pense que c'etait plus sur le ton de la rigolade ).

Publié : jeu. 22/juil./2004 18:40
par Lukky
Moi je viens de voir le site de polux il est extra.

Ceci dit personne n'a jamais craché sur les bouquins xxx pour les nuls.

Gros nul peut tout à fait vouloir dire totalement néophite, faut pas toujours penser que nul veut dire crétin, ça veut d'abord dire mauvais dans un domaine comme tout débutant.

Bref le tutorial de Chris est TRES bien à mon avis, parfaitement documenté, clair net, bref pour les gros nuls.

Je soutiens à fond, na.

JL

Publié : jeu. 22/juil./2004 19:25
par Polux
Ben voui Lukky, c'etait ironique :wink:

Publié : jeu. 22/juil./2004 19:27
par cederavic
oui Lukky, son initiative est très bien, mais la façon dont il a repondu suite au message de Karl...

Publié : jeu. 22/juil./2004 19:33
par Flype
salut ced,polux,denis,chris... et tous :wink:

sans doute que pour eviter que tout le monde 'pollue' un post
il faudrait tout simplement demander au webmaster de 'verrouiller'
le post comme ca existe deja

Publié : jeu. 22/juil./2004 20:39
par Lukky
Oui c'est vrai l'ami Chris a été un peu sec mais bon il a peut-être des excuses voir même ses ragnagnas.

JL

Publié : jeu. 22/juil./2004 20:46
par Chris
Bon! Stop!!!

Effectivement, GROS NUL n'avait rien de péjoratif, c'était plutôt à prendre dans le sens Débutant Total n'ayant aucune base.

@ KarlKox
C'est vrai que je me suis peut-être un peu emporté, donc, excuse moi!.

Chris

Publié : jeu. 22/juil./2004 22:41
par KarLKoX
Il y a pas de mal et merci à ceux qui ont compris mon intervention :D

Publié : ven. 23/juil./2004 14:19
par Sammael
t'aurais pus quand même lui PM le message ( desolé si je viens à l'improviste comme un noob)
Parce que je crois que ce qu'il voulait, c'est qu'il ny ait que des tuts dans ce topic et là ca fait déjà beaucoup de posts un peu déplacés ( y compris le mien ^^ ) :?
Sinon j'aimerais bien qu'il continue...j'ai la flemme d'apprendre la syntaxe de pure dans l'aide et son tut permet de voir l'essentiel..... ^^