Veamos.
No te entiendo muy bien, el objeto timer tiene una propiedad interval, cada vez que se cumple el tiempo que esta propiedad tengo se va a ejecutar el código que hay en el evento timer de este objeto, para que se ejecute en cada minuto la propiedad interval tendria que tener un valor de 1000, 10 minutos 10000, una hora 60000, etc...
Para calcular el tiempo transcurrido entre dos horas tienes que utilizar una función, ya que no puedes restar los valores como normalmente porque no son valores numéricos.
Te pego un código, lo copias y pegas en un programa, le tienes que pasar la hora de entrada y salida como parametros, estos datos deben ser caracteres y deben contener como máximo 5 digitos, por ejemplo.
hora1=time()&&esto captura la hora actual en la varianble hora1
hora2=time()
Ahora para ejecutar el programa pasando los parametros correctos seria algo asi:
DO programa WITH SUBSTR(TRANSFORM(hora1), 1,5), SUBSTR(TRANSFORM(hora2), 1,5)
Lparameters horaentrada, horasalida, porcentaje
HE = VAL(LEFT(HORAENTRADA, 2))
HS = VAL(LEFT(HORASALIDA , 2))
ME = VAL(RIGHT(HORAENTRADA, 2))
MS = VAL(RIGHT(HORASALIDA , 2))
TE = HE * 60 + ME
TS = HS * 60 + MS
CH = INT((TS - TE) / 60)
CM = TS - TE - CH * 60
Me_i=IIF(LEN(TRANSFORM(CH))=1,'0'+TRANSFORM(CH),TRANSFORM(CH))+":"+;
IIF(LEN(TRANSFORM(CM))=1,'0'+TRANSFORM(CM),TRANSFORM(CM))
*Return me_i
MESSAGEBOX(me_i)
Saludos y cualquier cosa estamos a la orden