begin process at 2012 02 14 06:22:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Problèmes avec une boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problèmes avec une boucle

dimanche 11 juin 2006 à 22:33:28 | Problèmes avec une boucle

smitchel

Bonjour tt le monde,
Voila j'ai un problem avec les boucle, je voudrais faire un boucle qui permetrai de perdre du temps, je voudrais qu'a chaque fois qu'il fasse un boucle il attende 15 sec avan de recommencer, j'ai essayer avec le DateTime mais sa ne marche pas vraiment, si vous avez quelque chose a me proposé ou corrigé mon codes, merci d'avance.
Smitchel

Private Sub Mode_boucle_Click()
Compteur = 15
Do While DateTime.Now < DateTime.Second(Compteur)
Compteur = Compteur + 15
Loop
End Sub

dimanche 11 juin 2006 à 22:47:38 | Re : Problèmes avec une boucle

casy

Membre Club
Utilise la fonction timer :

debut = Timer
Do
    DoEvents
Loop While Timer < (debut + 15)

Attention avec la focntion Timer pour le passage à minuit. A minuit la fonction revient à 0. Donc si ton attente se trouve en plein sur le passage à minuit, tu génère une boucle infinie. Si necessaire, pour y remédier, il faut gérer ce changement. Sinon tu peux aussi utiliser l'api GetTickCount qui est beaucoup plus précise (1ms contre 20ms pour la fonction timer)









# Le partage est notre force #
dimanche 11 juin 2006 à 22:48:49 | Re : Problèmes avec une boucle

mi12ox

hello,
je crois qu'il serait plus raisonable d'utiliser un timer et de mettre son intervalle sur 15000 (ce sont des millisecondes). la procédure timer1.timer est lancée toutes les 15 secondes et tout les code que tu y place est ainsi repété à intervalles réguliers.
je sais pas si ça a pu t'aider sinon n'hésite pas à redemander.

amicalement

miro
dimanche 11 juin 2006 à 22:54:05 | Re : Problèmes avec une boucle

casy

Membre Club
Tiens pourr info, l'exemple du MSDN pour la fonction Timer :

Dim PauseTime, Start, Finish, TotalTime
If (MsgBox("Cliquez sur Oui pour effectuer une pause de 5 secondes", 4)) = vbYes Then
PauseTime = 5 ' Définit la durée.
Start = Timer ' Définit l'heure de début.
Do While Timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres processus.
Loop
Finish = Timer ' Définit l'heure de fin.
TotalTime = Finish - Start ' Calcule la durée totale.
MsgBox "Pause de " & TotalTime & " seconde(s)"
Else
End
End If
Si c'est une attente de 15 secondes que tu veux, utilise ce code. Par contre si c'est une tache qui doit se renouveller toutes les 15  seconde, Miro a raison, un controle Timer est plus approprié.


# Le partage est notre force #
lundi 12 juin 2006 à 09:51:49 | Re : Problèmes avec une boucle

NHenry

Membre Club Administrateur CodeS-SourceS
Bonjour

Le code suivant est juste, mais il consome 100% du CPU pour rien :
 Do While Timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres processus.
Loop
Il est préférable d'utiliser un Timer ou d'utiliser Sleep(DuréeEnMillisecondes), pour VB6, rechercher sur les forums et sources, pour VB.NET, System.Threading.Thread.Sleep(...)

Il est plus facile de batiser quelqu'un que de la convertir. (surtout en programmation)
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
lundi 12 juin 2006 à 19:34:16 | Re : Problèmes avec une boucle

smitchel

Miro sa m'interesse bien ce que tu di mais jarrive pas a l'appliqué, tu pourrai me montré un exemple, par avance merci

lundi 12 juin 2006 à 20:25:26 | Re : Problèmes avec une boucle

mi12ox

