end;/url pour le calcul de date ça fonctionne mais pas pur l'heure et je ne comprend pas
HeureActuel correspond a l'heure systeme
HeureVisite est saisi par l'utilisateur dans le DateTimePicker
orankader
Messages postés4Date d'inscriptionlundi 22 août 2005StatutMembreDernière intervention29 décembre 2009 19 déc. 2009 à 21:22
Bonjour tous le monde
j'ai un probmème dans mon programme sur DBgrid entrée sortie
le calcul sortie moins entrer se fait correctement total ligne.
exemple entrer sortie Total Ligne
8:00 16:00 8:00
8:00 16:00 8:00
8:00 16:00 8:00
8:00 16:00 8:00
Le problème je n'arrive pas à calculer le nombre heure.
Le calcul se fait très bien, mais une fois il dépasse les 24 heures sa remet à 00:00.
Pour cela si quelqu'un peut m'aider en corrigeant mon programme
procedure TForm1.Button3Click(Sender: TObject);
var somme,s : real;
begin
somme := 0;
table1.first; // se pointer vers le premier enregistrement de la table
while not(table1.eof) do // tanque on a pas arriver à la fin de la table
begin
somme := somme + table1.fieldbyname('Nbre_Heures').AsDateTime; // cumul des totaux
table1.next; // passer à l'enregistrement suivant.
end;
edit1.text := TimeToStr(somme); // afficher le cumul des totaux dans le comosant edit1
JeremyLecouvert
Messages postés139Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention10 mai 20102 21 déc. 2009 à 10:27
Salut,
HeureActuelle te donne l'heure système: 40168,4375 (pour le 21/12/2009 10:30). HeureVisite est en mode Heure (HeureVisite.Kind:= dtkTime). Dans ce cas, en runtime, quand tu saisis une heure dans HeureVisite, la date n'est pas affectée, elle reste égale à la date de création du compo (par exemple 10165,... si tu as créé le compo sur ta fiche le 19/12/2009). Tu fais donc un MinutesSpan entre 2 instants qui ont plusieurs jours d'intervalle.
Pour remédier à ça, tu peux ne garder que la partie décimale de la date: