IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Lié une classe à un controle


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut Lié une classe à un controle
    Bonjour,

    Alors par ou commencer ?

    L'un des mecs de ma boite ma montré une solution pour réaliser un simulateur qui puissent intégrer des alarmes mais il est partie en vacance avant d'avoir fini de m'expliquer la totalité de son idée, j'ai compris un peu le principe mais j'ai du mal à le finir alors je vais essayé de m'expliquer un peu.

    J'ai réussi à réaliser mon gestionnaire d'alarme qui est intégré dans un simulateur mais le souci est que c'est mal programmé (Bordélique) alors on ma un peu aidé à réaliser des programmes avec les bonnes pratiques.

    L'idée est que l'utilisateur crée un simulateur avec des contrôles qui intégré des alarmes. Je dois ajouter ces alarmes à mes contrôles et gérer leur activations. Pour parvenir à écrire correctement mon code, on ma demander de faire sa avec un ensemble de classes. Une classe cAllEQT qui contient l'ensemble des équipements présent dans mon simulateur grâce à une procédure directement appelé dans le load de mon simulateur pour ajouter mes contrôles (équipements) dans une collection avec un mot clé. Une classe cEQT qui représente l'équipement et qui contient une méthode qui permet d'ajouter les alarmes dans une collection avec une clé IdAlarme. Une classe cAlarmes qui représente l'ensemble des alarmes et qui est devrai être la mère des différents type d'alarme. Des classes AlarmeSeuil, AlarmeEcart, AlarmeRate, etc... qui représente l'ensemble des alarmes existantes et qui contient les procédures qui permettent de gérer mes alarmes.

    Nom : SystemeClasse.png
Affichages : 65
Taille : 8,8 Ko

    Mon petit souci est que j'arrive pas à lier mes classes à mon équipement Filtre (dans mon simulateur, j'ai deux filtre T1 et T2) et je sais pas à quel moment je dois rajouter mes Alarmes dans ma collectionAlarme et je sais pas si chaque équipement possède sa propre collection Alarme ou alors c'est une collection pour l'ensemble des équipements. En tous cas, je souhaite qu'elle soit unique la collection à chaque équipement.

    Je vous envois une copie de mon projet (Ne tenir compte que des classes que j'ai précédemment citées et du controle Filtre2 ainsi que du Form1 car sur les autres classes et contrôles, c'est encore en chantier)

    Merci d'avance pour vos solution.
    SimulDebit.rar

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    PS : Comme l'héritage de class n'existe pas en VB6, on ma proposé de réaliser un interfaçage entre cAlarmes et cAlarmeSeuil, etc....

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    J'ai regardé en diagonale,

    Il doit falloir créer la liste des alarmes pour un contrôle lors de l'init de celui-ci.
    Au moment du UserControl_InitProperties. (sauf si les alarmes sont des autres user control posé sur les user control équipements)
    Par contre il me semble qu'il serait bien que l'alarme connaisse son contrôle user parent.

    Enfin là il s'agit de choix de fonctionnement, alors il vaut mieux s'appuyer sur le cahier des charges ou la personne qui décide car il existe plusieurs façon de faire.

    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par dragondumond Voir le message
    Mon petit souci est que j'arrive pas à lier mes classes à mon équipement Filtre (dans mon simulateur, j'ai deux filtre T1 et T2) et je sais pas à quel moment je dois rajouter mes Alarmes dans ma collectionAlarme et je sais pas si chaque équipement possède sa propre collection Alarme ou alors c'est une collection pour l'ensemble des équipements. En tous cas, je souhaite qu'elle soit unique la collection à chaque équipement.
    Tu as 2 solutions (attention cela est juste une ébauche des listes , je ne connais pas ton projet complet. Donc à adapter et completer.)

    Une liste qui correspond à chaque User Control. (T1List, T2List, ...)
    Liste : T1List
    | IdAlarme | TypeAlarme (Ex:AlarmeSeuil)|

    Une seule liste qui contient le User Control rattaché à cette alarme.
    Liste : TousLesControlUserList
    | IdAlarme | IdUserControl | TypeAlarme |

    Il me semble que la 2ème solution est plus simple, puisque tu passes tes alarmes à ton gestionnaire d'alarme (en vb.net) et que chaque alarme est identifié de façon unique par son IdAlarme (il n'y a pas de notion de propriétaire, a moins que ModuleParam ou Unit ne servent à ça)

    Citation Envoyé par dragondumond Voir le message
    AlarmeSeuil, AlarmeEcart, AlarmeRate, etc...
    A priori elles n'ont pas les même propriétées, n'est-ce pas ?
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    Les Alarmes Écart, Seuil, etc... on les mêmes propriétés sauf que certaine ont des propriétés en plus et la méthode pour voir si une alarme doit s'activer ou pas est différente d'un type d'alarme à un autre.

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    (il n'y a pas de notion de propriétaire, a moins que ModuleParam ou Unit ne servent à ça)
    Unit et ModuleParam, c'est juste des paramétrés descriptifs qui s'affiche dans le dgv pour une alarme pour que l'opérateur sais où se situe l'alarme mais elle pourrais très bien servir pour ce que tu me parle !!

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par dragondumond Voir le message
    PS : Comme l'héritage de class n'existe pas en VB6, on ma proposé de réaliser un interfaçage entre cAlarmes et cAlarmeSeuil, etc....
    Pourquoi pas je ne connais pas. Si tu as quelques explications.

    Citation Envoyé par dragondumond Voir le message
    Les Alarmes Écart, Seuil, etc... on les mêmes propriétés sauf que certaine ont des propriétés en plus et la méthode pour voir si une alarme doit s'activer ou pas est différente d'un type d'alarme à un autre.
    Une piste de reflexion
    Tu crés une classe Alarme générique avec
    Ses propriétés
    ses méthodes
    Une propriété de type Alarme Spécialisés ( de type class ou objet ou mieux une collection (ce qui permet d'en avoir plusieurs et de type différent, après reste à voir la gestion des alarmes spécialisées, il faut connaitre le type pour pouvoir les utiliser. Le select case sur le type c'est moyen.))

    Tu crés des alarmes spécialisés
    Alarmes Ecart
    • Prop. écart standard
    • Prop. écart max
    • Méthode Activation Alarme écart

    alarme Seuil
    • Prop. seuil bas
    • Prop. seuil haut
    • Prop. seuil danger
    • Méthode Activation Alarme Seuil

    etc...

    Dans un controle utilisateur tu utilises une alarme générique et à sa propriété alarme spécialisée tu donnes une alarme spéciale (ou alimente une collection)

    Il faut bien refléchir à l'accés aux membres (propriétés, méthodes) des alarmes spécialisées. (voir les possibilités d'accés, pas forcement évident) peut être que l'interfacage est plus simple.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

Discussions similaires

  1. Attaquer les méthodes d'un controle depuis une classe
    Par chti_vince dans le forum ASP.NET
    Réponses: 10
    Dernier message: 18/07/2007, 15h04
  2. Consommer les méthodes d'un controle depuis une classe
    Par chti_vince dans le forum ASP.NET
    Réponses: 8
    Dernier message: 12/07/2007, 09h22
  3. Réponses: 3
    Dernier message: 04/04/2007, 08h45
  4. Mise à jour d'une controle via une classe.
    Par Andry dans le forum Delphi
    Réponses: 4
    Dernier message: 23/06/2006, 15h00
  5. [C#] Accéder à un control depuis une class
    Par choas dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/05/2006, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo