Page 3 sur 5

Re: Premiers essais avec PB

Publié : mar. 03/sept./2013 14:19
par Fred
De plus avec la 5.20 il est possible de nommer une enumeration, pour pouvoir la continuer plus tard:

Code : Tout sélectionner

Enumeration Window
   #Form_principale
   #form_secondaire
   #autre_form
EndEnumeration
   
Enumeration Gadget
  #String1
  #String2
  #Imagegadget
  #Etc
EndEnumeration

   
Enumeration Window
  #Form4
EndEnumeration

Debug #autre_form
Debug #Form4

Re: Premiers essais avec PB

Publié : mar. 03/sept./2013 16:51
par Ar-S
Fred a écrit :De plus avec la 5.20 il est possible de nommer une enumeration, pour pouvoir la continuer plus tard:
bien ça (surtout le faite de les nommer) :P

Re: Premiers essais avec PB

Publié : mar. 03/sept./2013 18:45
par Backup
Fred a écrit :De plus avec la 5.20 il est possible de nommer une enumeration, pour pouvoir la continuer plus tard:


ce qui serai top serai de pouvoir faire le style d'ecriture des Structures, mais pour constante
style

Code : Tout sélectionner

Enumeration Window
	#Form_principale
	#form_secondaire
	#autre_form
EndEnumeration

Enumeration Gadget
	#String1
	#String2
	#Imagegadget
	#Etc
EndEnumeration


Enumeration Window
	#Form4
EndEnumeration

Debug window/#autre_form
Debug Gadget/#Form4
; EPB
de sorte qu'on puisse en lisant connaitre la parenté d'une constante
j'ai utilisé "/" pour differencier de "\" des structures ... mais ce pourrai tout aussi bien etre "_"

....

dans le genre demande ancienne

a quand la possibilité de

Code : Tout sélectionner


a.f=1
b.f=50.2
c.f=1.2

for i.f= a.f to b.f step c.f
	debug i.f
Next i

; EPB
je sais qu'on peut faire autrement, mais cela rendrai la boucle for-next compatible avec les Origines du Basic ;)
j'ai souvent le reflexe de commencer a utiliser des variables dans les boucles for-next , et suis obligé de changer
a cause de cette limitation :)
ce qui souvent allonge le code ...

Re: Premiers essais avec PB

Publié : mar. 03/sept./2013 23:15
par squale
Merci pour toutes ces infos mais il y a tout de même quelque chose qui m'échappe. On peut ou l'on doit classer les énumérations par types d'objets ? En fait mon soucis c'est que je peux avoir mon programme qui plante suivant que je mette #bouton dans une énumération ou dans une autre. Est-ce normal ?

Re: Premiers essais avec PB

Publié : mar. 03/sept./2013 23:47
par Ar-S
squale a écrit :Merci pour toutes ces infos mais il y a tout de même quelque chose qui m'échappe. On peut ou l'on doit classer les énumérations par types d'objets ? En fait mon soucis c'est que je peux avoir mon programme qui plante suivant que je mette #bouton dans une énumération ou dans une autre. Est-ce normal ?
Exemple stp

Re: Premiers essais avec PB

Publié : mar. 03/sept./2013 23:51
par falsam
Si deux boutons se retrouvant dans deux séries d'énumeration porte le meme numéro alors oui c'est normal.

Code : Tout sélectionner

Enumeration
  #Button1
EndEnumeration

Enumeration
  #Button2
EndEnumeration

Debug #Button1
Debug #Button2
Tu débutes avec pure basic et je pense que tu devrais utiliser dans ce cas l'option #PB_Compiler_EnumerationValue pour déclarer tes énumérations.

Code : Tout sélectionner

Enumeration #PB_Compiler_EnumerationValue
  #Button1
EndEnumeration

Enumeration #PB_Compiler_EnumerationValue
  #Button2
EndEnumeration

Debug #Button1
Debug #Button2

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 6:40
par squale
Ok je pense que j'ai compris, en fait je ne peux pas faire deux énumérations différentes d'objets de même type ou alors si je veux le faire je dois utiliser #PB_Compiler_EnumerationValue.
Merci !

Edit : En fait non je comprends pas, si je mets tout dans la même énumération ca ne marche pas non plus... Je pense qui m'échappe dans la logique des énumérations.

Je vous mets mon code mais bon j'imagine que c'est bourré de bétises.

Code : Tout sélectionner

;
;
;
;
; ------------------------------------
; |           DELUGE v0.03           |
; ------------------------------------
;        OPERATION DEMOISISURE !!!
; 
;