tu crée ton objet timer1 sur ta forme( tu t'en fous d'ou tu le place il sera invisible à l'éxécution).

ensuite tu place un bout de code qui ressemble à ça:


dim MonCompteur as integer
Private Sub Form1_Load()  
    Let timer1.interval=15000  '  c'est de millisecondes
    Let MonCompteur=0
end Sub

Private Sub Timer1_Timer()
    let MonCompteur=MonCompteur+1
    let label1.Caption=MonCompteur
    ' Tout ce que tu veux faire toutes les 15 secondes
end Sub

la varialbe MonCompteur est juste la pour te montrer qu'après toutes les 15 secondes, le code que ta mis dans Timer1_Timer() est executé, dans ce cas présent, t'incrément ton compteur et tu affiche son contenu dans un label, rien de bien extraordinaire.

hésite pas à redemander si j'ai pas été clair.

amicalement

miro

mardi 13 juin 2006 à 00:05:32 | Re : Problèmes avec une boucle

smitchel

ya un truc que jsaisi pas, comment jle lance ce codes?

mardi 13 juin 2006 à 11:24:05 | Re : Problèmes avec une boucle

mi12ox

t'es sous vb6 ou .net?

tu place Let timer1.interval=15000 dans une procédure, par exemple le chargement de ta feuille.

et ensuite tu crée la procédure  Private Sub Timer1_Timer() dans le code de ta feuille ou ta placé ton timer dessus, et elle se lance automatiquement toutes les 15000 millisecondes.
donc tout le code que tu place dans la procédure Timer1_Timer() est répeté toutes les 15 secondes.


mardi 13 juin 2006 à 11:54:49 | Re : Problèmes avec une boucle

smitchel

Jsuis sur VB6 mais moi en fait jvoudrai que sa ce lance quan je clique sur un boutonj pas automatiquement.


1 2

Cette discussion est classée dans : boucle, compteur, problèmes, datetime


Répondre à ce message

Sujets en rapport avec ce message

DateTime.Compare [ par teamtiti ] Salut ,donc voila dans mon programme j'additionne la date du jour et un nombre de jours (90) que je renseigne dans un texbox et que je doit mettre dan Afficher le temps d'exécution d'une boucle [ par dodineau ] Bonjour,Je voudrais calculer le temps d'exécution d'une boucle et l'afficher.J'ai bien trouvé une source sur ce site mais il utilise le framework 2 et comment faire une boucle avec un compteur pour conversion Fahrenheit a Celsius [ par mrzoe ] Bonjour J'aimerai savoir comment faire une boucle avec un compteur dans un programme de conversion Fahrenheit a Celsius qui demande a la utilisate [Catégorie modifiée VB6 -> VBA] Boucle et test sur combobox [ par thebossof24 ] Bonjour à tous, Je souhaiterai savoir s'il est possible de faire une boucle sur les combobox présents sur une feuille de mon fichier excel. Plus conc [Catégorie encore modifiée .Net - VBA] boucle pour supprimer une série de graphique [ par jbbaudouin ] Bonjour à tous, savez si il existe un moyen d'utiliser par exemple une boucle pour supprimer une série de graphiques sur différentes feuille Dans mon code pour boucle de choix de combobox [ par bedoom65 ] Bonjour, j'ai monter une mini base de donnée Access et dans cette base de donnée j'ai 3 champs de poids différents dedans (Acier, Inoxydable et Alumin Pause & attente d'une touche clavier en même temps [ par ASG63 ] Bonjour, Je dois programmer un petit programme pour un enseignement. Je dois commander un moteur pas-a-pas grace à une catre d'acquisition. Dans mon incrémenter un compteur d'un fichier excel partagé sur le réseau [ par hamiiiz ] je veux réaliser un compteur sur une page excel q'on peut l'incrémenter grâce a un bouton, le problème est que lorsque le fichier excel est ouvert par compteur [ par capeofgoodhope ] bonjour, je cherche à insérer un dateur (fonction maintenant dans Excel) et un décompte de jours (type les panneaux d'affichage sur la sécurité au tra [Catégorie modifiée VB6 -> .Net] type activex non géré par visual basic [ par bl1919 ] lorsque je compile mon code une erreur de compilation surgit: type ActieX non géré par Visual Basic. cette erreur est lié à l'utilisation de la foncti


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,334 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales