Comment acceder par un index a différents Timer

Résolu
Signaler
Messages postés
27
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
23 avril 2012
-
Messages postés
27
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
23 avril 2012
-
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

Messages postés
14832
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
5 décembre 2021
157
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
Messages postés
27
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
23 avril 2012

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
@+
Messages postés
27
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
23 avril 2012

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 :-)).
@+
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71

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
Messages postés
14832
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
5 décembre 2021
157
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
Messages postés
27
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
23 avril 2012

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 !!!
Messages postés
14832
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
5 décembre 2021
157
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
Messages postés
27
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
23 avril 2012

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