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 :

Redonner une ancienne valeur à une variable


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Redonner une ancienne valeur à une variable
    Bonjour,

    J'ai une maskedtextbox de format hh:mm.
    Pour commencer l'utilisateur saisit une heure. Si cette heure n'est pas valide , l'utilisateur est avertit et doit en resaisir une ... Mais c'est à ce moment que je voudrais recharger les dernières valeurs correctes après avoir mis le message d'avertissement.
    J'ai essayé quelque chose , mais je ne peux pas me servir de la variable "sauv1" dans laquelle je stocke une valeur correcte.

    Voici mon code ( dans lequel je rajoute un ":" pour pouvoir traiter chaque partie de mon hh:mm).

    Code c# : 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
    29
    30
    31
    32
    33
    34
    35
    36
     
     string value = TBtpsLav.Text;
                // Test pour définir  la maskedtextbox avec des valeurs max hh:mm
                try
                {
                    for (int i = 0; i < 1; i++)
                    {
                        if ((value.Length / 2) == 2)
                        {
                            value = (value.Substring(0, 2)) + ":" + (value.Substring(2, 2));                      
     
                            //int s = 0;
                            String[] tabValue = new String[1];
                            tabValue = value.Split(':');
                            string val1 = tabValue[0]; //string val1 = tabValue[s]; 
                            string val2 = tabValue[1];//string val2 = tabValue[s + 1];
                            int sauv1 = 0;
     
                            if (Convert.ToInt32(val1) < 24)
                            {
                                sauv1 = Convert.ToInt32(val1);
                            }
                            else
                            {
                                MessageBox.Show("Erreur Format");
                                (sender as Control).Text = val1; //L'idéal ça serait de pouvoir charger la dernière valeur correcte ici                        
                            }
                            if (Convert.ToInt32(val2) >= 60)
                            {
                                 MessageBox.Show("Erreur Format");
     
                                (sender as Control).Text = "0000";
                            }                      
                        }
                    }
                }

  2. #2
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par Moltico Voir le message
    Mais c'est à ce moment que je voudrais recharger les dernières valeurs correctes après avoir mis le message d'avertissement.
    Bonjour,

    Quelles sont tes valeurs correctes? Ou veux tu les mettre? J'ai du mal à comprendre

  3. #3
    Membre confirmé

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Points : 574
    Points
    574
    Par défaut
    Juste parce que je me sens d'humeur taquine, je remplacerais bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((value.Length / 2) == 2)
    par
    Cela me parait plus lisible (vu l'heure il m'a fallu quelques secondes pour comprendre un code qui devrait être compréhensible d'un seul coup d’œil...)

    Et même remarque que FrameBreak : l'extrait de code est un peu succinct, on ne comprend pas trop ce que tu veux faire.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci pour vos réponses ( c'est vrai que je me suis pas trés bien expliqué ) , le code que j'ai écrit correspond à un évènement "Leave" et je voulait obtenir la valeur de ma MaskedtextBox à l'évènement "Enter".

    J'ai trouvé la solution à mon problème , il suffisait de créer une variable privée ( valOk dans mon code ) et de lui attribuer une valeur dans l'évènement "Enter" puis de m'en reservir dans l'évènement "Leave".

    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
     
     for (int i = 0; i < 1; i++)
                    {
                        if (value.Length == 4)
                        {
                            value = (value.Substring(0, 2)) + ":" + (value.Substring(2, 2));
     
                            //int s = 0;
                            String[] tabValue = new String[1];
                            tabValue = value.Split(':');
                            string val1 = tabValue[0]; 
                            string val2 = tabValue[1];
     
                            if (Convert.ToInt32(val1) >= 24)
                            {
                                MessageBox.Show("Format Incorrect");
                                (sender as Control).Text = valOk;
                            }
                            if (Convert.ToInt32(val2) >= 60)
                            {
                                MessageBox.Show("Format Incorrect");
                                (sender as Control).Text = valOk;
                            }
                        }
                    }

  5. #5
    Membre confirmé

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Points : 574
    Points
    574
    Par défaut
    Ravie de t'avoir aidé

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

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35

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