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 :

conversion heure en decimal


Sujet :

Langage Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    856
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 856
    Points : 266
    Points
    266
    Par défaut conversion heure en decimal
    bonjour,

    je dois convertir des heures sous forme hh:mm (variable:type Ttime) en decimal hh,mm (variable type Number sous paradox)

    est ce que je dois passer par la fonction encode(time) ou bien il y deja une routine quelque part sur le net ?


    A+

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    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 586
    Points : 25 262
    Points
    25 262
    Par défaut
    Pourquoi ne pas stocker directement dans un Champ TIME, ça existe en Paradox ...

    Sinon, un TDateTime, c'est très simple, la partie entière c'est les jours, la partie décimal, le nombre d'heure, il te suffit de multiplier (en théorie), la partie décimale par 24 et d'arrondir à 2 décimal ...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    856
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 856
    Points : 266
    Points
    266
    Par défaut réponse
    bonjour,

    c'est vrai je me suis trompé dès le départ:
    j'ai choisi un type Number pour un champ représentant des heures théoriques de production d'un article donné dans un ordre de fabrication

    maintenant je gère le pointage des opératrices et je remonte l'info du temps passé (et la c'est un type TIME) dans l'entete de l'ordre de fabrication pour comparer avec le temps théroque

    du coup pour le responsable de prod c'est pas pratique de comparer 2 types de champ !! Donc il faut que je convertisse !

    A+

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Salut;

    tu as les fonctions de base EncodeDate et DecodeDate mais je crois qu'il faut travailler ces propres fonctions en utilisant les fonctions de base évoquées.

    Bon codage.

  5. #5
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 504
    Points : 2 776
    Points
    2 776
    Billets dans le blog
    10
    Par défaut
    Tu muliplie ton dateTime par 24*60 et tu travailles sur des entiers exprimés en Minutes. Tu Divise par la même valeur pour reconvertir en DateTime.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    856
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 856
    Points : 266
    Points
    266
    Par défaut fonction
    bonsoir,

    j'ai fait une petite fonction pour convertir....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function sexatodouble(mytime:ttime):double;
    var
      myHour, myMin, mySec, myMilli : Word;
    begin
      DecodeTime(myTime, myHour, myMin, mySec, myMilli);
      result:=myhour + (mymin /60);
    end;
    A+

Discussions similaires

  1. conversion heure en decimal
    Par Goldorak2 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 29/08/2007, 17h34
  2. Conversion chaine en decimal
    Par siddh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/02/2006, 17h50
  3. conversion nombre binaire -> decimal
    Par spoun95 dans le forum Langage
    Réponses: 7
    Dernier message: 25/11/2005, 17h46
  4. Conversion heures minutes en heures centièmes
    Par shaman262 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/10/2005, 17h53
  5. [MsSQL 2000]Conversion heure GMT
    Par prophetky dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/08/2005, 17h27

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