Calculer un intervale de temps [Résolu]

codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 25 févr. 2008 à 18:30 - Dernière réponse : codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention
- 26 févr. 2008 à 16:48
Bonjour,


Si le sujet à déja été traité je m'en excuse d'avance, mais bizarrement je ne trouve rien sur le net.

Pourtant un sujet qui me semble simple, mais bon je n'y arrive pas.

Sur une feuille de temps je cherche le moyen de calculer le temps écoulé entre deux heures h1 et  h2 et ensuite d'additionner les résulats trouvés.

Si quelqu'un peut m'aider

D'avance merci 

Cordialement 
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 26 févr. 2008 à 11:37
3
Merci
Bon, on ne va pas te laisser mariner dans ton jus trop longtemps quand même.
A l'heure qu'il est est, tu as bien dû faire une dizaine de kilomètres.

Primo : transformer les chaines saisies dans les TEdit en TTime (qui sont en réalité des réels)

Deuxio : effectuer la soustraction des deux valeurs de temps

tertio : convertir le résultat en une chaine et l'afficher dans le troisième TEdit.

Voila pour le principe.
Concrétement ?

procedure TForm1.Button1Click(Sender: TObject);
var
  T1, T2: TDateTime;
begin
  if TryStrToTime(Edit2.Text, T1) and TryStrToTime(Edit3.Text, T2) then
    Edit4.Text := TimeToStr(T2 - T1);
end;

Bon, on te laisse gérer la vérification que T2 soit supérieure à T1.

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.

Merci cs_Delphiprog 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_Delphiprog
Cirec 4226 Messages postés vendredi 23 juillet 2004Date d'inscription 19 juillet 2018 Dernière intervention - 25 févr. 2008 à 18:57
0
Merci
Salut,

quand on sait pas et on ne trouve pas on peut aussi tester ...

tout bêtement :

procedure TForm1.Button1Click(Sender: TObject);
Var Time1, Time2 : TTime;
begin
  Time1 := GetTime;
  Time2 := EncodeTime(12,00,00,00);
  Label1.Caption := TimeToStr( Time2 - Time1 );
end;

 
@+
Cirec

<hr siz ="" />
Commenter la réponse de Cirec
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 26 févr. 2008 à 00:01
0
Merci
On peut aussi prendre quelques vitamines, aller faire un jogging, etc.

Ben alors Codial, un gros coup de fatigue ?

May Delphi be with you !
<hr color="#008000" />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 26 févr. 2008 à 10:34
0
Merci
Bonjour à vous deux!


Delphiprog, ça va?


Bon merci pour vos conseils éclairés! Il est vrai que je ne connais pas encore toutes les fonctions de temps.


Bon, j'ai deux TEdit dans lesquels je saisi une heure de départ et une heure d'arrivée au format --:-- et dans un troisième je cherche à afficher le temps passé.


Devinez quoi? Je continue de chercher!!!


Bon je vais peut être aller faire un jogging comme le suggère delphiprog


Cordialement


Codial
Commenter la réponse de codial
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 26 févr. 2008 à 13:13
0
Merci
Bonjour Delphiprog,


Je rentre de mon jogging  et vraiment merci pour le coup de main.
C'est une question qui vous a semblé surement triviale, mais moi je colle et je ne pense que j'y serait arrivé tout seul et en plus je ne trouvais rien sur le net!


par exemple TryStrToTime je ne connaissais pas !!


Pour ce qui est de vérifier si T2 est supérieur à T1, c'est bon!


Merci pour le coup de main.


Cordialement




 
Commenter la réponse de codial
Cirec 4226 Messages postés vendredi 23 juillet 2004Date d'inscription 19 juillet 2018 Dernière intervention - 26 févr. 2008 à 13:30
0
Merci
@Delphiprog

Salut,
Tu disais :
"Bon, on te laisse gérer la vérification que T2 soit supérieure à T1"
mais ce n'est pas utile la fonction se charge de tout ...
le résultat renvoyé est toujours correct ... j'ai testé 

 
@+
Cirec

<hr siz="" />
Commenter la réponse de Cirec
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 26 févr. 2008 à 16:48
0
Merci
Bonjour,


je reviens à la charge pour le calcul de mes heures


Je dois calculer les temps de trajet et les temps de chantier par feuille de pointage, ça


c'est fait grace à vous!


Maintenant je voudrais cumuler les heures trajet chantier par chantier.


J'ai commencé à écrire cette requête pour la somme des heures du chantier:


 WITH TIBSQL.create(nil) do
  begin
  Database:= DM.idbProjets;
  SQL.Clear;
  SQL.Text:='SELECT SUM(FEUDUREECHANTIER) FROM FEU WHERE FEUCOD STARTING with ''' +


IntToStr(DM.ibdFeuFEUCOD.value) + '''';
  ExecQuery;
  showmessage(Fields[0].asstring);
  Close;
  end;
end;


Mais bon, ça ne fonctionne pas


Le champ FEUDUREECHANTIER est un VARCHAR au format --:--


Un petit coup de main?


Cordialement


 


 
Commenter la réponse de codial

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.