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

Delphi Discussion :

comment faire une verification sur une date


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut comment faire une verification sur une date
    Bonjour,
    Je realise un programme dans lequel je rentres une date dans une DBEdit dont la valeur est renvoyee dans une base de donnees (dans un champ de type date), et evidement si je rentre une mauvaise date (du texte ou n'importe quoi qui n'est pas du style dd/mm/yyyy, le programme plante.
    j'ai essayer de rechercher sur le net, mais je ne trouve rien

    je suppose que le code doit etre quele chose du genre

    if DBEdit1.Text <> ???? je ne sais pas comment exprimer ???
    then showmessage('mauvais format')
    else ??ok pour l'insertion dans la bd...????
    ma question doit etre assez bete, mais je suis tres debutant
    donc si quenlq'un peut m aider ou me dire ou trouver un exemple, je le remercie d'avance

  2. #2
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut
    Cherche du côté de TryStrToDate.

  3. #3
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Points : 161
    Points
    161
    Par défaut
    Sinon, pourquoi ne pas utiliser le composant TDateTimePicker?

  4. #4
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut
    Citation Envoyé par Gaadek
    Sinon, pourquoi ne pas utiliser le composant TDateTimePicker?
    +1

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    merci pour les info je vais tester ca dés demain

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    je vais utiliser DateTimePicker
    mais comment faire pour renvoyer la date dans une DBEdit ?

    j'ai essaye

    procedure TForm2.DateTimePicker1Change(Sender: TObject);
    begin
    Form2.Tbl_PatientsDdn.Value := form2.DateTimePicker1.DateTime;
    end;
    pour inserer la valeur dans ma base de donnee, mais cela me met le message d erreurNom : erreur.JPG
Affichages : 104
Taille : 14,9 Ko

    quelqu'un peut il m'expliquer ?
    merci davance

  7. #7
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Tu as ce message car ta table (ou requête) n'est pas en mode édition.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure TForm2.DateTimePicker1Change(Sender: TObject);
    begin
      if not (Form2.Tbl_PatientsDdn.State in [dsEdit, dsInsert] then
        Form2.Tbl_PatientsDdn.Edit;
      Form2.Tbl_PatientsDdn.Value := form2.DateTimePicker1.DateTime;
    end;
    @+ Claudius

  8. #8
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 564
    Points : 3 968
    Points
    3 968
    Par défaut
    Salut

    Si mes souvenirs sont bons, il faut surcharger l'événement OnValidate de l'objet DBEdit. Vérifie à l'aide de F1, je ne peux pas faire de test car je n'ai pas Delphi sur mon poste de travail.

    L'emploi du composant TDateTimePicker interdit la connexion à une source de données, mais tu peux initialiser la valeur du composant DateTimePicker en surchargeant l'événement OnDataChange du composant TDataSource. Dans l'autre sens, ce doit l'événement OnChnage du DateTimePicker mais atention aux appels récursifs : appel implicite à l'évt OnDataChange du composant DataSource à l'affectation du champ de base de données.

    Si cette solution te semble acceptable, tiens-moi au courant. Fais des tests.

    Cdlt

    e-ric

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Plus simple encore, dans la JVCL il y a le composant TJvDBDateEdit qui permet de connecter le composant directement au composant table et de faire comme avec un TDateTimePicker

  10. #10
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 564
    Points : 3 968
    Points
    3 968
    Par défaut
    Citation Envoyé par Malatar
    Plus simple encore, dans la JVCL il y a le composant TJvDBDateEdit qui permet de connecter le composant directement au composant table et de faire comme avec un TDateTimePicker
    Dans ce cas...

    cdlt

    e-ric

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    JVCL ???
    je ne vois pas du tout ce que c'est...
    je peux trouver ca ou ?

  12. #12
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Developpez ne se limite pas qu'au forum

    http://delphi.developpez.com/freewares/

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

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 13h58
  2. Réponses: 3
    Dernier message: 19/06/2007, 23h34
  3. [VB.Net/Dataview] Comment gérer un filtre sur une colonne de type date ?
    Par silatchom dans le forum Accès aux données
    Réponses: 3
    Dernier message: 07/07/2006, 20h28
  4. Comment faire un explode sur une chaine comme suit ?
    Par sebnutt dans le forum Langage
    Réponses: 3
    Dernier message: 07/06/2006, 12h59
  5. comment faire un DROP sur une NESTED TABLE
    Par gilux dans le forum Oracle
    Réponses: 1
    Dernier message: 14/03/2006, 19h07

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