Accueil > Forum > > > > Problème de Timer avec l'exécution d'action(s)
Problème de Timer avec l'exécution d'action(s)
dimanche 29 juillet 2012 à 15:15:55 |
Problème de Timer avec l'exécution d'action(s)

Nivek821
|
Bonjour, mon problème est le suivant :
Je voulais faire un programme qui permettrait de faire une ou plusieurs action(s) prédéfini, or quand je veux effectuer une action, il me l'exécute 32 fois. Je pense que cela est lié à mon Timer me servant à séparer chaque action par un temps prédéfinis.
Si quelqu'un pouvait me dépanner, cela m'aiderais beaucoup.
Merci de m'aider.
Extrait du code :
Code Visual Basic : Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
TextBox1.Enabled = False 'verouille les composants du form
TextBox2.Enabled = False
ComboBox1.Enabled = False
NumericUpDown1.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
Button5.Enabled = False
Me.Hide() 'rend la fenetre invisible
LectureAction.Start() 'execution des actions
TextBox1.Enabled = True 'déverouille les composants du form
TextBox2.Enabled = True
ComboBox1.Enabled = True
NumericUpDown1.Enabled = True
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
Button5.Enabled = True
End Sub
Private Sub InterprétationLecture()
Try
TextBox3.Select(0, 0)
TextBox4.Select(0, 0)
TextBox5.Select(0, 0)
TextBox6.Select(0, 0)
TextBox7.Select(0, 0)
For Each Contenuligne3 As String In TextBox3.Lines 'Contenuligne = au texte d'une ligne.
For Each Contenuligne4 As String In TextBox4.Lines
For Each Contenuligne5 As String In TextBox5.Lines
For Each Contenuligne6 As String In TextBox6.Lines
For Each Contenuligne7 As String In TextBox7.Lines
If Not Contenuligne3 = Nothing Then 'Si la ligne n'est pas vide alors,
If Not Contenuligne6 = Nothing Then
If Not Contenuligne7 = Nothing Then
Dim LigneMax, DernièreLigne
DernièreLigne = Split(TextBox7.Text, vbNewLine, , vbTextCompare)
LigneMax = DernièreLigne(UBound(DernièreLigne) - 1)
If Not Contenuligne4 = Nothing Then 'Si la ligne n'est pas vide alors,
If Not Contenuligne5 = Nothing Then
If Contenuligne3 = "Clique gauche" Then 'si contenuligne3 = "Clique gauche" alors
Dim x As Integer, y As Integer 'le clique
x = CLng(Contenuligne4)
y = CLng(Contenuligne5)
Call SetCursorPos(x, y)
Call apimouse_event(mouseeventf_leftdown, 0, 0, 0, 0)
Call apimouse_event(mouseeventf_leftup, 0, 0, 0, 0)
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
End If
End If
If Contenuligne3 = "Clique droit" Then
Dim x As Integer, y As Integer 'le clique
x = CLng(Contenuligne4)
y = CLng(Contenuligne5)
Call SetCursorPos(x, y)
Call apimouse_event(mouseeventf_rightdown, 0, 0, 0, 0)
Call apimouse_event(mouseeventf_rightup, 0, 0, 0, 0)
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
End If
End If
End If
End If
If Contenuligne3 = "Entrée" Then
SendKeys.Send("{ENTER}")
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
End If
End If
If Contenuligne3 = "Retour" Then
SendKeys.Send("{BackSpace}")
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
End If
End If
If Contenuligne3 = "Flèche haut" Then
SendKeys.Send("{UP}")
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
End If
End If
If Contenuligne3 = "Flèche bas" Then
SendKeys.Send("{DOWN}")
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
End If
End If
If Contenuligne3 = "Flèche gauche" Then
SendKeys.Send("{RIGHT}")
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
End If
End If
If Contenuligne3 = "Flèche droite" Then
SendKeys.Send("{Left}")
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
End If
End If
End If
End If
End If
Next Contenuligne7
Next Contenuligne6
Next Contenuligne5
Next Contenuligne4
Next Contenuligne3
Catch ex As Exception
End Try
End Sub
Private Sub LectureAction_Tick(sender As System.Object, e As System.EventArgs) Handles LectureAction.Tick
LectureAction.Stop()
InterprétationLecture()
End Sub
Aperçu du design :
Lien de téléchargement du projet
Cordialement,
Nivek821
|
|
dimanche 29 juillet 2012 à 17:01:42 |
Re : Problème de Timer avec l'exécution d'action(s)

NHenry
|
Bonjour,
Afin de faciliter la lecture de ton code :
- Indentes ton code.
- Nommes tes variables et tes contrôles de manière logique :
+ TxtColonneLignes est plus explicite que TextBox1
- Regardes aussi le contrôle TreeView
- Un peu plus de commentaire aiderait aussi.
Concernant le code :
Dim x As Integer, y As Integer 'le clique
x = CLng(Contenuligne4)
Clng convertit en Long, alors pourquoi extraire un Long pour le mettre dans un Integer ?
En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
---------------------------------------------------------------------
- Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.
- Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite :
). - En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
- Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés
---
Mon site
|
|
lundi 30 juillet 2012 à 00:59:55 |
Re : Problème de Timer avec l'exécution d'action(s)

