Hola Compañeros del foro, estoy en un proyecto de control de asistencia de personal, y estoy teniendo problemas con la comparación de la hora para definir si el empleado llegó tarde o no, aqui os pongo una parte del código (porque es muy extenso):
Aqui las variables:
Código Delphi
[-]Var Encontro :Boolean;
MarcarLuego, Ahora: TTime;
TiempoDespues: string;
LongTimeFormat := 'hh:mm:ss';
TiempoDespues := '00:30:00';
MarcarLuego := ZMarcadoENTRADA.Value + StrToTime(TiempoDespues);
Ahora := Time;
Aquí donde trato de hacer la comparación la cual lo ignora:
Código Delphi
[-]if ZTable1TANDA.AsInteger = 1 then
begin
if Ahora > ZConfigHORA1.Value then
begin
ZAtraso.Close;
ZAtraso.SQL.Clear;
ZAtraso.SQL.Add('insert into TARDANZAS(ID,EMPID,FECHA) values(NULL, :Cod, :Hoy)');
ZAtraso.ParamByName('Cod').AsInteger := ZTable1ID.AsInteger;
ZAtraso.ParamByName('Hoy').AsDate := Date;
ZAtraso.ExecSQL;
end;
end;
el objetivo de éste último código, si la tanda del usuario es 1 (Vespertina), verifica si la hora actual es mayor a la hora límite de la llegada, si es así, se le apunta como una tardanza, pero la ignora, igual ejecuta el código aunque la hora actual sea menor que la del límite, por eso pienso que el problema esta en el cálculo de las horas, estoy trabajando con Delphi 7 y FB2.0.
A ver quién me echa una manita
.
Saludos.