Afficheur 7 segments (Contrôle WinForms)

Signaler
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
-
 Drarig29 -
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

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
48
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
>
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019

Je garde tous vos conseils en tête, et je les implémenterai... ;) Merci :D
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.
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
>
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
Messages postés
14667
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
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.
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
>
Messages postés
14667
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020

Merci de ta réponse, mais je vais me limiter à ce que je sais faire pour l'instant. Je suis encore débutant...
>
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016

Quoique je verrai... ;)