Nivek821
|
Je vais reformuler ce que je voudrais mais en simplifiant le code.
Avec 1 bouton appelé "Button4" je voudrais que celui-ci me permette après chaque action de faire une pause avec une valeur prédéfinit.
Part exemple avec "Sleep" (m'expliquer par la même occasion comment sa marche).
Code Visual Basic : If Contenuligne3 = "Flèche haut" Then
SendKeys.Send("{UP}")
LectureAction.Interval = Contenuligne7
If TextBox7.Lines.Count < LigneMax Then
LectureAction.Start()
Sleep(Contenuligne6) 'Contenuligne6 est le temps d'attente prédéfinit
End If
End If
|
|
lundi 30 juillet 2012 à 03:36:37 |
Re : Problème de Timer avec l'exécution d'action(s)

NHenry
|
Réponse acceptée !
Bonjour,
System.Threading.Thread.Sleep(...)
Sinon, mes remarques concernant le code en général restent valides et te faciliteront la tache en correction/débogage..
---------------------------------------------------------------------
- Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.
- Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite :
). - En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
- Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés
---
Mon site
|
|
lundi 30 juillet 2012 à 14:49:59 |
Re : Problème de Timer avec l'exécution d'action(s)
|
Cette discussion est classée dans : end, enabled, if, then, lectureaction
Répondre à ce message
Sujets en rapport avec ce message
problème avec deux MFC par macro qui ne fonctionnent que séparément [ par CMichel44 ]
Bonjour le Forum Ceci est ma première demande dans ce forum. J’ai créé un planning annuel où les jours fériés et les repos supplémentaires se colorie
Erreur de compilation membre de méthode ou données introuvable [ par gatagarim ]
Bonjour j'ai un probléme au niveau de mon code: erreur de compilation Membre de methode ou de données introuvable. J'essaye de tester mes différents
probleme [ par benji84710 ]
[size=200]salut a tous, tout d'abord je me présente : Benjamin, j'ai 17 ans et je commence vb depuis 2 semaines Mon probleme : j'essaye de faire un c
Extraire données d'une chaine de caractères avant de l'afficher [ par harryweb77 ]
Bonjour, Je suis complètement débutant. J'ai réussi à modifier un petit terminal série (RS232) que j'ai récupéré sur la toile en y ajoutant mes éléme
UserForm et ListBox [ par Akeen56 ]
Bonjour, je me permets de poster pour un problème que je rencontre dans un formulaire. Le but est le suivant: renseigner l'utilisateur sur la signi
[VBA Excel] Erreur 1004 lors d'un recalcul automatique [ par jpvito ]
Bonjour, J'ai la formule suivante dans la cellule G8 : [code=autre]=ESTDOUBLON(A8;C8)[/code] Avec la macro suivante : [code=vb] Private Const nVERT
AIDE modification code [ par Angecedric ]
Bonjour à tous, Depuis plusieur semaine j'ai modifié un programme pour la gestion de salle de réunion sous EXCEL. Après la création d'une salle, l'ut
Impossible de trouvé la solution à mon PB, besoin d'expert lol [ par Angecedric ]
Bonjour à tous, Depuis plusieur semaine j'ai modifié un programme pour la gestion de salle de réunion sous EXCEL. Après la création d'une salle, l'
Livres en rapport
|
Derniers Blogs
SIMULER FACILEMENT L'ENVOI DE MAILSIMULER FACILEMENT L'ENVOI DE MAIL par JeremyJeanson
il m'a été demandé, à plusieurs reprises, comment je faisais pour simuler l'envoi de mail lors de mes démos de Workflow Foundation. Ma solution est plutôt simple : j'utilise la configuration par défaut du SmtpClient et j'oriente les mails vers un dossier ...
Cliquez pour lire la suite de l'article par JeremyJeanson VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet [ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS.[ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS. par Patrick Guimonet
C'est un point peu mis en avant mais SharePoint 2013 a été l'occasion de remettre de l'ordre dans les modèles de sites. Tout d'abord, un certain nombre de modèles ont été tout simplement rendus obsolètes (cf. Fonctionnalités déco...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Forum
RE : DEAMANDE RE : DEAMANDE par bassomarosa
Cliquez pour lire la suite par bassomarosa
Logiciels
Easy-Planning (4.5.0.11)EASY-PLANNING (4.5.0.11)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté a... Cliquez pour télécharger Easy-Planning CVEasy (3.1.0.51)CVEASY (3.1.0.51)PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante.
PHMSD-C... Cliquez pour télécharger CVEasy LettresFaciles 2011 (8.6.0.31)LETTRESFACILES 2011 (8.6.0.31)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011 sDEVIS-FACTURES vlPRO (8.4.2.62)SDEVIS-FACTURES VLPRO (8.4.2.62)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO Devis-Factures PHMSD (2.1.0.11)DEVIS-FACTURES PHMSD (2.1.0.11)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD
|