Enumeration Window
  
  #FenetrePrincipale
  #FenetreFicheSanitaire
 
  #Scroll
  #Conteneur_baniere
  #Conteneur_page1
  #Arial20
  #titre
  #Conteneur_page2
  #Conteneur_page3  
  #valider
  #valider2 
EndEnumeration

Enumeration Boutons
  
  #bouton_medical

  
EndEnumeration

Enumeration Images
  #img_logo
  #img_telephone
  #img_fichesanitaire1
  #img_fichesanitaire2
EndEnumeration

Enumeration 
  #assurance
  #famille
  #statutmarital
EndEnumeration

Global  top = 5
Global LargeurFenetre = 500
Global HauteurFenetre = 700




;chargement des images
UsePNGImageDecoder()
LoadImage(#img_logo, "images/image.png")
LoadImage(#img_telephone, "images/tel.png")
LoadImage(#img_fichesanitaire1, "images/fichesanitaire1.png")
;Chargement d'une police de caractère
LoadFont(#Arial20, "Arial", 20, #PB_Font_Bold)



Procedure Fenetre_Principale()
  
 ;ouverture de la fenetre principale
 OpenWindow(#FenetrePrincipale, 0, 0 , LargeurFenetre, HauteurFenetre, "DELUGE v0.03", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
 
;creation du menu
      CreateMenu(0,WindowID(0))
      MenuTitle("Fichier")
      MenuItem(1, "Ouvrir")
      MenuItem(2, "Enregistrer")
      MenuItem(3, "Quitter")
      MenuTitle("Informations Utiles")
      MenuItem(4, "Dates d'inscription")  
      MenuTitle("?")
      MenuItem(5, "A Propos")  
; fin du menu

 
 
;creation du conteneur du haut qui restera affiché sur la page principale
      ContainerGadget(#Conteneur_baniere , 0, 0, LargeurFenetre, 75)
      ImageGadget(#PB_Any, 390, top, 100, 65, ImageID(#img_logo))
      TextGadget(#titre, 125, 20, 200, 40, "DELUGE", #PB_Text_Center) 
      SetGadgetFont(#titre, FontID(#Arial20))
      ;SetGadgetColor(#Conteneur_baniere, #PB_Gadget_BackColor, RGB(71,168,243))
      ;SetGadgetColor(#titre, #PB_Gadget_BackColor, RGB(71,168,243))
      ;SetGadgetColor(#titre, #PB_Gadget_FrontColor, RGB(255,255,255))
      CloseGadgetList()  
;fermeture du conteneur baniere
      
;creation du conteneur de la page 1
      ContainerGadget(#Conteneur_page1, 0, 75, LargeurFenetre, 600)
      
      FrameGadget(#PB_Any, 10, 0, 480, 180, "FICHE FAMILLE") 
      TextGadget(#PB_Any, 20, 30, 110, 24, "Nom :")
        StringGadget(#PB_Any, 100, 26, 185, 24, "")
        StringGadget(#PB_Any, 295, 26, 185, 24, "")
      TextGadget(#PB_Any, 20, 60, 110, 24, "Adresse :")
        StringGadget(#PB_Any, 100, 56, 380, 24, "")
      TextGadget(#PB_Any, 20, 90, 110, 24, "Téléphone :")
        StringGadget(#PB_Any, 100, 86, 80, 24, "")
      TextGadget(#PB_Any, 185, 90, 50, 24, "Mobile :")
        StringGadget(#PB_Any, 235, 86, 80, 24, "")
      TextGadget(#PB_Any, 320, 90, 50, 24, "Email :")
        StringGadget(#PB_Any, 365, 86, 115, 24, "")
      TextGadget(#PB_Any, 20, 120, 50, 24, "N°CAF :")
      StringGadget(#PB_Any, 100, 116, 380, 24, "")
;choix multiples  
      ComboBoxGadget(#assurance, 20, 146, 170, 24)  
        AddGadgetItem(#assurance, -1, "Assurance Resp Civile")
        AddGadgetItem(#assurance, -1, "Assurance 2")
        AddGadgetItem(#assurance, -1, "Assurance 3")
        AddGadgetItem(#assurance, -1, "Assurance 4")
        AddGadgetItem(#assurance, -1, "Assurance 5")
        AddGadgetItem(#assurance, -1, "Assurance 6")
        AddGadgetItem(#assurance, -1, "Assurance 7")
        AddGadgetItem(#assurance, -1, "Assurance 8")
      SetGadgetState(#assurance ,0) ; indique le rang par defaut

 TextGadget(14, 200, 150, 60, 24, "Numero :")
  
    StringGadget(15, 260, 146, 220, 24, "")
        
        
        
     ;-----------------------------------------COMPOSITION FOYER-----------------------------------------------------------------------    

  PanelGadget(#famille,10, 190, LargeurFenetre-18,190)
  ;PERE



  AddGadgetItem(#famille, 0, "PERE") 
  TextGadget(17, 10, 10, 60, 24, "Nom :")
    StringGadget(18, 90, 6, 140, 24, "")
  TextGadget(19, 240, 10, 60, 24, "Prénom :")
    StringGadget(20, 315, 6, 150, 24, "")
  TextGadget(21, 10, 40, 70, 24, "Profession :")
    StringGadget(22, 90, 36, 140, 24, "")
  TextGadget(23, 235, 40, 80, 24, "Employeur :")
    StringGadget(24, 315, 36, 150, 24, "")
  TextGadget(25, 10, 70, 110, 24, "Téléphone :")
    StringGadget(26, 90, 66, 140, 24, "")
  TextGadget(27, 235, 70, 50, 24, "Mobile :")
    StringGadget(28, 315, 66, 150, 24, "")
  TextGadget(29, 10, 100, 130, 24, "N°Securité Sociale :")
    StringGadget(30, 135, 96, 330, 24, "")
    
      ;choix multiples  
  ComboBoxGadget(#statutmarital, 10, 126, 160, 24)  
     AddGadgetItem(#statutmarital, -1, "Situation Familiale")
     AddGadgetItem(#statutmarital, -1, "Marié")
     AddGadgetItem(#statutmarital, -1, "Divorcé")
     AddGadgetItem(#statutmarital, -1, "Pacsé")
     AddGadgetItem(#statutmarital, -1, "Union Libre")
     AddGadgetItem(#statutmarital, -1, "Voeuf")
  SetGadgetState(#statutmarital,0) ; indique le rang par defaut







;MERE
AddGadgetItem(#famille, 1, "MERE") 
  TextGadget(33, 10, 10, 60, 24, "Nom :")
    StringGadget(34, 90, 6, 140, 24, "")
  TextGadget(35, 240, 10, 60, 24, "Prénom :")
    StringGadget(36, 315, 6, 150, 24, "")
  TextGadget(37, 10, 40, 70, 24, "Profession :")
    StringGadget(38, 90, 36, 140, 24, "")
  TextGadget(39, 235, 40, 80, 24, "Employeur :")
    StringGadget(40, 315, 36, 150, 24, "")
  TextGadget(41, 10, 70, 110, 24, "Téléphone :")
    StringGadget(42, 90, 66, 140, 24, "")
  TextGadget(43, 235, 70, 50, 24, "Mobile :")
    StringGadget(44, 315, 66, 150, 24, "")
  TextGadget(45, 10, 100, 130, 24, "N°Securité Sociale :")
    StringGadget(46, 135, 96, 330, 24, "")
    
      ;choix multiples  
  ComboBoxGadget(47, 10, 126, 160, 24)  
     AddGadgetItem(47, -1, "Situation Familiale")
     AddGadgetItem(47, -1, "Marié")
     AddGadgetItem(47, -1, "Divorcé")
     AddGadgetItem(47, -1, "Pacsé")
     AddGadgetItem(47, -1, "Union Libre")
     AddGadgetItem(47, -1, "Voeuf")
  SetGadgetState(47,0) ; indique le rang par defaut

  
  
  ;Enfant 1
  AddGadgetItem(#famille, 2, "ENFANT 1")
  TextGadget(96, 10, 10, 60, 24, "Nom :")
    StringGadget(97, 90, 6, 140, 24, "")
  TextGadget(98, 240, 10, 60, 24, "Prénom :")
    StringGadget(99, 315, 6, 150, 24, "")
  TextGadget(100, 10, 40, 130, 24, "Date de Naissance :")
    DateGadget(101, 130, 36, 100, 24, "%dd/%mm/%yyyy")
  TextGadget(102, 245, 40, 80, 24, "Lieu :")
    StringGadget(103, 315, 36, 150, 24, "")
  TextGadget(104, 10, 70, 110, 24, "Email :")
    StringGadget(105, 90, 66, 140, 24, "")
  ComboBoxGadget(106, 315, 66, 150, 24)  
     AddGadgetItem(106, -1, "Sexe")
     AddGadgetItem(106, -1, "Masculin")
     AddGadgetItem(106, -1, "Féminin")
     SetGadgetState(106,0) ; indique le rang par defaut
     
  TextGadget(107, 10, 100, 160, 24, "Etablissement Scolaire :")
    StringGadget(108, 160, 96, 140, 24, "")
  TextGadget(109, 305, 100, 80, 24, "Classe :")
    StringGadget(110, 360, 96, 105, 24, "")
    ComboBoxGadget(111, 10, 126, 150, 24)
    AddGadgetItem(111, -1, "Régime Alimentaire")
    AddGadgetItem(111, -1, "Sans Régime")
    AddGadgetItem(111, -1, "Sans Porc")
    AddGadgetItem(111, -1, "Sans Viande")
    AddGadgetItem(111, -1, "Sans Poisson")
    SetGadgetState(111, 0)
    
 ButtonGadget(#bouton_medical, 170, 126, 100, 24, "Medical")  

    
    ;Enfant 2
  AddGadgetItem(#famille, 3, "ENFANT 2")
  TextGadget(112, 10, 10, 60, 24, "Nom :")
    StringGadget(113, 90, 6, 140, 24, "")
  TextGadget(114, 240, 10, 60, 24, "Prénom :")
    StringGadget(115, 315, 6, 150, 24, "")
  TextGadget(116, 10, 40, 130, 24, "Date de Naissance :")
    DateGadget(117, 130, 36, 100, 24, "%dd/%mm/%yyyy")
  TextGadget(118, 245, 40, 80, 24, "Lieu :")
    StringGadget(119, 315, 36, 150, 24, "")
  TextGadget(120, 10, 70, 110, 24, "Email :")
    StringGadget(121, 90, 66, 140, 24, "")
  ComboBoxGadget(122, 315, 66, 150, 24)  
     AddGadgetItem(122, -1, "Sexe")
     AddGadgetItem(122, -1, "Masculin")
     AddGadgetItem(122, -1, "Féminin")
     SetGadgetState(122,0) ; indique le rang par defaut
     
  TextGadget(123, 10, 100, 160, 24, "Etablissement Scolaire :")
    StringGadget(124, 160, 96, 140, 24, "")
  TextGadget(125, 305, 100, 80, 24, "Classe :")
    StringGadget(126, 360, 96, 105, 24, "")
    ComboBoxGadget(127, 10, 126, 150, 24)
    AddGadgetItem(127, -1, "Régime Alimentaire")
    AddGadgetItem(127, -1, "Sans Régime")
    AddGadgetItem(127, -1, "Sans Porc")
    AddGadgetItem(127, -1, "Sans Viande")
    AddGadgetItem(127, -1, "Sans Poisson")
    SetGadgetState(127, 0)
    
   
  
    
      ;Enfant 3
  AddGadgetItem(#famille, 4, "ENFANT 3")
  TextGadget(128, 10, 10, 60, 24, "Nom :")
    StringGadget(129, 90, 6, 140, 24, "")
  TextGadget(130, 240, 10, 60, 24, "Prénom :")
    StringGadget(131, 315, 6, 150, 24, "")
  TextGadget(132, 10, 40, 130, 24, "Date de Naissance :")
    DateGadget(133, 130, 36, 100, 24, "%dd/%mm/%yyyy")
  TextGadget(134, 245, 40, 80, 24, "Lieu :")
    StringGadget(135, 315, 36, 150, 24, "")
  TextGadget(136, 10, 70, 110, 24, "Email :")
    StringGadget(137, 90, 66, 140, 24, "")
  ComboBoxGadget(138, 315, 66, 150, 24)  
     AddGadgetItem(138, -1, "Sexe")
     AddGadgetItem(138, -1, "Masculin")
     AddGadgetItem(138, -1, "Féminin")
     SetGadgetState(138,0) ; indique le rang par defaut
     
  TextGadget(139, 10, 100, 160, 24, "Etablissement Scolaire :")
    StringGadget(140, 160, 96, 140, 24, "")
  TextGadget(141, 305, 100, 80, 24, "Classe :")
    StringGadget(142, 360, 96, 105, 24, "")
    ComboBoxGadget(143, 10, 126, 150, 24)
    AddGadgetItem(143, -1, "Régime Alimentaire")
    AddGadgetItem(143, -1, "Sans Régime")
    AddGadgetItem(143, -1, "Sans Porc")
    AddGadgetItem(143, -1, "Sans Viande")
    AddGadgetItem(143, -1, "Sans Poisson")
    SetGadgetState(143, 0)
    
   
  
    
  ;Enfant 4
  AddGadgetItem(#famille, 5, "ENFANT 4")
  TextGadget(144, 10, 10, 60, 24, "Nom :")
    StringGadget(145, 90, 6, 140, 24, "")
  TextGadget(146, 240, 10, 60, 24, "Prénom :")
    StringGadget(147, 315, 6, 150, 24, "")
    TextGadget(148, 10, 40, 130, 24, "Date de Naissance :")
    DateGadget(149, 130, 36, 100, 24, "%dd/%mm/%yyyy")
  TextGadget(150, 245, 40, 80, 24, "Lieu :")
    StringGadget(151, 315, 36, 150, 24, "")
    TextGadget(152, 10, 70, 110, 24, "Email :")
    StringGadget(153, 90, 66, 140, 24, "")
  ComboBoxGadget(154, 315, 66, 150, 24)  
     AddGadgetItem(154, -1, "Sexe")
     AddGadgetItem(154, -1, "Masculin")
     AddGadgetItem(154, -1, "Féminin")
     SetGadgetState(154,0) ; indique le rang par defaut
     
  TextGadget(155, 10, 100, 160, 24, "Etablissement Scolaire :")
    StringGadget(156, 160, 96, 140, 24, "")
  TextGadget(157, 305, 100, 80, 24, "Classe :")
    StringGadget(158, 360, 96, 105, 24, "")
    ComboBoxGadget(159, 10, 126, 150, 24)
    AddGadgetItem(159, -1, "Régime Alimentaire")
    AddGadgetItem(159, -1, "Sans Régime")
    AddGadgetItem(159, -1, "Sans Porc")
    AddGadgetItem(159, -1, "Sans Viande")
    AddGadgetItem(159, -1, "Sans Poisson")
    SetGadgetState(159, 0)
    
  
    
    
CloseGadgetList()



;-------------------------AUTRE PERSONNE-----------------------------------------------------
FrameGadget(49, 10, 390, 480,150, "AUTRES PERSONNES COMPOSANT LE FOYER")
  TextGadget(50, 20, 420, 60, 24, "Nom :")
    StringGadget(51, 88, 416, 140, 24, "")
  TextGadget(52, 250, 420, 60, 24, "Prénom :")
    StringGadget(53, 315, 416, 150, 24, "")
  TextGadget(54, 20, 450, 60, 24, "Nom :")
    StringGadget(55, 88, 446, 140, 24, "")
  TextGadget(56, 250, 450, 60, 24, "Prénom :")
    StringGadget(57, 315, 446, 150, 24, "")
  TextGadget(58, 20, 480, 60, 24, "Nom :")
    StringGadget(59, 88, 476, 140, 24, "")
  TextGadget(60, 250, 480, 60, 24, "Prénom :")
    StringGadget(61, 315, 476, 150, 24, "")
  TextGadget(62, 20, 510, 60, 24, "Nom :")
    StringGadget(63, 88, 506, 140, 24, "")
  TextGadget(64, 250, 510, 60, 24, "Prénom :")
    StringGadget(65, 315, 506, 150, 24, "")
   
        
      
  
  ButtonGadget(#valider ,390 ,560 ,90 ,20 , "Valider")
  
      CloseGadgetList()
      
      

;--------------------------------------- PAGE 2 -----------------------------  


ContainerGadget(#Conteneur_page2 , 0, 75, LargeurFenetre, 600)





;-------- EN CAS URGENCE--------  
FrameGadget(#PB_Any  , 10, 0, 480, 210, "EN CAS D'URGENCE")


;--------- contact 1 --------------

 TextGadget(66, 20, 30, 60, 24, "Nom :")
    StringGadget(67, 58, 26, 100, 24, "")
 TextGadget(68, 165, 30, 60, 24, "Prénom :")
    StringGadget(69, 220, 26, 100, 24, "")
 TextGadget(70, 330, 30, 60, 24, "Lien :")
    StringGadget(71, 370, 26, 110, 24, "")  
  ImageGadget(#PB_Any, 20, 52, 32, 32, ImageID(#img_telephone))
    StringGadget(73, 58, 56, 100, 24, "")
 TextGadget(74, 175, 60, 60, 24, "Ou :")
    StringGadget(75, 220, 56, 100, 24, "")
    
    
    
;--------- contact 2 --------------
    
    
  TextGadget(76, 20, 90, 60, 24, "Nom :")
    StringGadget(77, 58, 86, 100, 24, "")
 TextGadget(78, 165, 90, 60, 24, "Prénom :")
    StringGadget(79, 220, 86, 100, 24, "")
 TextGadget(80, 330, 90, 60, 24, "Lien :")
    StringGadget(81, 370, 86, 110, 24, "")
   ImageGadget(#PB_Any , 20, 112, 32, 32, ImageID(#img_telephone))
    StringGadget(83, 58, 116, 100, 24, "")
 TextGadget(84, 175, 120, 60, 24, "Ou :")
    StringGadget(85, 220, 116, 100, 24, "")

;--------- contact 3 ---------------
    
    TextGadget(86, 20, 150, 60, 24, "Nom :")
    StringGadget(87, 58, 146, 100, 24, "")
 TextGadget(88, 165, 150, 60, 24, "Prénom :")
    StringGadget(89, 220, 146, 100, 24, "")
 TextGadget(90, 330, 150, 60, 24, "Lien :")
    StringGadget(91, 370, 146, 110, 24, "")
  ImageGadget(#PB_Any , 20, 172, 32, 32, ImageID(#img_telephone))
    StringGadget(93, 58, 176, 100, 24, "")
 TextGadget(94, 175, 180, 60, 24, "Ou :")
    StringGadget(95, 220, 176, 100, 24, "")


    
    
    
;------------------- AUTORISEES /INTERDITES -------------------


FrameGadget(#PB_Any , 10, 220, 480, 210, "AUTORISEES / INTERDITES A CHERCHER")
;---------- individu 1 ------------
 TextGadget(160, 20, 250, 60, 24, "Nom :")
    StringGadget(161, 58, 246, 100, 24, "")
 TextGadget(162, 165, 250, 60, 24, "Prénom :")
    StringGadget(163, 220, 246, 100, 24, "")
 TextGadget(164, 330, 250, 60, 24, "Lien :")
    StringGadget(165, 370, 246, 110, 24, "")
   ImageGadget(#PB_Any , 20, 272, 32, 32, ImageID(#img_telephone))
    StringGadget(167, 58, 276, 100, 24, "")
 TextGadget(168, 175, 280, 340, 24, "Ou :")
    StringGadget(169, 220, 276, 100, 24, "")
 ComboBoxGadget(170, 370, 276, 110, 24)
    AddGadgetItem(170, -1, "Autorisée")
    AddGadgetItem(170, -1, "Interdite")
    
;---------- individu 2 ------------
 TextGadget(171, 20, 310, 60, 24, "Nom :")
    StringGadget(172, 58, 306, 100, 24, "")
 TextGadget(173, 165, 310, 60, 24, "Prénom :")
    StringGadget(174, 220, 306, 100, 24, "")
 TextGadget(175, 330, 310, 60, 24, "Lien :")
    StringGadget(176, 370, 306, 110, 24, "")
   ImageGadget(#PB_Any , 20, 332, 32, 32, ImageID(#img_telephone))
    StringGadget(178, 58, 336, 100, 24, "")
 TextGadget(179, 175, 340, 340, 24, "Ou :")
    StringGadget(180, 220, 336, 100, 24, "")
 ComboBoxGadget(181, 370, 336, 110, 24)
    AddGadgetItem(181, -1, "Autorisée")
    AddGadgetItem(181, -1, "Interdite") 
    
;---------- individu 3 ------------
 TextGadget(182, 20, 370, 60, 24, "Nom :")
    StringGadget(183, 58, 366, 100, 24, "")
 TextGadget(184, 165, 370, 60, 24, "Prénom :")
    StringGadget(185, 220, 366, 100, 24, "")
 TextGadget(186, 330, 370, 60, 24, "Lien :")
    StringGadget(187, 370, 366, 110, 24, "")
   ImageGadget(#PB_Any , 20, 392, 32, 32, ImageID(#img_telephone))
    StringGadget(189, 58, 396, 100, 24, "")
 TextGadget(190, 175, 400, 340, 24, "Ou :")
    StringGadget(191, 220, 396, 100, 24, "")
 ComboBoxGadget(192, 370, 396, 110, 24)
    AddGadgetItem(192, -1, "Autorisée")
    AddGadgetItem(192, -1, "Interdite")    
    
 

Bouton_retour = ButtonGadget(#PB_Any , 300,560,90,20, "Retour")
ButtonGadget(#valider2 ,390 ,560 ,90 ,20 , "Valider")
  


  CloseGadgetList()  


;--------------------------------- PAGE 3 : infos utiles ----------------



ContainerGadget(#Conteneur_page3 , 0, 75, LargeurFenetre, 600)





TextGadget(500, 20, 0,  200,24, "Dates d'inscrpition")




  CloseGadgetList()  
  
HideGadget(#Conteneur_page2, #True)  
HideGadget(#Conteneur_page3, #True)


Global page = 1












  
EndProcedure  


Procedure Fenetre_FicheSanitaire()
  
 
  
  OpenWindow(#FenetreFicheSanitaire, 100,100, 826, 600, "FICHE SANITAIRE", #PB_Window_SystemMenu, #FenetrePrincipale)
  ScrollAreaGadget(#Scroll, 0, 0 , 826, 600, 800, 1147)
  ImageGadget(#img_fichesanitaire1, 0, 0 , 800, 1147, ImageID(#img_fichesanitaire1))
  
EndProcedure  


;lancement de la procedure creerfeentre()
Fenetre_Principale()  
  
  

Repeat
    
Event = WaitWindowEvent()
  
   
Select Event
    
  Case  #PB_Event_Gadget
    
      Select EventGadget()
    
        Case #bouton_medical
          If Not IsWindow(#FenetreFicheSanitaire)
            Fenetre_FicheSanitaire()
          Else
            SetActiveWindow(#FenetreFicheSanitaire)
          EndIf
          
          
           Case #valider 
              If page = 1
                page = 2
                HideGadget(#Conteneur_page1, #True)
                HideGadget(#Conteneur_page3, #True)
                HideGadget(#Conteneur_page2, #False)
          
                
        
                
              EndIf  
              
           Case #valider2 
              If page = 2
                page = 3
                HideGadget(#Conteneur_page1, #True)
                HideGadget(#Conteneur_page3, #False)
                HideGadget(#Conteneur_page2, #True)
          
                
             
                
              EndIf  
              
              
             EndSelect 
              
              
    Case  #PB_Event_Menu 
           
          Select EventMenu()
            Case 1 : OpenFile(1, "text.txt")
        
            Case 2 : MessageRequester("Enregistrer", "N'est pas disponible")
              
            Case 3 :  CloseWindow(#PB_All) 
              Break
              
            Case 4
              If page = 1
                page = 3
                HideGadget(#Conteneur_page1, #True)
                HideGadget(#Conteneur_page3, #False)
                HideGadget(#Conteneur_page2, #True)
          
                
              ElseIf page = 2
                page = 3
                HideGadget(#Conteneur_page2, #True)
                HideGadget(#Conteneur_page1, #True)
                HideGadget(#Conteneur_page3, #False)
                
              Else
               
                
               EndIf   
             
              
            Case 5 : MessageRequester("A Propos" , "texte")
          EndSelect
              
              
              
              
              
    
 
    
      
  Case #PB_Event_CloseWindow    
      If  GetActiveWindow() = #FenetreFicheSanitaire
        CloseWindow(#FenetreFicheSanitaire)
      Else
        End
      EndIf 
     
      
  EndSelect
    
  
  ForEver 
 
End
  

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 8:13
par Backup
faut choisir !

soit tu geres tes enumerations en "manuel" avec Enumeration----Endenumeration

soit tu les fait gerer par Purebasic avec #Pb_Any a chaque Elements

mais mélanger les 2 n'est pas une bonne idée

#Pb_any va "tirer" un numero pour Id de ton gadget

si ce numero est le meme qu'une de tes enumerations "manuel"
ça peut creer un conflit .... car un objet "#Pb_Any" , peut se retrouver avec le meme numero qu'un autre objet "enumeration-Endenumeration"

c'est pourquoi je conseil de faire tout en "manuel" ou tout en "Automatique"
mais pas mélanger .....
(perso j'utilise le mode Manuel )

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 8:28
par squale
Ok je vois, mais dans le cas par exemple d'un ComboBoxGadget avec des AddGadgetItem je peux aussi mettre #pb_any ? comment je les lie du coup ?

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 9:29
par Mesa
Comme ça :

Code : Tout sélectionner

; CONSTANTES
;-------------------------------------
Enumeration Window 
  #Fenetre_principale 
EndEnumeration 

Enumeration Gadget 
  #ComboBoxGadget_Avec_Enumeration 
EndEnumeration 


; VARIABLES
;-------------------------------------
Global ComboBoxGadget_Avec_pbAny ; Le Global n'est pas necessaire mais au cas où la 
                                  ; variable serait utilisée dans une procédure, elle 
                                  ; deviendrait invisible (dans la procédure). Voir l'aide.


; CODE
;-------------------------------------
If OpenWindow(#Fenetre_principale , 0, 0, 270, 180, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  ; Premier ComboBoxGadget, déclaré avec une constante
  ComboBoxGadget(#ComboBoxGadget_Avec_Enumeration , 10, 10, 250, 21, #PB_ComboBox_Editable)
  AddGadgetItem(#ComboBoxGadget_Avec_Enumeration , -1, "Liste déroulante éditable...")
  
  ; Second ComboBoxGadget, déclaré avec une variable (permet d'ajouter des gadgets à la volée avec #PB_Any...)
  ComboBoxGadget_Avec_pbAny=ComboBoxGadget(#PB_Any, 10, 70, 250, 21)
  For a = 1 To 5
    AddGadgetItem(ComboBoxGadget_Avec_pbAny, -1,"Elément de liste déroulante " + Str(a))
  Next
  
  
  SetGadgetState(#ComboBoxGadget_Avec_Enumeration, 0)
  SetGadgetState(ComboBoxGadget_Avec_pbAny, 2) ; Sélectionne le troisième élément (la numérotation commence à 0)
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Mesa.

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 10:51
par Fred
Dobro a écrit :faut choisir !

soit tu geres tes enumerations en "manuel" avec Enumeration----Endenumeration

soit tu les fait gerer par Purebasic avec #Pb_Any a chaque Elements

mais mélanger les 2 n'est pas une bonne idée

#Pb_any va "tirer" un numero pour Id de ton gadget

si ce numero est le meme qu'une de tes enumerations "manuel"
ça peut creer un conflit .... car un objet "#Pb_Any" , peut se retrouver avec le meme numero qu'un autre objet "enumeration-Endenumeration"

c'est pourquoi je conseil de faire tout en "manuel" ou tout en "Automatique"
mais pas mélanger .....
(perso j'utilise le mode Manuel )
C'est faux, il ne peut pas y avoir de conflit ! Donc tu peux très bien mixer les deux, et c'est d'ailleurs conseillé pour eviter d'oublier d'appeler la routine FreeXXX() apres un #PB_Any

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 10:55
par Fred
falsam a écrit :Si deux boutons se retrouvant dans deux séries d'énumeration porte le meme numéro alors oui c'est normal.

Code : Tout sélectionner

Enumeration
  #Button1
EndEnumeration

Enumeration
  #Button2
EndEnumeration

Debug #Button1
Debug #Button2
Tu débutes avec pure basic et je pense que tu devrais utiliser dans ce cas l'option #PB_Compiler_EnumerationValue pour déclarer tes énumérations.

Code : Tout sélectionner

Enumeration #PB_Compiler_EnumerationValue
  #Button1
EndEnumeration

Enumeration #PB_Compiler_EnumerationValue
  #Button2
EndEnumeration

Debug #Button1
Debug #Button2
#PB_Compiler_EnumerationValue est une fonctionnalité avancée et est à proscrire pour les débutants ! Si tu inseres une enumeration entre les deux, la valeur va etre incorrecte. C'est pourquoi il faut utiliser les enumeration nommées si tu veux les ecrire en plusieurs parties.

Code faux:

Code : Tout sélectionner

Enumeration #PB_Compiler_EnumerationValue
  #Button1
EndEnumeration

Enumeration
  #Fenetre1
  #Fenetre2
  #Fenetre3
EndEnumeration

Enumeration #PB_Compiler_EnumerationValue
  #Button2
EndEnumeration

Debug #Button1
Debug #Button2 ; Faux
Code juste:

Code : Tout sélectionner

Enumeration Gadget
  #Button1
EndEnumeration

Enumeration
  #Fenetre1
  #Fenetre2
  #Fenetre3
EndEnumeration

Enumeration Gadget
  #Button2
EndEnumeration

Debug #Button1
Debug #Button2 

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 11:14
par falsam
Fred a écrit :#PB_Compiler_EnumerationValue est une fonctionnalité avancée et est à proscrire pour les débutants ! Si tu inseres une enumeration entre les deux, la valeur va etre incorrecte. C'est pourquoi il faut utiliser les enumeration nommées si tu veux les ecrire en plusieurs parties.
A proscrire pour les débutants !!!! ? Fred tu ne fais que confirmer que Form Designer n'est pas adapté aux débutants. Extrait de code généré par Form Designer

Code : Tout sélectionner

Enumeration #PB_Compiler_EnumerationValue
  #Window_0
EndEnumeration

Enumeration #PB_Compiler_EnumerationValue
  #Button_0
  #Button_1
  #String_0
  #String_1
  #String_2
EndEnumeration
.....

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 11:46
par Fred
Le form designer est fait pour les débutants, si on ne mets pas les mains dans le cambouis en regardant le code généré ;). Mais tu as raison, le code généré n'est pas bon, je vais regarder ça. Ca ne change rien au fait que #PB_Compiler_EnumerationValue est à proscrire pour le débutant (en fait cette constante n'est utile que dans des cas très particuliers assez rare).

Re: Premiers essais avec PB

Publié : mer. 04/sept./2013 11:51
par Kwai chang caine
Dieu a écrit :Code faux:
Enumeration #PB_Compiler_EnumerationValue
#Button1
EndEnumeration

Enumeration
#Fenetre1
#Fenetre2
#Fenetre3
EndEnumeration

Enumeration #PB_Compiler_EnumerationValue
#Button2
EndEnumeration

Debug #Button1
Debug #Button2 ; Faux
Et ben j'suis encore pas dans la merde..
J'ai codé des milliers de lignes dans une DLL comme ça :cry:
Pour l'instant j'ai pas eu de plantage...le probleme c'est que le nommage n'existait pas avant