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

Langage Delphi Discussion :

Correspondance de Null pour les dates


Sujet :

Langage Delphi

  1. #1
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut Correspondance de Null pour les dates
    Bonjour à tous!
    Voici un petit problème que je rencontre: je voudrais un équivalent de null pour les dates.
    En fait, quand j'écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var ladate:string;
         laVraidate:TDateTime;
    begin
    ladate:='';//Rien
    laVraidate:=strtodate(ladate);
    end
    Il y a une erreur.
    Ce que je voulais, c'est d'obtenir la valeur null pour les dates, pour l'heure je me console avec la date du système: date, mais ce n'est pas ce que je recherche.

    De plus, il me semble que l'objet TDateTimePicker, ne peux pas rester vide. Est ce vrai?

    Merci à tous!

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    On peut considérer le Zéro comme null, c'est le 30/12/1899 à Minuit, ... ce qui peut poser encore quelques problèmes pour les dates de naissance dans les logiciels de Santé ...

    Sinon, le TDateTimePicker, il me semble qu'il ne peut pas être vide ... en tout cas, j'ai toujours la date du jour par défaut ...

    un TMaskEdit avec un bouton pour appeler un TMonthCalendar peut simuler le TDateTimePicker avec valeur vide ' / / '

  3. #3
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Merci pour ta reponse, mais:
    Citation Envoyé par ShaiLeTroll Voir le message
    On peut considérer le Zéro comme null, c'est le 30/12/1899 à Minuit
    Est à dire que le champ sera vide? Où c'est seulement la valeur initiale des dates en terme de supposition?

    Citation Envoyé par ShaiLeTroll Voir le message
    un TMaskEdit avec un bouton pour appeler un TMonthCalendar peut simuler le TDateTimePicker avec valeur vide ' / / '
    Peux-tu être un peu plus clair à ce niveau?

    Merci.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    Quel Champ sera vide ? Sinon, le zéro est une valeur comme une autre, à toi de voir, si elle te convient comme valeur nulle ...

    Pour le MaskEdit, non, je ne peux pas être plus clair, tu remplace un TDateTimePicker par trois controls (Edit, Button et Calendar) ... j'avais un code qui le faisait automatiquement dans une des mes anciennes applications ... lors du OnEnter d'un TDateTimePicker, cela collait directement un MaskEdit à la place, et lors du OnExit, cela écrivait la Date de l'Edit vers le Picker, ... hop, on ne voyait rien ...

  5. #5
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 678
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 678
    Points : 7 093
    Points
    7 093
    Par défaut
    Citation Envoyé par Danjos Voir le message
    De plus, il me semble que l'objet TDateTimePicker, ne peux pas rester vide. Est ce vrai?
    Je crois aussi.
    Mais il dispose d'une case à cocher pour savoir s'il est actif ou pas. Moi, j'utilise ça.

  6. #6
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Sinon, le zéro est une valeur comme une autre, à toi de voir, si elle te convient comme valeur nulle ...
    Ok. Là j'y vois mieux.
    C'est un peu comme le point de depart pour les dates, n'est ce pas?

    Citation Envoyé par ShaiLeTroll Voir le message
    tu remplace un TDateTimePicker par trois controls (Edit, Button et Calendar) ... j'avais un code qui le faisait automatiquement dans une des mes anciennes applications ... lors du OnEnter d'un TDateTimePicker, cela collait directement un MaskEdit à la place, et lors du OnExit, cela écrivait la Date de l'Edit vers le Picker, ... hop, on ne voyait rien ...
    Très interessant. Je crois que je vais exploiter cette piste, avant de marquer la discussion resolu.

    Citation Envoyé par ShaiLeTroll Voir le message
    Pour le MaskEdit, non, je ne peux pas être plus clair
    Si, tu viens de l'être suffisamment

    Merci beaucoup

  7. #7
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Citation Envoyé par Lung Voir le message
    Mais il dispose d'une case à cocher pour savoir s'il est actif ou pas. Moi, j'utilise ça.
    Je ne l'avais pas remarqué ça.
    Merci, je crois que ça pourrait bien me servir.

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    Effectivement, ShowCheckbox, c'est un moyen détourner, en fait, le problème c'est que la saisie dans un TDateTimePicker est souvent un calvaire pour les utilisateurs (click étrange, sélection pas mieux, touche du clavier pour le incrémenter, ...), ils sont souvent perdus car le composant veut trop en faire, on saisit par exemple le 31/03/2008, et l'on est le 27/02/2008 (date par défaut dans le compo), ben c'est chiant car comme février n'accepte pas 31 jours, il corrige la date tout seul, donc faut modifier d'abord le mois, puis le jour, ...

    Alors un TMaskEdit, c'est plus facile d'utilisation, ...

    Sinon le TJvDateEdit (Jedi) est excellent

  9. #9
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    le TJvDateEdit (Jedi) est excellent
    Voilà une nouvelle idée
    Pour l'heure, je progresse bien avec le trio : Edit/MOnThCalendar/Button.

    Sans vouloir trop te demander, peux-tu me décrire un peu cette nouvelle piste.

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    Le TJvDateEdit c'est justement le MaskEdit, le Calendar et le Button mais dans un seul composant mais assez ergonomique, c'est dans la LIB JEDI

  11. #11
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Ok. Merci. Je vais terminer avec la première piste, et je verrai si celle-ci n'est pas plus optimale.
    Mais, je veux savoir quelque chose avec ces librairies: peux-t-on lancer l'executable d'une application qui les a sollicité sur une machine où il n'y a pas Delphi, par exemple. Ne nécessite-t-il pas l'installation des autres composants sur la machine?

  12. #12
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    En Delphi, tout est dans l'exe, c'est pourquoi, il grossit (actuellement je génère des applis de 15 Mo )
    Sinon il faut fournir des paquets d'exection

  13. #13
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    En Delphi, tout est dans l'exe, c'est pourquoi, il grossit (actuellement je génère des applis de 15 Mo )
    Ça alors!
    Quand je vois que le mien ne fait encore que 500ko,

    Citation Envoyé par ShaiLeTroll Voir le message
    Sinon il faut fournir des paquets d'exection
    C'est-à-dire?

  14. #14
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    Ben 15 Mo, faut dire que là ou je travaille c'est la surabondance de lib (une merdique interne, plus TMS, JEDI, SSBB, ... et j'en passe), c'est simple, si j'ajoute une seule unité de la lib interne (celle du DB Provider par exemple), ben ça prend 8Mo d'un coup, c'est un vrai sac à merde, et l'on a pas le temps de dépatouiller, ...

    Sinon pour les Paquets, voir les Tuto ... Pourquoi mon programme plante-t-il sur un PC où Delphi n'est pas installé ?

  15. #15
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Ok. Très interressant, la construction des paquets. Je ne l'avais pas remarqué.
    Pour ce qui est du problème avec le TdateTimePicker, j'y suis très bien arrivé avec le fameux trio. Je verrai plus tard comment optimiser cela avec les autres méthodes.
    Je crois qu'il est temps de marquer

    En tout cas, merci beaucoup pour tout!

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

Discussions similaires

  1. [jax-ws] retour null pour les Dates
    Par tastika dans le forum Services Web
    Réponses: 0
    Dernier message: 19/06/2012, 19h01
  2. Requêtes SQL pour les Dates et numériques
    Par Ramage03 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/03/2006, 17h26
  3. Filtre pour les dates
    Par aliwassem dans le forum Bases de données
    Réponses: 11
    Dernier message: 21/02/2006, 11h48
  4. implanter des calendriers pour les dates
    Par student007 dans le forum Access
    Réponses: 7
    Dernier message: 24/10/2005, 19h24
  5. [VB.NET] Valur null pour une date.
    Par Lois dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/12/2004, 14h38

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