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 :

Gestion d'une variable TDateTime


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Gestion d'une variable TDateTime
    Bonjour, je vous écris car je cherche de l'aide pour la gestion d'une variable TDateTime. Dans mon programme je fais des comparaisons de variables en TDateTime. Il se trouve que de temps en temps j'ai besoin de vérifier si la variable en TDateTime est vide ou pas? Je n'arrive pas à réinitialiser la variable à 0. Pour faire simple je cherche l'équivalent du nil dans le cas d'un pointeur ou de '' pour un string qui permettent la mise à zero de la variable. Exemple de programmation : si nom est déclaré comme string alors on a nom:='', si parbre est un pointeur alors on a parbre:=nil, maintenant si heure est déclaré comme TDateTime alors on a heure:=????? . Merci d'avance pour vos réponses.

  2. #2
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Le seul moyen est de lui assigner la valeur 0.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 469
    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 469
    Points : 24 905
    Points
    24 905
    Par défaut
    Le Zéro est une valeur admise comme peu probable dans un logiciel de gestion (dans une application médicale, on a presque plus de personne qui soit né le 30/12/1899 mais cela peut arriver)

    Sinon, tu peux utiliser le type variant, il gère le vide et le null, c'est d'ailleurs le type utilisé pour stocker en interne les données d'une base de données des composants DB de Delphi ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    c'est d'ailleurs le type utilisé pour stocker en interne les données d'une base de données des composants DB de Delphi ...
    Pas vraiment. Les composants DB (Dérivés de TDataSet) stockent les données en interne dans des buffer, ligne à ligne (lus par la méthode GetRecord). Le format des données à l'intérieur du buffer dépend du type du dataset dérivé, mais en principe il colle au mieux au type de donnée déclaré pour le TField.
    Ensuite les TField sont des accesseurs qui lisent/écrivent les données d'un champ dans ce buffer, en faisant les convertions de types nécessaires.

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 469
    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 469
    Points : 24 905
    Points
    24 905
    Par défaut
    Effectivement, merci de corriger cet abus, disons plutôt que c'est le type utilisé pour échanger des données sans se préoccuper du type, très utile pour copier un enregistrement dans un autre par un parcours sur Fields et utilisation de la propriété Value ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Je vous remercie pour vos réponses, c'est en effet ce que j'avais utiliser, c'est à dire 0.0. Mais par rapport à la fréquence d'utilisation dans le cas d'une date, il est sur que c'est peu utiliser, mais dans le cas d'une heure 0.0 correspond à 00:00:00, heure qui peut être utiliser. Je tacherais de bloquer cette heure, ce n'est pas grave. Le programme ne permettra pas la saisie de 00:00:00 juste des valeurs comprise entre 00:00:01 et 23:59:59.
    Et désolé ShaiLeTroll mais je n'ai pas bien compris ton explication, tu parles de type que je n'ai jamais utilisé et que je ne connais pas.

    Merci encore pour vos réponses.

Discussions similaires

  1. Gestion d'une variable absente dans un fichier netCDF
    Par habasque dans le forum MATLAB
    Réponses: 6
    Dernier message: 12/02/2013, 16h33
  2. Réponses: 0
    Dernier message: 08/02/2013, 11h54
  3. Gestion d'une suite de variables
    Par Gaetan_ dans le forum Langage
    Réponses: 24
    Dernier message: 04/08/2011, 12h08
  4. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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