Page 1 sur 2

ouvrir un .exe depuis un menu

Publié : dim. 08/févr./2009 19:05
par durondil
salut
je débute en pure basic et donc j'ai fais une fenetre
dedans tu tape ton nom et ça le met en titre
: OK

donc j'ai fais une autre fenetre et elle est dans un dossier
dans se même dossier il y a un sous dossié Data et dans le sous dossier il y a mon premier programe.
et le programme dans le dossier principal c'est une fenetre avec un menu

Code : Tout sélectionner

Enumeration
  #Image_1
  #MenuBar_0
  #MENU_1
EndEnumeration



  If OpenWindow(#Image_1, 309, 68, 583, 310, "mon deuxième logiciél",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateMenu(#MenuBar_0, WindowID(#Image_1))
      MenuTitle("*MENU*")
      MenuBar()
      OpenSubMenu("ici pour le logiciél")
     
      MenuItem(#MENU_1, "mon logiciel")
      
        
      
      Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

    EndIf
  End



mais moi je veux que quand ton click sur "mon logiciél" sa ouvre le programe dans le sous dossié data

comment dois-je faire ?

Publié : dim. 08/févr./2009 19:08
par durondil
vené

Publié : dim. 08/févr./2009 19:09
par durondil
pérson ne sait je suposse

Publié : dim. 08/févr./2009 19:12
par Anonyme
4 minutes , 3 posts...
j'ai qu'une chose à dire : Article 22 !

A dieu.

Publié : dim. 08/févr./2009 19:14
par durondil
désolé si j'ai été impoli
mais c'est quoi l'article 22 stp
désolé encore

Publié : dim. 08/févr./2009 20:21
par Le Soldat Inconnu
1) langage SMS : Interdit
Ici on parle français
2) on reste poli
3) fais attention a ton orthographe, j'ai jamais autant de faute en si peu de mot, c'est quoi cette horreur ?


Ensuite ce que tu cherches, c'est RunProgram(

Je n'irai pas plus loin dans l'explication si tu fais pas d'effort pour faire une demande sans agression et avec un minimum de faute, j'entends par la, pas des fautes de grammaire aussi énormes :
suposse
logiciél
dossié

et j'en passe
j'ai jamais vu ça 8O

Publié : dim. 08/févr./2009 20:34
par durondil
je suis désoler mais sinon tu saurai pas coment faire
pour crée se genre de programme

Publié : dim. 08/févr./2009 20:34
par durondil
excusez moi pour mon francais mais j'ai que 13 ans hin moi je sui pas un big bos

Publié : dim. 08/févr./2009 20:39
par durondil
donc voila j'aimerai que tu m'aide un peu car je comprend pas run program machin et j'ai mis un correcteur orthographique sur firefox comme sa je fais plus de faute !

Publié : dim. 08/févr./2009 20:48
par jbernard13
bonsoir

va voir ici tu as un cours complet sur Pb

http://tripamort.free.fr

Publié : dim. 08/févr./2009 20:53
par durondil
Merci pour l'instant j'ai commencer a cherche j'ai pas trouvé Run Program mais je vais déjà commencé par lire le début comme ça je vais progressé !

Publié : dim. 08/févr./2009 21:30
par Ar-S
La question est :
comprends tu déjà ce que tu vois ?

Code : Tout sélectionner

Enumeration
  #Image_1
  #MenuBar_0
  #MENU_1
