Comment acceder par un index a différents Timer

Résolu
Cpustack Messages postés 27 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 23 avril 2012 - 23 déc. 2011 à 11:26
Cpustack Messages postés 27 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 23 avril 2012 - 28 déc. 2011 à 11:46
Bonjour,
j'essaie d'optimiser un bout de code que voici
Private Sub Stop_Arret_Timer(ByVal I As Integer, ByVal Go As Boolean)
        'Changement d'état du timer I en fonction du Boolean Go
        Select Case I
            Case 1 : Timer1.Enabled = Go
            Case 2 : Timer2.Enabled = Go
            Case 3 : Timer3.Enabled = Go
            Case 4 : Timer4.Enabled = Go
            Case 5 : Timer5.Enabled = Go
            Case 6 : Timer6.Enabled = Go
            Case 7 : Timer7.Enabled = Go
            Case 8 : Timer8.Enabled = Go
            Case 9 : Timer9.Enabled = Go
            Case 10 : Timer10.Enabled = Go
            Case 11 : Timer11.Enabled = Go
            Case 12 : Timer12.Enabled = Go
        End Select
    End Sub

J'aimerai une savoir s'il existe pour les timers, une syntaxe qui permette un accès indexé équivalente à celle d'un textbox tel que Texte1
Me.controls("Texte" & I).enabled= Go et qui me permettrais de réduire à une ligne ou presque le code précédent.
Merci d'avance
et bonnes fêtes @ toutes et @ tous

8 réponses

NHenry Messages postés 15036 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 5 février 2023 156
23 déc. 2011 à 14:27
Bonjour,

Alors, mets une collection (List(Of ...)), puis tu utilises l'index pour récupérer le Timer souhaité.

Je trouve quand même étrange que tu ait tant de Timer.

Actives Option Strict et Option Explicit si ce n'est pas déjà fait, et retires l'import automatique de Microsoft.VisualBasic, ton code sera plus lisible.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]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./list
---
Mon site
3
Cpustack Messages postés 27 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 23 avril 2012
23 déc. 2011 à 13:48
Salut
et merci de ton attention.
J'ai déjà essayé mais
Me.controls("Timer" & I).enabled=Go provoque une erreur lors de l’exécution.
L'exception System.NullReferenceException n'a pas été gérée
Message=La référence d'objet n'est pas définie à une instance d'un objet.
Alors que pour d'autres controls cela fonctionne parfaitement

J'ai autant de timer que de chrono a gérer. Chaque chrono devant être indépendant.
Encore merci
@+
0
Cpustack Messages postés 27 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 23 avril 2012
23 déc. 2011 à 15:20
Merci Nhenry.
J'ai defini en global
Dim Mes_Timer as new list(of object)

Puis dans ma
sub Form_load
Mes_Timers.add(Timer1)
.
.
.
Mes_Timers.add(Timer12)

et enfin pour activer ou arreter le timer voulu
Mes_Timer(I).Enabled=Go

et cela fonctionne.

Si je décoches microsoft.visualbasic de la liste de "espaces de noms importés", je me retrouve avec un paquet d'anomalies :-(
J'ai 12 timers pour 12 chronos indépendants. C'est un outil qui me permet de suivre les temps de mise en route des matchs de badminton sur 12 terrains aux maximum.
Les joueurs disposant de 3 minutes pour se rendre sur le terrain qui leur est assigné et pour y débuter leur match.
La table de marque doit suivre cela pour qu'il n'y ai pas de débordement (3 minute c'est pas 10 minutes de parlote avant de commencer a jouer :-)).
@+
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
23 déc. 2011 à 15:38

Si je décoches microsoft.visualbasic de la liste de "espaces de noms importés", je me retrouve avec un paquet d'anomalies :-(


normal, tu as codé en VB6 dans ton projet .Net ^^



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0

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

Posez votre question
NHenry Messages postés 15036 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 5 février 2023 156
23 déc. 2011 à 18:21
Bonjour,

Si je décoches microsoft.visualbasic de la liste de "espaces de noms importés", je me retrouve avec un paquet d'anomalies :-(


Dans ce cas, il faut adapter ton code, si tu n'y arrives pas seul, on peut t'aider.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]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./list
---
Mon site
0
Cpustack Messages postés 27 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 23 avril 2012
24 déc. 2011 à 16:21
Bonjour,
Merci pour cette proposition.
Je regarde comment faire de mon coté.
J'ai déjà vu qu'il ne reconnaissait plus des truc basic (jeux de mots) comme Val() ou IsNumeric().
En grattant le Web et l'aide je devrais bien trouver quelques équivalents.
Mais si je bloque trop je n’hésiterais pas à revenir vers vous.
Passez un bon et heureux réveillon !!!
0
NHenry Messages postés 15036 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 5 février 2023 156
24 déc. 2011 à 19:43
Bonjour,

Val -> Integer.parse, TryParse, Double.TryParse, ...
IsNumeric -> Integer.TryParse, Double.TryParse, ...

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]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./list
---
Mon site
0
Cpustack Messages postés 27 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 23 avril 2012
28 déc. 2011 à 11:46
Bonjour,
Ca y est, j'ai repris mon code de façon a utiliser l'option strict et a enlever la ressource microsoft visual basic.
Tout fonctionne. Merci a vous pour le temps passé.
Si vous le souhaitez je peux mettre en ligne le code. Mais un chrono de plus, je ne sais pas si cela a beaucoup d’intérêt d'autant que c'est une application très spécifique au badminton

Je vous souhaites par avance une très bonne année
0
Rejoignez-nous