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 :

Time


Sujet :

Langage Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Time
    Bonjour,

    J'ai un petit soucis

    Je récupère l'heure avec timetostr(time) que je mets dans un champs date/time d'une table Access

    quand je veux réafficher cette heure dans un dbedit il m'affiche la date 31/12/1899 et puis seulement l'heure et je n'arrive pas à formater cet heure pour ne plus afficher cette date.

    quelqu'un peut-il m'aider

    Merci d'avance

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Edit1.text := FormatDateTime('hh:nn:ss',Now);
    Now Renvoie la date et l'heure en cours. FormatDateTime permet de renvoyer une chaine en fonction des critères entrés (Voir F1 sur FormatDateTime)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut re:Time
    Merci pour ta réponse

    mais cette fameuse date s'affiche toujours (31/12/1899)

    et je ne sais pas quoi faire pour l'enlever

  4. #4
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 561
    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 561
    Points : 3 951
    Points
    3 951
    Par défaut
    Salut

    La date 31/12/1899 correspond à la valeur 0 des TDateTime (qui est en fait une valeur réelle), dans les objets TField, elle apparaît suite à une affectation du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ChampDate1.AsDateTime := ChampDate2.AsDateTime;
    Les deux champs étant des TDateTimeField par exemple et ChampDate2 étant Null ; il faut toutjours vérifier la propriété IsNull avant de copier avec une routine du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure CopieChamp(source,dest: TField);
    begin
      if source.IsNull then
       dest.Clear
      else
       dest.Value := Source.Value;
      // if
    End;
    Bonne suite

    e-ric

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Points : 558
    Points
    558
    Par défaut
    bonjour,

    Essaie plutôt la fonction DateToStr, ça devrait t'aider...

    A plus,

    Chris

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Points : 558
    Points
    558
    Par défaut
    Re,

    Excuse moi essaie plutôt TimeToStr(Now), puisque tu veux l'heure...

    Je devrais lire plus attentivement la prochaine fois...




    A plus,

    Chris

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Points : 558
    Points
    558
    Par défaut
    C'est encore moi,

    là je pense que la fontion TimeOf va résoudre ton problème, puisqu'elle permet de segmenter la date de l'heure, elle s'utilise d cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var HeureActuelle, DateHeureActuelle : TdateTime;
     
    DateHeureActuelle := Now;
    HeureActuelle:= TimeOf(DateHeureActuelle);
    Voilà en espérant que cette fois ci celà va t'aider...

    Chris

  8. #8
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 258
    Points : 558
    Points
    558
    Par défaut
    Je viens de repenser à ton problème,

    Celà peut venir probablement de ton champ qui est d type dte/heure dans ta table Access, il faut que tu le "caste" de façon à n'afficher que l'heure de la façon suivante : 'hh:mm:ss'... En fait comme tu n'envoyait pas de date avec delphi, il te l'initialisait par défaut...

    Essaie aussi ceci celà devrait être bon...

  9. #9
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 561
    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 561
    Points : 3 951
    Points
    3 951
    Par défaut
    Propriété TDataTimeField.DisplayFormat

    Citation Envoyé par F1
    Contrôle le formatage automatique du champ date-heure àdes fins d'affichage.

    Syntaxe Delphi :

    propertyDisplayFormat:String;

    Syntaxe C++:

    __ propertyAnsiStringDisplayFormat ={read=FDisplayFormat,write=SetDisplayFormat};

    Description

    DisplayFormat permet de spécifier la chaîne de formatage àutiliser pour formater la valeur d'un champ date-heure quand la valeur du champ apparaît sous la forme d'une chaîne.Si aucune chaîne n'a étéaffectée àDisplayFormat,la valeur est formatée selon le format de date-heure spécifiépar le Panneau de configuration Windows.

    Remarque : DisplayText n'affecte pas la valeur de la propriétéAsString.

    Pour construire une chaîne DisplayFormat,vous pouvez utiliser les spécificateurs de format suivants :

    Spécificateur Affichage

    c La date dans le format indiquépar la variable globale ShortDateFormat,suivie de l'heure dans le format indiquépar la variable globale LongTimeFormat.L'heure n'est pas affichée si la partie fractionnaire de DateTime est égale àzéro.
    d Le jour sous forme de nombre non précédépar un zéro (1-31).
    dd Le jour sous forme de nombre précédépar un zéro (01-31).
    ddd Le jour sous forme d'une abréviation (Dim-Sam)en utilisant les chaînes indiquées par la variable globale ShortDayNames.

    dddd Le jour sous forme de nom complet (Dimanche-Samedi)en utilisant les chaînes indiquées par la variable globale LongDayNames.
    ddddd La date en utilisant le format indiquépar la variable globale ShortDateFormat.
    dddddd La date en utilisant le format indiquépar la variable globale LongDateFormat.
    m Le mois sous forme de nombre non précédépar un zéro (1-12).Si le spécificateur m suit immédiatement un spécificateur h ou hh,les minutes sont affichées plutôt que le numéro du mois.

    mm Le mois sous forme de nombre précédépar un zéro (01-12).Si le spécificateur mm suit immédiatement un spécificateur h ou hh,il provoque l'affichage des minutes plutôt que du numéro du mois.
    mmm Le mois sous forme d'une abréviation (Jan-Déc)en utilisant les chaînes indiquées par la variable globale ShortMonthNames.
    mmmm Le mois sous forme de nom complet (Janvier-Décembre)en utilisant les chaînes indiquées par la variable globale LongMonthNames.
    yy L'année sous forme de nombre àdeux chiffres (00-99).

    yyyy L'année sous forme de nombre àquatre chiffres (0000-9999).
    h L'heure non précédée par un zéro (0-23).
    hh L'heure précédée par un zéro (00-23).
    n Les minutes non précédées par un zéro (0-59).
    nn Les minutes précédées par un zéro (00-59).
    s Les secondes non précédées par un zéro (0-59).
    ss Les secondes précédées par un zéro (00-59).
    t L'heure en utilisant le format indiquépar la variable globale ShortTimeFormat.
    tt L'heure en utilisant le format indiquépar la variable globale LongTimeFormat.

    am/pm L'heure sur 12 heures pour le spécificateur h ou hh précédant,suivie de "am"pour toutes les heures avant midi ou "pm"pour toutes les heures après midi.Le spécificateur am/pm peut utiliser indifféremment les majuscules ou les minuscules.
    a/p L'heure sur 12 heures pour le spécificateur h ou hh précédant,suivie de "a"pour toutes les heures avant midi ou "p"pour toutes les heures après midi.Le spécificateur a/p peut utiliser indifféremment des majuscules ou des minuscules ;l'affichage s'effectuera en conséquence

    ampm L'heure sur 12 heures pour le spécificateur h ou hh précédant,suivie du contenu de la variable globale TimeAMString pour toutes les heures avant midi et du contenu de la variable globale TimePMString pour toutes les heures après midi.
    / Le caractère de séparation de la date indiquépar la variable globale DateSeparator.
    : Le caractère de séparation d'heures indiquépar la variable globale TimeSeparator.
    'xx'/"xx" Les caractères compris entre apostrophes ou guillemets sont affichés tels quels,sans aucune modification de formatage.

    Les spécificateurs de format peuvent être écrits en lettres majuscules ou minuscules ;ils produisent toujours le même résultat.

    Si la chaîne spécifiée par le paramètre Format est vide,la valeur date-heure est formatée comme avec un spécificateur de format c.
    cdlt

    [F1] (désolé pour l'humour)

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

Discussions similaires

  1. [Kylix] Kylix 3 et redhat 9 time.h
    Par pixelrock dans le forum EDI
    Réponses: 6
    Dernier message: 27/09/2003, 20h41
  2. [LG]Pause de programme ou Break time
    Par lvdnono dans le forum Langage
    Réponses: 11
    Dernier message: 17/05/2003, 17h23
  3. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  4. calcul entre 2 champs time
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 19/02/2003, 10h12
  5. [Kylix] Kylix 3 C++ OE et fichier time.h
    Par Max13 dans le forum EDI
    Réponses: 7
    Dernier message: 30/10/2002, 14h55

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