Pause en seconde entre le lancement de prgramme

Résolu
lechouille Messages postés 4 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 16 mars 2007 - 16 mars 2007 à 16:35
samy19255 Messages postés 1 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 17 mars 2007 - 17 mars 2007 à 00:17
Bonjour,

Je suis en train de créer un petit programme sous VB6 pour lancer des appli.
jusque là, pas de soucis. un bouton une fonction no problème.
Mais je voudrais rajouter un bouton qui me lance les 3 appli (dont 2 qui s'ouvre en command.com dos c'est une base de donnée) MAIS avec une pause entre. Par exemple:

appli 1 se lance sous dos,
apres 40sec
la seconde appli sous dos se lance dans une fenetre differente
et apres 5sec,
la 3eme appli sous windows se lance.

Merci d'avance a tous

11 réponses

hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
16 mars 2007 à 18:15
arf, ok, j'ai mal lu ton premier message ou tu specifiait que c'était en vb6.


Tu as posté ton message dans la section vb.net/vb2005 !

Qu'importe, voici le même code en vb6, mais il faut declarer deux API avant :

Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)

et la procédure :

Private Sub hbwait(ByVal ms As Long)
    Dim endwait As Long
        endwait = GetTickCount + ms
        Do While GetTickCount() < endwait
            Sleep (1)
            DoEvents
        Loop
End Sub

J'ai tout mis en private, si tu declare cela dans un module, remplace Private par Public.

Have fun

Hvb aka Batto
bato.ltd at gmail.com
3
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
16 mars 2007 à 18:27
Heureux pour toi, Lechouille.

J'espère que tu as compris la nécessité de "poster" là où il convient, pour éviter des pertes de temps....
Essaye d'y faire attention lors de l'ouverture de ta prochaine discussion. Tu y gagneras et les autres aussi.
Merci.
3
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
16 mars 2007 à 16:47
Déclare cette sub dans ton code : 

FriendSub hbwait(ByVal ms_to_wait AsLong)




     Dim endwait AsDouble


   endwait = Environment.TickCount + ms_to_wait


    While Environment.TickCount < endwait


         System.Threading.Thread.Sleep(1)


            Application.DoEvents()


       EndWhile


    EndSub

Puis appel la entre te lancement d'appli comme ceci :

'1ere appli que tu lance
hbwait(40000)
'2eme appli que tu lance
hbwait(5000)
'3eme appli que tu lance

Hvb aka Batto
bato.ltd at gmail.com
0
pupucenet Messages postés 5 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 6 janvier 2009
16 mars 2007 à 16:54
bonjour,
voici une solution

Dim duree, start
start = Timer
duree = 10
Text1.BackColor = vbRed
While Timer < (start + duree)
    Text1.Text = Timer
    Text2.Text = (start + duree)
DoEvents
Wend
Text1.BackColor = vbGreen
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lechouille Messages postés 4 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 16 mars 2007
16 mars 2007 à 17:08
re,

voici tout mon code car la ca marche po je dois mal me débrouiller sur !

Private Sub command1_Click()
FriendSub hbwait(ByVal ms_to_wait AsLong)
Dim endwait AsDouble
endwait = Environment.TickCount + ms_to_wait
While Environment.TickCount < endwait
System.Threading.Thread.Sleep (1)
Application.DoEvents()
EndWhile
EndSub


MsgBox ("ATTENTION ! ! ! tous les processus vont être lancés !")
Shell ("command.com /k APPLI01")
hbwait (40000)
Shell ("command.com /k APPLI02")
hbwait (40000)
Shell ("E:\APPLI03WIN")


End Sub
0
pupucenet Messages postés 5 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 6 janvier 2009
16 mars 2007 à 17:45
declare et ecrit ta fonction "hbwait" dans un module.bas
et non dans ton boutton...
ensuite dans ton bouttonfait appel a ta fonction

MsgBox ("ATTENTION ! ! ! tous les processus vont être lancés !")
Shell ("command.com /k APPLI01")
hbwait (40000)
Shell ("command.com /k APPLI02")
hbwait (40000)
Shell ("E:\APPLI03WIN")
0
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
16 mars 2007 à 17:54
merci de m'avoir devancer pupucenet ^^

lechouille : comme l'a dit pupucenet, declare la procédure hors de ta procédure button_click, dans un module ou dans la feuille elle meme. Cependant lorsque j'ai collé mon code certains espaces ont été perdus,
j'espere que tu as detecté cela.
Voici le code correct :
Friend Sub hbwait(ByVal ms_to_wait As Long)
    Dim endwait As Double
    endwait = Environment.TickCount + ms_to_wait
    While Environment.TickCount < endwait
         System.Threading.Thread.Sleep(1)
         Application.DoEvents()
    End While
End Sub

Hvb aka Batto
bato.ltd at gmail.com
0
lechouille Messages postés 4 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 16 mars 2007
16 mars 2007 à 18:04
donc je dois faire comme cela :

Friend Sub hbwait(ByVal ms_to_wait As Long)
    Dim endwait As Double
    endwait = Environment.TickCount + ms_to_wait
    While Environment.TickCount < endwait
         System.Threading.Thread.Sleep (1)
         Application.DoEvents()
    End While
End Sub




Private Sub Command1_Click()
MsgBox ("ATTENTION ! ! ! tous les processus vont être lancés !")
Shell ("command.com /k APLLI01")
hbwait (40000)
Shell ("command.com /k APPLI02")
hbwait (40000)
Shell ("E:\APPLI03WIN")
End Sub

mais j'ai une erreur qd je clique sur le bouton pour lancer les appli : une msgbox : erreur de compilation: erreur de syntaxe
la premeir ligne est souligné en jaune Friend Sub hbwait....
et en rouge : Application.DoEvents()
End Wihile
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
16 mars 2007 à 18:11
"Je suis en train de créer un petit programme sous VB6 pour lancer des appli."


et le reste ne me parait pas être du VB6....

S'où l'absolue nécessité de "poster" dans la rubrique adéquate...
0
lechouille Messages postés 4 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 16 mars 2007
16 mars 2007 à 18:22
RE

Merci beaucoup cela fonctionne impec :)

;)
0
samy19255 Messages postés 1 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 17 mars 2007
17 mars 2007 à 00:17
moi je cherche dans quelle site pour flashi mon dem star sat
0
Rejoignez-nous