|
En vez de sumar las horas trabajadas te conviene usar un Timer que aumente cada un segundo una variable en 1.
Cuando el empleado ingresa, activas el timer, en el receso lo paras, luego lo activas cuando entra, y lo paras vuando sale.
De esta forma te queda almacenado en la variable la cantidad de segundos que trabajo.
En el evento OnTimer del Timer pones:
seg:= seg+1; //Con esto se almacena la cantidad de segundo trabajados
Para que te queden la cantidad de horas, minutos y segundos pones en el mismo evento:
if seg>=60 then
begin
min:=min+1;
seg:=0;
end;
if min>=60 then
begin
hor:=hor+1;
min:=0;
end;
Para expresar la cantidad de horas trabajadas(usando TTable):
Table1.FieldByName('Total').AsString:= IntToStr(hor)+':'+IntToStr(min)+':'+IntToStr(seg);
Nunca use TQuery el codigo es para un TTable. Te queda a vos traducirlo.
Espero que te sirva...
|