Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-11-2011
chueco chueco is offline
Registrado
NULL
 
Registrado: sep 2011
Posts: 6
Poder: 0
chueco Va por buen camino
Problema al comparar variables TTime

Buenas, estoy haciendo una agenda de turnos y tengo que generar la agenda de acuerdo a los siguientes parametros, cada dia laboral tiene su hora inicial y su hora final, y los turnos se dividen de acuerdo a la frecuencia: el codigo es el siguiente:

Código Delphi [-]
while (fecha_actual<=fecha_hasta)do
begin
dia_actual:=Longdaynames[dayofweek(fecha_actual)];
 for dia in dias_laborales do
  begin
    if (dia_actual=dia.dia) then
     begin
      hora_i:=dia.hora_desde;
      hora_f:=dia.hora_hasta;
        while (hora_i < hora_f) do
         begin
         dsw.ZQuery2.SQL.Text:='insert into turno (id_medico,id_paciente,fecha,hora,dia) value ('+inttostr(medicoActivo.id_medico)+',NULL,"'+FormatDateTime('yyyy/m/d',fecha_actual)+'","'+timetostr(hora_i)+'","'+dia.dia+'")';
         dsw.ZQuery2.ExecSQL;
         hora_i:=hora_i+fre;
        end;
      end;
  end;
fecha_actual:=IncDay(fecha_actual,1);
end;

el problema esta al evualuar la condicion del WHILE, por ejemplo si la frecuencia es de 30 minutos y la hora final es a las 20:00, el ultimo turno generado es a las 19:30, que es como deberia ser , Pero si cambio la frecuencia a 20 minutos, y la hora final SIGUE siendo 20:00, el ultimo turno generado es a las 20:00 cuando DEBERIA ser a las 19:40, no encuentro motivo, ya que la condicion esta Menor estricto no deberia suceder esto, sin embargo sucede, je misterios de la vida, alguien tiene idea q puede ser...
Responder Con Cita
  #2  
Antiguo 22-11-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Cómo están definidos hora_i , hora_f y fre?

Para operaciones con campos de fecha y hora yo te recomiendo que revises la Unit DateUtils, ya que posee funciones específicas para incrementar minutos, horas, segundos,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como comparo 2 datos TTime? zeta2 Varios 3 11-11-2011 23:31:35
Comparar horas en variables vivamotos Firebird e Interbase 3 19-09-2006 22:07:22
time, comparar 2 campos ttime Pascual Montes Varios 2 29-03-2005 19:50:47
Comparar dos variables string, bien facil... emeceuy Varios 8 09-02-2004 21:12:04
Calcular Horas y minutos entre dos TTime Delphos Varios 4 26-01-2004 17:10:14


La franja horaria es GMT +2. Ahora son las 05:52:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi