Je vais essayer pour les nouveaux débutants comme moi de PureBasic (Que j'avais oublié voilà plusieurs années ) de vous expliquer ce que j'ai compris quant à la création d'un projet. Je vous accorde tout de suite que ce n'est pas forcément la meilleur façon de procéder mais par là je suis arrivé à mes fins !
But du projet que je vais appeler "MonProjet" :
- Ouvrir une fenêtre comportant deux boutons, l'un Baptisé "OK" L'autre Baptisé "Terminé"
- Un clic sur "OK" ouvre la fenêtre de Debug et affiche "Vous avez appuyer sur OK"
- Un clic sur "Terminé" ouvre la fenêtre de Debug si vous n'avez pas encore appuyé sur "OK" et affiche "Vous avez appuyer sur Terminé et vous allez arrêter ce programme"
Pour ce faire nous allons créer le répertoire suivant "C:\MonProjet" dans lequel seront sauvegardé tous les fichiers de se projet.
Lancez PureBasic :
Cliquez sur "Nouveau"
Et sauvegardez tout de suite en "Programme.pb" dans le répertoire "C:\MonProjet"
Dans l'éditeur copiez le code suivant qui comporte lui même des explications
Code : Tout sélectionner
;
; Programme.pb ; Le fichier principal qui inclut les liens vers les deux fichiers de formulaire,
; ; ainsi que le code des événements
; Fenêtre.pbf ; La fenêtre principale
;Si nous supposons que Fenêtre.pbf dispose de deux boutons ('OK' et 'Terminé')
;voici à quoi le fichier principal devrait ressembler
;(le fichier principal n'est pas géré par le concepteur de formulaire, il doit être écrit manuellement):
XIncludeFile "Fenetre.pbf" ; Inclusion de la première fenêtre
OpenFenetre() ; Création de la première fenêtre. Ce nom de procédure est toujours 'Open' suivi du nom de la fenêtre
Global Ferme.s
Ferme = "Faux"
; Les procédures d'événements, tels que spécifiées dans la propriété 'procédure événement' de chaque gadget
Procedure OkButtonEvent(EventType)
Debug "Vous avez appuyer sur OK"
EndProcedure
Procedure TerminerButtonEvent(EventType)
Debug "Vous avez appuyer sur Terminé et vous allez arrêter ce programme"
Ferme = "Vrai"
EndProcedure
; La boucle principale, comme d'habitude, le seul changement est l'appel de la procédure
; événementielle automtiquement générée pour chaque fenêtre.
Repeat
Event = WaitWindowEvent()
Select EventWindow()
Case Fenetre
Fenetre_Events(Event) ; Le nom de la procédure est toujours le nom de la fenêtre suivi de '_Events'
EndSelect
If ferme = "Vrai"
Event = #PB_Event_CloseWindow
EndIf
Until Event = #PB_Event_CloseWindow ; Ferme toutes les fenêtres en quittant l'une d'elle
Cliquez sur "Form" puis sur "Nouveau Form" et sauvergardez "Fenêtre.pbf" toujours dans le répertoire "C:\MonProjet"
Dans la zone de droite de l'écran modifiez les propriétés comme ceci :
Variable : Fenetre
Caption : Fenetre
Largeur : 300
Hauteur : 200
Créer deux Boutons
L'un avec
Variable : OK
Titre : Ok
Selectionner dans procedure évenement : OkButtonEvent
L'autre avec
Variable : Terminer
Titre : Terminer
Selectionner dans procedure évenement : TerminerButtonEvent
et sauvegardez
Vous pouvez voir le code qui a été généré pour cette fenêtre en cliquant sur :
"Form" puis "Changer vue Code/Design"
Vous devriez obtenir le code suivant :
Code : Tout sélectionner
;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;
Global Fenetre
Global Ok, Terminer
Declare OkButtonEvent(EventType)
Declare TerminerButtonEvent(EventType)
Procedure OpenFenetre(x = 0, y = 0, width = 300, height = 200)
Fenetre = OpenWindow(#PB_Any, x, y, width, height, "Fenetre", #PB_Window_SystemMenu)
Ok = ButtonGadget(#PB_Any, 100, 40, 80, 30, "OK")
Terminer = ButtonGadget(#PB_Any, 100, 90, 80, 30, "Terminer")
EndProcedure
Procedure Fenetre_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case Ok
OkButtonEvent(EventType())
Case Terminer
TerminerButtonEvent(EventType())
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
"Projet" puis "Nouveau Projet"
Renseignez les Champs
Fichier du Projet : C:\MonProjet\MonProjet.pbp
Nom du Projet : MonProjet
Cliquez sur "Créer"
Cliquez sur l'onglet "Projet" cette fois ci puis "Options du projet" et enfin "Fichiers du projet"
Selectionner le repertoire "C:\MonProjet"
Cliquez sur "Programme.pb" puis "Ajouter"
Cliquez sur "Fenetre.pbf" puis "Ajouter"
Cliquez sur "Option du compilateur" puis
sélectionnez "Programme.pb" dans Fichier source Principal
sélectionnez "Progamme" dans Exécutable de destination
Cliquez sue "OK" puis "Ok"
Vous pouvez lancez votre programme ! par l'icone "Compilez/Exécuter"
Maintenant si vous fermez l'onglet "Projet" tous les fichiers se fermeront, et si vous cliquez sur "Projet" puis "Projets récents" et "MonProjet" tout le projet sera ouvert à nouveau !
Attention de ne pas mettre d'accents dans les champs et dans le code
Voilà ce que j'ai compris !