[Résolu]ouvrir un fichiers.pb à partir d'un autre fichier.pb

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
micam
Messages : 46
Inscription : ven. 27/avr./2012 15:29

[Résolu]ouvrir un fichiers.pb à partir d'un autre fichier.pb

Message par micam »

Bonjour,
Je vais essayer d’être clair. (c'est pas gagné)
Je voudrai faire un programme avec plusieurs fichiers .pb qui ferment ou activent les autres.
Le programme1.pb affiche :

Code : Tout sélectionner

OpenWindow(#Fenetre1,10,10,200,200,"Programme  1 ",#PB_Window_SystemMenu) 
ButtonGadget(#ouvre_Programme2,10,10,150,20,"Ouvre Programme 2")
J'aimerai que le programme1.pb se ferme après avoir affiché le programme2.pb

Le programme2.pb affiche :

Code : Tout sélectionner

OpenWindow(#Fenetre1,10,10,200,200,"Programme  2 ",#PB_Window_SystemMenu) 
ButtonGadget(#ouvre_Programme1,10,10,150,20,"Ouvre Programme 1")
J'aimerai ré-ouvrir le programme1.pb à la fermeture du programme2.pb
Si quelqu'un a déjà planché la dessus ?
Merci d'avance.
Dernière modification par micam le mer. 23/mai/2012 21:03, modifié 1 fois.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: ouvrir un fichiers .pb à partir d'un autre fichier .pb

Message par blendman »

Peut être ces pistes-là :
- xincludefile /includefile
- runprogramm() : faut compiler chaque programme séparément et tu lances dans ton programme 1, le programm2 que tu as aussi compilé avant.
runprogramm("program2.exe")

Il y a sans doute d'autres possibilités ;)
micam
Messages : 46
Inscription : ven. 27/avr./2012 15:29

Re: ouvrir un fichiers .pb à partir d'un autre fichier .pb

Message par micam »

J'ai finalement changé d'avis, et je vais gérer mon problème avec plusieurs fenêtres.
Je ne sais pas si c'est bien codé ? J'attend les remarques.
Merci.

Code : Tout sélectionner

Enumeration
  ;Les fenetres
  #Fenetre1
  #Fenetre2
EndEnumeration

Enumeration
  ;Les gadgets
  #Button_OuvrirFenetre2
  #Button_FermerFenetre1
  #Button_OuvrirFenetre1
  #Button_QuitterFenetre2
  #Button_Quitter
EndEnumeration

Define.l EventFenetre1, EventFenetre2, EventGadget, EventType, EventMenu

Procedure OpenWindow_Fenetre1()
  If OpenWindow(#Fenetre1, 889, 206, 412, 412, "Fenetre 1", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
    ButtonGadget(#Button_OuvrirFenetre2, 125, 60, 135, 25, "Ouvrir fenetre 2")
    ButtonGadget(#Button_Quitter, 125, 100, 135, 25, "Quitter")
  EndIf
EndProcedure
  
Procedure OpenWindow_Fenetre2()
  If OpenWindow(#Fenetre2, 479, 344, 354, 225, "Fenetre 2", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
    ButtonGadget(#Button_FermerFenetre1, 60, 40, 250, 25, "Fermer fenetre1")
    ButtonGadget(#Button_OuvrirFenetre1, 60, 80, 250, 25, "Ouvrir fenetre 1")
    ButtonGadget(#Button_QuitterFenetre2, 60, 120, 250, 25, "Fermer cette fenetre")
  EndIf
  
  Repeat
  EventFenetre2 = WaitWindowEvent()
  Select EventFenetre2
      
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      
      If EventGadget = #Button_OuvrirFenetre2   ;ouvre la deuxième fenetre
        OpenWindow_Fenetre2()
        
      ElseIf EventGadget = #Button_FermerFenetre1   ;ferme la première fenetre
        MessageRequester("","Fermeture de la Fenetre 1")
        CloseWindow(#Fenetre1)
        
      ElseIf EventGadget = #Button_OuvrirFenetre1   ;ouvre la première fenetre
        MessageRequester("","Ouverture de la Fenetre 1")
        OpenWindow_Fenetre1()
        CloseWindow(#Fenetre2)
        
      ElseIf EventGadget = #Button_QuitterFenetre2   ;ferme la deuxième fenetre
        CloseWindow(#Fenetre2)
      ElseIf EventGadget = #Button_Quitter
      End
      EndIf

    Case #PB_Event_CloseWindow
      EventFenetre2 = EventWindow()
      If EventFenetre2 = #Fenetre1   ;ferme tout
        End
      ElseIf EventFenetre2 = #Fenetre2   ;ferme la deuxième fenetre
      CloseWindow(#Fenetre2)
    EndIf
    
EndSelect
ForEver

EndProcedure

OpenWindow_Fenetre1()

Repeat
  EventFenetre1 = WaitWindowEvent()
  Select EventFenetre1
      
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      
      If EventGadget = #Button_OuvrirFenetre2   ;ouvre la deuxième fenetre
        OpenWindow_Fenetre2()
        
      ElseIf EventGadget = #Button_Quitter   ;ouvre la première fenetre
        CloseWindow(#Fenetre1)
        Break
      EndIf
      
    Case #PB_Event_CloseWindow
      EventFenetre2 = EventWindow()
      If EventFenetre2 = #Fenetre1   ;ouvre la première fenetre
        CloseWindow(#Fenetre1)
        Break
      EndIf
      
  EndSelect
  
ForEver
Répondre