[ Résolu ] Problème lancement code...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Neveware
Messages : 49
Inscription : dim. 14/sept./2008 17:09

[ Résolu ] Problème lancement code...

Message par Neveware »

Bonjour, alors voilà je débute totalement en PureBasic et je pense que se langage pourrait m'apporter pour la création de MMORPGs.

Donc voilà mon problème : Lorsque je crée une fenêtre sous Visual designer et que je la met dans purebasic et que je lance l'application : rien ne se passe!

Je suis désespéré (et ouai déjà xD)

Merci d'avance pour vos réponses.


EDIT : Voici le code :

Code : Tout sélectionner

; PureBasic Visual Designer v3.95 build 1485 (PB4Code)


;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Button_0
EndEnumeration


Procedure Open_Window_0()

  If OpenWindow(#Window_0, 216, 0, 600, 300, "New window ( 0 )",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#Window_0))
      ButtonGadget(#Button_0, 60, 50, 120, 70, "")
      
    EndIf
  EndIf
 
EndProcedure

Dernière modification par Neveware le mar. 16/sept./2008 19:27, modifié 1 fois.
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

La fenêtre est ouverte dans une procédure, que tu n'appelles jamais donc ça ne peux pas fonctioner :wink:

Et tel qu'est ton code il n'y a pas de boucle, donc tu vas ouvrir la fenêtre puis quitter le programme car il n'y aura plus d'instructions à executer :wink:
Guac
Messages : 21
Inscription : dim. 03/août/2008 18:33

Message par Guac »

Bonjour.
Ton code ne peut pas fonctionner, tu n'as fait que définir une procédure.
Il faut que tu codes ta boucle principale (ton programme principal) qui fera appel à la procédure créée.
Moi aussi je suis un hyper débutant, mais en lisant les tutos de base, tu trouveras rapidement comment faire. Il suffit de te donner un peu de peine, d'autant plus que ce que tu demandes c'est vraiment la base de chez base, dans allez... 10 mn... peut être même moins, tu seras capable de coder un truc qui fonctionne en partant de ton code.

Voilà un exemple ( très vite fait hein ... )

Code : Tout sélectionner

; PureBasic Visual Designer v3.95 build 1485 (PB4Code) 


;- Window Constants 
; 

;/////////////// définition des constantes ////////////////

Enumeration 
    #Window_0 
EndEnumeration 

;- Gadget Constants 
; 
Enumeration 
    #Button_0 
EndEnumeration 

;////////////////// définition de ta procédure ///////////////////////

Procedure Open_Window_0() 
    
    If OpenWindow(#Window_0, 216, 0, 600, 300, "New window ( 0 )",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar ) 
        If CreateGadgetList(WindowID(#Window_0)) 
            ButtonGadget(#Button_0, 60, 50, 120, 70, "") 
            
        EndIf 
    EndIf 
    
EndProcedure 

;////////////// programme principal, ou boucle principale //////////////////

Open_Window_0() ;---> appel de la procédure créée au dessus
While quit = 0 ; ---> une petite boucle d'évènement histoire d'aborder le truc
If WaitWindowEvent() = #PB_Event_CloseWindow
    CloseWindow(#Window_0)
    quit = 1
EndIf
Wend
End

Commence par lire les tutos sur les bases, surtout pour faire un mmo game. :wink:
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

bonjour Guac

voici le modele de base que j'utilise quand je programme pour afficher une fenetre et apres je modifie le code selon ce que je veux faire avec cette fenetre.

Code : Tout sélectionner

; Modele de base crée et afficher  une fenetre avec sa boucle 


; on crée la constante de la fenetre 

Enumeration
  #Fenetre_0
EndEnumeration






; on crée une procedure pour la fenetre  
Procedure afficher_fenetre()
  If OpenWindow(#Fenetre_0,0,0,600,300,"mon modele de fenetre ",#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
     EndIf
  EndProcedure
  
  
  
  
  ; On crée le boucle principale pour afficher la fenetre  
  ; on appelle la procedure  
  afficher_fenetre()
  ;début de la boucle avec repeat et until 
  Repeat 
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Select EventWindow()
          Case #Fenetre_0
            quitter=#True
        EndSelect
    EndSelect
  Until quitter 
  End 
  
Neveware
Messages : 49
Inscription : dim. 14/sept./2008 17:09

Message par Neveware »

Je vous remercie pour votre aide! J'ai commencé le purebasic et c'est passionnant! Merci encore ^^
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Neveware a écrit :Je vous remercie pour votre aide! J'ai commencé le purebasic et c'est passionnant! Merci encore ^^
C'est ce qui est bien avec la programmation, et c'est d'autant plus vrai avec le Purebasic, c'est qu'on en apprend tout les jours. La seul chose qu'il faut avoir c'est de la patience...des fois on rame pour faire, un truc, on avance plus, on est perdu, et parfois c'est comme une fusée on avance a toute vitesse !
Répondre