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

Windows Forms Discussion :

Specifier le format d'une date dans un textbox


Sujet :

Windows Forms

  1. #21
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 8
    Points
    8
    Par défaut
    Salut ! et merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (this.t_datefin.Text!="")
    try
    {
    DateTime.ParseExact(t_datefin.Text, "dd/MM/yyyy", new System.Globalization.CultureInfo("fr-FR", true));
    datefin=t_datefin.Text;
    }
    catch
    {
    F106_Erreur Err = new F106_Erreur("Le format doit être JJ/MM/AAAA.");
    Err.Show();
     
    }
    Si je comprends bien ta question, j'explique le résultat de mon code .. ?!
    Donc lorsque j'exécute ce code : je teste si j'écris (ds la textbox) :
    - si je met rien -> ça ecrit null ds la base (jusque là c'est cool c'est ce que je veux)

    - si je met le format 23 09 2010 -> ça plante et ferme le programme et ça inscrit 00-00-0000 dans la base (pas bien)

    - si j'écris 23/09/2010 -> ça fait la même chose,plantage (pas bien non plus)

    - si j'ecris "jolsdjlfier" (nimporte quoi) -> la même chose ça plante (pas cool non plus)

    voilà, j'espère répondre un peu à ta question !

  2. #22
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Salut.

    Bizarre bizarre.
    En tout cas, le code de test de la date est juste.

    Je dirais donc que ça plante à cause d'autre chose.
    J'imagine que c'est pas normal que le programme s'arrête ferme quand il y a une erreur ? ( ou bien tu as spécifié ça quelque part ? )
    Tu es sur du code appelé lorsque tu fais appel à "F_106_Erreur" la ?

    Tu as testé du pas à pas pour voir un peu ce qu'il se passait !?
    Essaye de commenter les lignes dans ton catch ( les F_106_Erreur) et de remplacer ça par un simple MessageBox (Winform) ou Console.Writeline (Console).

    Dis moi quoi.

  3. #23
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 8
    Points
    8
    Par défaut
    Hé je viens de remarquer que sans les slash y'a le message d'erreur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (this.t_datefin.Text!="")
    try
    {
    DateTime.ParseExact(t_datefin.Text, "dd MM yyyy", new System.Globalization.CultureInfo("fr-FR", true));
    datefin=t_datefin.Text;
    MessageBox.Show(datefin);
    }
    catch
    {
    F106_Erreur Err = new F106_Erreur("Le format doit être JJ MM AAAA.");
    Err.Show();
     }
    So.. quand je mets rien dans la textbox le message d'erreur s'affiche (ya du progrès ) mais bon il faudrait qu'il le prenne en t_datefin = null

    Quand j'ecris nimporte quoi : ça fait rien ! ça efface le nimporte quoi dans la textbox

    Quand j'ecrit 29 09 2009 : message d'erreur s'affiche et efface ce qu'il y a dans la textbox

    Si j'écris 29/09/2009 : idem

    voilà voilà ...

  4. #24
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par manue514 Voir le message
    So.. quand je mets rien dans la textbox le message d'erreur s'affiche (ya du progrès ) mais bon il faudrait qu'il le prenne en t_datefin = null
    Lequel qui s'affiche ? le MessageBox ou ton F_106 ?

    Quand j'ecris nimporte quoi : ça fait rien ! ça efface le nimporte quoi dans la textbox
    Ben pas normal, tu devrais avoir l'erreur ou au moins le MessageBox, un des deux :s

    Quand j'ecrit 29 09 2009 : message d'erreur s'affiche et efface ce qu'il y a dans la textbox
    Alors que ça devrait fonctionner.
    Mais encore une fois, de quelle message s'agit-il ? F_106 ou MsgBox ?

    Si j'écris 29/09/2009 : idem
    MsgBox ? F_106 ?


    Personnellement j'ai ce code la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (textBoxDate.Text != "")
                {
                    try
                    {
                        DateTime.ParseExact(textBoxDate.Text, "dd/MM/yyyy", new System.Globalization.CultureInfo("fr-FR", true));
                        MessageBox.Show("Correct");
                    }
                    catch
                    {
                        MessageBox.Show("Incorrect");
                    }
                }
    Et il fonctionne parfaitement, sans aucuns problèmes

  5. #25
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 8
    Points
    8
    Par défaut
    Oui pardon c'est le message d'erreur F106_erreur qui s'affiche !
    Je vais tester d'autres trucs..
    I'll be back

  6. #26
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 33
    Points : 8
    Points
    8
    Par défaut
    Bon en attendant d'avoir une illumination j'ai fait comme ça :
    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
     
     
    datefin =null;
                          if (this.t_datefin.Text!="")	
    			{
    			jour = this.t_datefin.Text.Substring(0,2);
    			mois = this.t_datefin.Text.Substring(3,2);
    			annee = this.t_datefin.Text.Substring(6,4);
    			datefin = annee+"/"+mois+"/"+jour;
    			}
    			if (datefin!=annee+"/"+mois+"/"+jour)
     
    			{
    				F106_Erreur Err = new F106_Erreur("Le format doit être JJ/MM/AAAA.");
    				Err.Show();
    			}
    Le petit problème c'est que même quand on met rien dans le champs y'a un message d'erreur, comment dire que quand le champs est vide, la date est validée ??

    Merci (encore)
    manue

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/04/2009, 18h59
  2. Sélectionner une date dans un textbox
    Par Msysteme dans le forum ASP.NET
    Réponses: 11
    Dernier message: 19/02/2009, 18h44
  3. format d'une date dans un datatable
    Par intissar_g dans le forum JSF
    Réponses: 4
    Dernier message: 10/09/2008, 14h42
  4. Changer le format d'une date dans la commande
    Par leloup84 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 07/08/2007, 14h42
  5. Format d'une date dans un combo
    Par bobobobo01 dans le forum WinDev
    Réponses: 17
    Dernier message: 11/07/2007, 17h33

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