Tableau de voyants clignotants

Description

J'est en me heurtant à une gestion de voyants (Voir la capture!) que j'ai décidé de publier ce code. Il me fallait des voyants clignotants!

Ce programme pourra servir à d'autres débutants.

L'utilisateur peut modifier le nombre de voyants, de niveau et leur dimension (en partie)

Source / Exemple :


Les thèmes et intérêts de programmation sont divers : 

Pour la 1ère version :

- Image des voyants chargés par appel direct du fichier Bitmap:       
  TImage(FindComponent('Image' + IntToStr(i))).Picture.LoadFromFile(FicVoy);
  Ou par référence à un index du composant ImageList
  ImageList1.GetBitmap(1,TImage(Components[i]).Picture.Bitmap)

- Sélection visuelle d'option (en cliquant sur un voyant). Paramétrage de la colonne et de la ligne d'une Matrice de voyants
  Colonne = Process concerné / Ligne = Niveau du Paramètre du Process

- Clignotement (par deux timers) du Voyant concerné par l'option choisie
- Identifications dynamiques divers de voyants :
      if Assigned(FindComponent('Image' + IntToStr(i))) then
      TImage(FindComponent('Image' + IntToStr(i))).Picture.LoadFromFile(FicVoy)
      ou
      If Components[i] Is TImage Then if ( Components[i].Name = 'Image4') then...

Pour la 2ème version, on ajoutera :

- Création Dynamique des Leds
- Centralisation des clics de sélection des leds
- Personnalisation du tableau des Leds : Nombre de proces, de leds par process, espacements...

On notera que le deuxième source (blincker 2) est beaucoup moins gourmand en octets

Jean_Jean

Conclusion :


Le source est commenté en détail.
Le code est encore améliorable. Notamment, celui d'écrire un Objet Tableau de voyants ou un composant comme l'a suggéré Florenth :-)
L'utilisation va de soi et peut s'adapter très facilement...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.