EndEnumeration



  If OpenWindow(#Image_1, 309, 68, 583, 310, "mon deuxième logiciél",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateMenu(#MenuBar_0, WindowID(#Image_1))
      MenuTitle("*MENU*")
      MenuBar()
      OpenSubMenu("ici pour le logiciél")
     
      MenuItem(#MENU_1, "mon logiciel")
     
       
     
      Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

    EndIf
  End 
Tu crées donc une fenêtre avec un menu.
Le choix dans se menu est intitulé #MENU_1
C'est donc si il on appel ce #MENU_1 qu'il va falloir créer une action... a savoir, un run program()

Les interactions entre l'utilisateur et ton programme vont être dans la partie :

Code : Tout sélectionner

Repeat ; répète
ICI*

Code : Tout sélectionner

Until WaitWindowEvent() = #PB_Event_CloseWindow ; jusqu'à ce qu'on ferme la fenêtre

Donc il faut que tu dises
*SI (ou bien : DANS LE CAS OU) #MENU_1 est appelé
Alors on lance le programme numéro 2

Je pense avoir été clair, je ne vais pas non plus te pondre ta commande car il y a 156200 exemples de run program, à toi de chercher un peu.
Je t'ai juste guidé et j'espère que ça t'aidera.

Publié : dim. 08/févr./2009 21:49
par durondil
J'ai essayé de faire ça

Code : Tout sélectionner

Enumeration
  #Image_1
  #MenuBar_0
  #MENU_1
EndEnumeration



  If OpenWindow(#Image_1, 309, 68, 583, 310, "mon deuxième logiciél",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateMenu(#MenuBar_0, WindowID(#Image_1))
      MenuTitle("*MENU*")
      MenuBar()
      OpenSubMenu("ici pour le logiciél")
     
      MenuItem(#MENU_1, "mon logiciel")
     
       
     
      Repeat : 
      
      If SetGadgetState(#MENU_1, 1)
      RunProgram("msnmsgr","",C:\Program Files\Windows Live\Messenger\msnmsgr.exe)
      EndIf
      
      Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

    EndIf
  End 
Ca ne fonctionne pas pk ?

Publié : dim. 08/févr./2009 22:03
par jbernard13
voici ton code corriger
regarde avec la doc pour comprendre

Code : Tout sélectionner


Enumeration 
  #Image_1
  #MenuBar_0 
  #MENU_1 
EndEnumeration 



If OpenWindow(#Image_1, 0, 0, 583, 310, "mon deuxième logiciél",  #PB_Window_SystemMenu |#PB_Window_MinimizeGadget| #PB_Window_SizeGadget | #PB_Window_TitleBar|#PB_Window_ScreenCentered ) 
  If CreateMenu(#MenuBar_0, WindowID(#Image_1)) 
    MenuTitle("*MENU*") 
    MenuBar() 
    OpenSubMenu("ici pour le logiciél") 
      
      MenuItem(#MENU_1, "mon logiciel") 
    EndIf
  EndIf
  
      
      
      Repeat
        Select WaitWindowEvent() 
        Case #PB_Event_Menu
       
        Select EventMenu()
          Case #MENU_1:
            RunProgram("C:\Program Files\Windows Live\Messenger\msnmsgr.exe") 
        EndSelect
        
          Case #PB_Event_CloseWindow
            Quitter =#True
        EndSelect
   Until Quitter
     

Publié : dim. 08/févr./2009 22:05
par venom
salut durondil,

tout simplement par ce que tu fait mal ta boucle d'évènement en seconde partie du code :wink: .

regarde ton code et le miens vérifie et compare bien les différences :wink:

Code : Tout sélectionner

Enumeration
  #Image_1
  #MenuBar_0
  #MENU_1
EndEnumeration

; ********** premiere partie **************

If OpenWindow(#Image_1, 309, 68, 583, 310, "mon deuxième logiciél",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
 If CreateMenu(#MenuBar_0, WindowID(#Image_1))
  MenuTitle("*MENU*")
   MenuBar()
  OpenSubMenu("ici pour le logiciél")
   MenuItem(#MENU_1, "mon logiciel")
   
 EndIf 

; ********** seconde partie **************
  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Menu 
      Select EventMenu()
      
       Case #MENU_1
        RunProgram("msnmsgr","","C:\Program Files\Windows Live\Messenger\msnmsgr.exe")
      
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
EndIf
apprend déjà a savoir créer une fenêtre vide de la bonne façon ensuite F1 et lire la catégorie gadget()
voilou




@++