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

C# Discussion :

Afficher une valeur sur une IHM en l'appelant depuis une méthode


Sujet :

C#

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 273
    Points : 150
    Points
    150
    Par défaut Afficher une valeur sur une IHM en l'appelant depuis une méthode
    Salut a tous,

    J'essaie de développer un petit programme qui serait reparti en plusieurs classes, chacune est chargée de récupérer une valeur, le but c'est de pouvoir récupérer ces valeurs sur mon IHM.
    Pour ça j'ai développé les classes qui récupèrent les valeurs, en faisant en sorte qu'elles retournent la valeur finale.
    ensuite je fais appel a ces méthodes lors du clic d'un bouton dans l'IHM et je dois les afficher dans un champs
    Mon souci est que lorsque je clique sur le bouton en question, la valeur est récupérée mais pas plus d'une fois (ou deux) et après le programme plante
    J'ai vérifié mon code et j'ai vu que dans mes méthodes, j'avais une while infinie mais que j'arrête par un break a la fin (elle est donc censée s'executer q'une seule fois et couper, ce qui devrait donc me permettre de rappeler la fonction a volonté je pense)
    Quelqu'un aurait une idée pour corriger ce problème ?

    Voici mon code :
    Balance.cs
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    public string fonctionAfficher()
            {
                //déclaration des objets et variables
                ....
     
                //Ma boucle
                while (true)
                {
                    if (m_ReceiveEvent.WaitOne(50))
                    {
                        //code d'initialisation
                        .....
                        //On met en place une condition permettant de limiter le nombre de trames
                        if (((boucleSousEchantAff++) % 30) == 0)
                        {
                            //calculs nécessaires pour le poids
                            ....
     
                                poidsfinal = poids.ToString(format);//attribution de la valeur sur la variable finale
     
                            }
                        }
                    }
                    break;
                }
                return poidsfinal;
            }
    Capteur.cs
    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 string CapteurValeur()
            {
                //Ma boucle
                while (true)
                {
                    //Mon code
                    ....
     
                    //attribution de la valeur de retour finale
     
                        }
                    }
     
                    break;
                }
                return ValeurRetour;
            }
    Voila mon code pour appeler la fonction "Balance" et la stocker dans un label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    massemesure.Text = Balance.fonctionAfficher();
    Et pour "Capteur" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hauteurmesure.Text = CAPTEUR.CapteurValeur();
    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    quelle est l'utilité de faire une boucle si tu as forcément un break au 1er tour ?

    sinon ca manque un peu d'info pour répondre à une question si vague ...

    pour des capteurs externes au pc le plus simple c'est
    un thread par mode de dialogue
    une instance par capteur et du code générique (genre de l'héritage ou de l'implémentation pour chaque type de capteur)
    et l'ihm vient lire les infos via un timer
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Elève Ingénieur
    Inscrit en
    Juillet 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Elève Ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 26
    Points : 34
    Points
    34
    Par défaut
    Salut, soit tu as mal copié ton code, soit y'a une erreur parce que pour cette fonction par exemple

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public string fonctionAfficher()
            {
                //déclaration des objets et variables
                ....
     
                //Ma boucle
                while (true)
                {
                    if (m_ReceiveEvent.WaitOne(50))
                    {
                        //code d'initialisation
                        .....
                        //On met en place une condition permettant de limiter le nombre de trames
                        if (((boucleSousEchantAff++) % 30) == 0)
                        {
                            //calculs nécessaires pour le poids
                            ....
     
                                poidsfinal = poids.ToString(format);//attribution de la valeur sur la variable finale
     
                            }
                        }
                    }
                    break;
                }
                return poidsfinal;
            }
    ton break; ne semble pas se trouver dans ta boucle while, autrement dit tu ne sors jamais de celle ci. regarde bien tes accolades, pareil pour la seconde fonction.

Discussions similaires

  1. Réponses: 11
    Dernier message: 16/04/2015, 10h26
  2. Réponses: 2
    Dernier message: 29/01/2013, 16h35
  3. Réponses: 2
    Dernier message: 29/06/2010, 20h01
  4. afficher une valeur sur une feuille lorsqu'une checkbox est cochée
    Par chrnoe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2008, 14h39
  5. Afficher une valeur sur un graphique
    Par kingtronik dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/07/2008, 15h06

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