Afficheur 7 segments (Contrôle WinForms)

Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
- - Dernière réponse :  Drarig29 - 22 août 2015 à 10:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/101115-afficheur-7-segments-controle-winforms

Afficher la suite 
NHenry
Messages postés
14522
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 août 2019
133 -
Bonsoir,

J'ai regardé rapidement ta source sans l'exécuter (je n'ai pas VB.NET sur cette machine).

Pour simplifier ton code, tu pourrais faire en sorte que chaque afficheur soit aussi un contrôle personnalisé (uniquement interne à ton assembly), comme ça, tu ne te limite pas à 4 afficheurs.

Ensuite pour les chiffres, il serait mieux d'utiliser un tableau ou un dictionnaire :
Le tableau, tu te limite aux chiffres, et en valeur, un tableau de bit pour dire quoi afficher, par exemple, le "0" c'est les segments 1, 2, 3, 4, 5 et 6, donc ça ferait 127 (0111111 en binaire), ensuite tu envois cela au contrôle de l'afficheur qui lui séparera les bits (avec l'opérateur AND) et affichera les segments.

Ou le dictionnaire (Dictionary(of ... ) ) avec un char en clé et une valeur binaire en valeur (comme pour le tableau), l'avantage, c'est que tu gères aussi les lettres :
"0"c = 127 (1 2 3 4 5 6)
"A"c = 247 (1 2 3 5 6 7) (fait de tête, peut être erroné)

Ton code sera plus concis car factorisé et plus simple à gérer.
Drarig29
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
> NHenry
Messages postés
14522
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Merci de ta réponse, mais je vais me limiter à ce que je sais faire pour l'instant. Je suis encore débutant...
> Drarig29
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
-
Quoique je verrai... ;)
killedman
Messages postés
17
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 novembre 2017
-
Salut,
Question bête ... Tu as fait sous quel version de Visual Studio ?
2010 est pas capable de l'ouvrir.
Drarig29
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
> killedman
Messages postés
17
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 novembre 2017
-
Je l'ai fait sous Visual Studio 2013. Essaie peut-être d'ouvrir les .vbproj
cs_ShayW
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
46 -
Salut

Pour chaque segment tu utilises un panel ?
pourquoi ne pas desiner dans un seul panel avec les fonctions de la class
System.Drawing.Graphics
chaque segment est représenté par un polygon en tout 7 polygons
Bonne prog
> cs_ShayW
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
-
Je garde tous vos conseils en tête, et je les implémenterai... ;) Merci :D