Hola!
La variable sFIREPath la cargo en un parametro en una tabla de configuraciones, o la puedes poner en un .ini o como mas te guste nose
Código:
sFIREPath := Data.ReadRegString( HKEY_LOCAL_MACHINE, '\Software\Microsoft\Windows\CurrentVersion\', 'ProgramFilesDir' ) + '\Firebird\Firebird_2_1\bin';
Ahí tienes por ej. de Firebird 2.1
Esa funcion lee del registro la key de firebird, hay varias por acá en el foro y nose si la misma la saqué de por acá también (cosa que no dudo hehe) y le agregué nada mas la key de Firebird
El timer lo pongo cada 30 segundos y voy incrementando un contador cuando sea la hora, lo vuelvo a 0 y ejecuto el backup. Lo pongo en 30 porque uso un reloj en la barra y se actualiza cada 30 seg.
El valor maximo del timer si no me equivoco es de 60000. De ahi vas contando la cantidad de veces que ingresa a la rutina timer_timer. O en tu caso que pregunte la hora nada mas y si está dentro de las 08-09 que se ejecute y guardas un flag de ejecutado, asi no lo hace nuevamente, cuando sale de tu rango de horas lo pones en falso el flag.
Hoy por hoy con la tecnología que tenemos no se nos puede achanchar una aplicación por un timer, sí por lo que se ejecute cada cierto tiempo si no fuera necesario o si es posible evitarse.
En fin, espero haberte sido util, y me avisas cualquier problema.
Saludos y éxitos!
Walter