Pause en seconde entre le lancement de prgramme

Résolu
Signaler
Messages postés
4
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
16 mars 2007
-
Messages postés
1
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
17 mars 2007
-
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

Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
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.
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
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
Messages postés
5
Date d'inscription
mardi 28 septembre 2004
Statut
Membre
Dernière intervention
6 janvier 2009

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
Messages postés
4
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
16 mars 2007

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
Messages postés
5
Date d'inscription
mardi 28 septembre 2004
Statut
Membre
Dernière intervention
6 janvier 2009

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")
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
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
Messages postés
4
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
16 mars 2007

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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
"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...
Messages postés
4
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
16 mars 2007

RE

Merci beaucoup cela fonctionne impec :)

;)
Messages postés
1
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
17 mars 2007

moi je cherche dans quelle site pour flashi mon dem star sat