Page 1 sur 1

Question sur la façon de programmer en pb ..

Publié : dim. 18/mai/2008 21:07
par bernard13
bonsoir
juste une question pour les programmeurs PB

quel version du code est le mieux pour gerer plusieurs fenetres et comment vous programmer plusieurs fenetres quel est votre methode ?
code1: sans les procedures :

Code : Tout sélectionner

Enumeration
 #Fenetre_0
 #Fenetre_1
EndEnumeration

Enumeration
 #bouton_0
EndEnumeration
If OpenWindow(#Fenetre_0,0,0,340,200,"Ma Fenetre",#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
 If CreateGadgetList(WindowID(0))
  ButtonGadget(#bouton_0,100,50,140,20," Ouvrir une autre fenetre")
 EndIf
 
 

Repeat
 Select WaitWindowEvent()
Case #PB_Event_Gadget
   Select EventGadget()
   Case #bouton_0: OpenWindow(#Fenetre_1,0,0,240,120,"Coucou",#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
  
  
    EndSelect
 Case #PB_Event_CloseWindow
   Select EventWindow()
    Case #Fenetre_1
     CloseWindow(#Fenetre_1)
     Case #Fenetre_0
     Quitter=#True
         EndSelect
  EndSelect
Until Quitter
End
EndIf
Code2 : avec les procedures :

Code : Tout sélectionner


Enumeration
 #Fenetre_0
 #Fenetre_1
EndEnumeration

Enumeration
 #bouton_0
EndEnumeration


Procedure Main()
If OpenWindow(#Fenetre_0,0,0,340,200,"Ma Fenetre",#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
 If CreateGadgetList(WindowID(0))
  ButtonGadget(#bouton_0,100,50,140,20," Ouvrir une autre fenetre")
 EndIf
  EndIf 
  EndProcedure
  
  
  Procedure Fenetre_1()
   If OpenWindow(#Fenetre_1,0,0,240,120,"Coucou",#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
    EndIf 
   EndProcedure
   
   
   Main()
   
   Repeat 
   Select WaitWindowEvent()
Case #PB_Event_Gadget
   Select EventGadget()
   Case #bouton_0:Fenetre_1()
     EndSelect
 
Case #PB_Event_CloseWindow
   Select EventWindow()
    Case #Fenetre_1
     CloseWindow(#Fenetre_1)
     Case #Fenetre_0
     Quitter=#True
         EndSelect
  EndSelect
Until Quitter
End
merci

Publié : dim. 18/mai/2008 22:11
par Ar-S
La procédure dans ton exemple permet de rapidement appeler tes fenêtres (code2)

Et dans le cas d'un prog avec plein de fenêtres à gérer, c'est plus clair je trouve.

Publié : dim. 18/mai/2008 22:12
par bernard13
merci Ar-S

donc pour gerer plusieurs fenetre faut mieux utilise les procedures

tu as une façon de programmer toi?

Publié : lun. 19/mai/2008 8:40
par poshu
Je crois qu'on a tous notre méthode pour coder. Le vrai problème c'est de s'y être limité: je suis tellement accro à mon organisation des sources que j'ai un mal de chien à lire un code écrit différemment >.<

Je me permettrais quand même de te donner mes lignes directrices:
_Utiliser un maximum de constantes, pas de chiffre qui ne veut rien dire.
_Utiliser des macros ou des procédure régulièrement.
_Utiliser les fonctions de fold de ton IDE (j'utilise JAPBE) régulièrement pour simplifier la lecture quand tu travail.
_Associer au pliage pas mal de commentaire. Ne pas hésiter à tartiner même: ça parait débile, mais quand tu reviens sur un code vieux de 3 ans, ça aide à s'y retrouver
_Faire des sauts à la lignes régulièrement, utiliser une indentation correcte.

C'est un peu les lieux communs de la programmation, mais j'ai vu tellement de code complètement bordélique (mes vieux codes, par exemple) que ça ne fera pas de mal de le reposter.

Publié : lun. 19/mai/2008 8:46
par bernard13
merci poshu
j'utilise pas Japbe ( j'aime pas trop)

je sais pas faire de macros