begin process at 2013 05 23 05:11:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

Problème de Timer avec l'exécution d'action(s)


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

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

Membre Club Administrateur CodeS-SourceS
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).

---------------------------------------------------------------------
  1. 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.
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).
  3. 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).
  4. 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

Membre Club Administrateur CodeS-SourceS
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..

---------------------------------------------------------------------
  1. 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.
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).
  3. 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).
  4. 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)

Nivek821

Merci sa marche.


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'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 0,624 sec (4)

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