Hola!
Tengo un procedimiento que es llamado cada segundo desde un timer. La Intencion de este procedimiento es que revisa la hora del dia y:
1. Si es la hora exacta actualiza un stringgrid.
2. Si es otra hora y coincide con una ya almacenada genera un reporte impreso llamado diario.
3. Nuevamente si es otra hora y coincide con otra ya almacenada genera otro reporte llamado de turno el cual puede comprender tres periodos diferentes.
En forma individual cada actualizacion del stringgrid y reporte se genera perfectamente. Sin embargo si la hora de la actualizacion del stringgrid (Exacto a la hora)
coincide con la hora el reporte de diario y/o de turno estos no se generan, solo se genera la actualizacion del stringgrid. Tambien si la hora de los reportes
no coincide con la del stringgrid estos reportes (ambos) se generan correctamente.
El codigo que uso:
Código Delphi
[-]Procedure TfrmMain.CadaSegundo ;
begin
DecodeTime(Now, miHora,miMin,miSeg,miMseg);
if (miMin = 0) and (miSeg = 0) then
begin
UltimaHora := IncMinute(Now, -60);
ActualizaCadaHora(Datetimetostr(UltimaHora),DateTimetoStr(Now));
end;
if (rpdImprime) and (rpdHabilita) then
if (miHora = dHora) and (miMin = dMin) and (miSeg = dSeg) then DataCnx.GeneraDiario;
if (rptImprime) and (rptHabilita) then
begin
if (miHora = pHora) and (miMin =pMin) and (miSeg = pSeg) then
begin
DataCnx.GeneraPrimero;
exit
end;
if (miHora = sHora) and (miMin = sMin) and (miSeg = sSeg)then
begin
DataCnx.GeneraSegundo;
Exit;
end;
if (miHora = tHora) and (miMin = tmin) and (miSeg = tSeg) then
begin
DataCnx.GeneraTercero;
Exit;
end;
end;
end;
Agradesco su ayuda.