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.NET Discussion :

Probleme de Classe (Conversion)


Sujet :

VB.NET

  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 Probleme de Classe (Conversion)
    Bonjour,

    J'ai une instruction qui me permet de récupéré un élément dans une datagridview, Jusqu'ici tous va bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim z As String
            z = DataGridView1.Rows(x).Cells(3).EditedFormattedValue ' donne le nom du module/param
    L'élément que je récupere est le nom d'une alarme en String mais aussi l'objet alarme en personne.

    Je m'explique un peu. J'ai une classe Alarme avec des propriétés. Ensuite je crée des objets Alarmes (Alarme1, Alarme2, ....)

    J'essaye de crée une fonction qui me renvoi l'état de l'alarme (qui est une propriété) en fonction de de la ligne de ma datagridview où je désire connaitre son état.

    Voila la function :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'Fonction qui permet grace à une ligne, de chercher si une alarme a disparu ou pas.
        Public Function RechercheDisparue(ByVal x As String, ByVal y As Boolean)
            Dim z As String
            z = DataGridView1.Rows(x).Cells(3).EditedFormattedValue ' donne le nom du module/param
     
            y = z.Etat
            Return y
        End Function
    Mon probleme est que mon z est un String et je veux qu'il deviens l'objet Alarme1 ou Alarme2 suivant ce que la ligne précédente ma donnée pour ensuite aller directement chercher la propriété état de mon objet alarme à la ligne que j'ai demander.

    En gros, j'ai besoin de convertir un String en objet sans passe par une boucle IF interminable car j'ai plus de 200 alarmes dans mon tableau.
    Alors pourquoi faire tous sa ? Parce que j'ai un trie dans ma datagridview et que j'ai pas de colonne qui indique directement l'état et j'ai pas le droit d'en mettre.

    Merci d'avance pour vos solutions et dsl si je me suis mal expliqué, c'est assez dur a expliquer !!C

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Public Function RechercheDisparue(ByVal x As String, ByVal y As Boolean)
            Dim z As String
            z = DataGridView1.Rows(x).Cells(3).EditedFormattedValue ' donne le nom du module/param
            If z = "Alarm1" Then
                y = Alarm1.Disparue
            ElseIf z = "Alarm2" Then
                y = Alarm2.Disparue
            ElseIf z = "Alarm3" Then
                y = Alarm3.Disparue
            ElseIf z = "Alarm4" Then
                y = Alarm4.Disparue
            ElseIf z = "Alarm5" Then
                y = Alarm5.Disparue
            ElseIf z = "Alarm6" Then
                y = Alarm6.Disparue
            End If
            Return y
        End Function
    Voila la version qui marche mais qui est chiante a faire pour 6 alarmes alors j'imagine meme pas pour 1000 alarmes ce que je dois faire d'ici 2 semaines !!

    Merci d'avance pour vos solutions

  3. #3
    Expert confirmé Avatar de ed73170
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2009
    Messages
    765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2009
    Messages : 765
    Points : 5 522
    Points
    5 522
    Par défaut
    Bonjour,

    Tu peux peut-être utiliser la propriété Tag, elle te permet d'associer des données supplémentaires à chaque cellule, et comme elle est de type object, tu peux y mettre ce que tu veux.

    Lors du remplissage de ta grille, tu mets tes objets Alarm dans le Tag de la cellule qui t'intéresse, puis lors de la lecture, tu les récupères.

  4. #4
    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
    Pas mal l'idée, je la retiens pour d'autre procédure mais pour le programme que j'ai envie de faire, sa résoudra mon souci qui est de convertir un String en Class Alarm et par la meme occasion, simplifié mon programme pour qu'il tient sur 3 instructions au lieu de 1000 si j'ai une usine de 1000 alarmes !!

  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
    Je vouderai une function de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Public Function RechercheDisparue2(ByVal x As String)
            Dim z As String
            Dim y As Boolean
            Dim w As Alarm
            z = DataGridView1.Rows(x).Cells(3).EditedFormattedValue ' donne le nom du module/param
            w = CObj(z)
            y = w.Disparue        
            Return y
        End Function
    Mais j'arrive pas a convertire mon z="Alarm1" en Class pour ensuite l'utiliser dans le bute de chercher une propriété de la Class Alarm

  6. #6
    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,

    Quand tu cré tes objets alarme il faut les placer dans un dictionnaire (Dictionary(Of String, alarme)) comme je te l'indiquai dans ce post http://www.developpez.net/forums/d13...e/#post7199395
    Définition dico
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public DicoAlarme As Dictionary(Of String, alarme) = New Dictionary(Of String, alarme)
    Quand tu crés tes alarmes tu les rajoutes dans le dictionnaire. Ainsi tu as une liste de toutes tes alarmes.

    Après tu peux l'utiliser ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function RechercheDisparue2(ByVal x As String) as boolean
            Return  DicoAlarm(DataGridView1.Rows(x).Cells(3).EditedFormattedValue).Disparue
        End Function
    Si x vaut 2 cela équivaut à DicoAlarm(alarme2).Disparue.

    A+, Hervé.

  7. #7
    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
    Merci bcp je regarde sa !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Super debutant] probleme de "classes"
    Par frett dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/03/2005, 12h43
  2. Problème de "Class"
    Par Mr.KisS dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/10/2004, 23h23
  3. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  4. problème de classe d'association
    Par Nip dans le forum Diagrammes de Classes
    Réponses: 8
    Dernier message: 08/06/2004, 16h08
  5. Probleme de classe CComplex
    Par Balls dans le forum MFC
    Réponses: 7
    Dernier message: 13/02/2004, 10h55

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