Timer et compagnie !

bugstyle Messages postés 16 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 18 novembre 2004 - 27 août 2003 à 18:04
tH3 GuItArIsTe 666 Messages postés 58 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 26 août 2006 - 16 août 2005 à 21:58
Salut a tous,

je débarque ds le VB, et comme d'hab, problème, en bref voici un exemple de ce que je souhaiterais faire ds une application plus compliquée:

Dim Temps As Integer

Private Sub form_Load()
  Timer1.Enabled = False
  Timer1.Interval = 1000
  Temps = 0
  Call MaFonction
End Sub

Private Sub Timer1_Timer()
  Temps = Temps + 1
End Sub

Private Sub MaFonction()
  'blablalbla plein de code 
  
  Timer1.Enabled = True

  Do While Temps < 10
    'rien juste pour patienter ...
  Loop
  
  Timer1.Enabled = False
  MsgBox "et hop 10 sec d'ecoulee !"

  'blablalbla plein de code 
End Sub


Voila, rien de compliquer sauf que mon ami Timer ne semble pas apprecier ma petite boucle While, normal ? j'en sais rien mais je sais pas comment faire autrement pour verifier que mes dix seconde sont atteintes, pleaze help !

--------------------------------------------------------------------
Sans entraide on bloc, le logiciel n'avance pas, le boss n'est pas content, on se retrouve au chomage, on est a la rue... lol vive l'entraide ! :big)

10 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 août 2003 à 18:18
Ben un timer n'est pas forcément le plus adapté pour faire une pause !

Essaye plutôt un truc du genre :

Temps = Time(Now)

While Time(Now) > Temps + 10

DoEvents

Wend

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
27 août 2003 à 18:24
liquide
c'est dans le timer que tu dois mettre ton msgbox et puis pour 10 s c'est 10000, donc plus besoin apriori de ta fonction puis dans le timer a la fin tu mets timer1 = false sinon boucle a l'infini pour le msgbox
0
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
27 août 2003 à 18:26
liquide

alors ca, ca me plait depuis le temps que je cherchais un truc comme ca , merci
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 août 2003 à 08:12
Et il y a encore mieux : si tu veux uniquement faire une pause, il existe la fonction API : SleepEx !

Pour plus d'info sur cette api : va voir la rubrique API du site ProgOtoP.com

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0

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

Posez votre question
bugstyle Messages postés 16 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 18 novembre 2004
28 août 2003 à 09:47
Merci pour ces petites precision c pas exactement ce ke je voulais faire mais je pense que je vais pouvoir bidouiller et emprunter des chemins detournés pour arriver au but Grand Merci (surtout pour la rapidité !!! )
0
bugstyle Messages postés 16 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 18 novembre 2004
28 août 2003 à 10:12
Ca renvoie koi "TempsFixe = Time(Now)" meme si je declare TempsFixe As Variant il me sort une heure (incompatible type) Kel est le format de TIme, Date ?
0
bugstyle Messages postés 16 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 18 novembre 2004
28 août 2003 à 10:32
cette version marche TempsFixe = Second(Now) ... dumoins ca s'en rapproche !
0
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
30 août 2003 à 22:47
liquide
il passe pas ton site, peux tu regarder pk, merci
0
prjst0 Messages postés 1 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 3 août 2005
3 août 2005 à 14:17
Private Sub Command1_Click()


Dim source As String
Dim cible As String
Dim remplace As Boolean


source = "y:\transit\tests\*.*"
cible = "y:\transit\destinat"

On Error GoTo erreur

Set fso = CreateObject("Scripting.FileSystemObject")
fso.moveFile source, cible
GoTo fin

erreur:
Command1.Caption = "RIEN à transférer"
a = SleepEx(5000, False)

fin:
Command1.Caption = "Transfert"
End Sub
0
tH3 GuItArIsTe 666 Messages postés 58 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 26 août 2006
16 août 2005 à 21:58
slt
euh donc c koi le bon code ?? pour ce code :

> > > > Dim Temps As Integer
> > > >
> > > > Private Sub form_Load()
> > > > Timer1.Enabled = False
> > > > Timer1.Interval = 1000
> > > > Temps = 0
> > > > Call MaFonction
> > > > End Sub
> > > >
> > > > Private Sub Timer1_Timer()
> > > > Temps = Temps + 1
> > > > End Sub
> > > >
> > > > Private Sub MaFonction()
> > > > 'blablalbla plein de code
> > > >
> > > > Timer1.Enabled = True
> > > >
> > > > Do While Temps < 10
> > > > 'rien juste pour patienter ...
> > > > Loop
> > > >
> > > > Timer1.Enabled = False
> > > > MsgBox "et hop 10 sec d'ecoulee !"
> > > >
> > > > 'blablalbla plein de code
> > > > End Sub

MERCI

+++SLT+++
0
Rejoignez-nous