bisa dengan object timer.
contoh:
diasumsikan kamu menggunakan form (ada form yg diaktifkan saat program berjalan),
- insert object timer di form dan beri nama misal: oTimer
- tambahkan property sudah_dibackup pada form
set property oTimer
- interval = nilai interval / rentang waktu setiap kali objek ini dipanggil misal: 500 (milisecond)
- di event Timer object oTimer, buat kode ini:
LOCAL lnCurSeconds
m.lnCurSeconds = SECONDS() / (60 * 60) && menghasilkan jam saat itu, dihitung sejak tengah malam
IF (m.lnCurSeconds >= 0.0) AND thisform.sudah_dibackup
thisform.sudah_dibackup = .F.
ENDIF
IF (m.lnCurSeconds >= 21.0) AND !thisform.sudah_dibackup
thisform.sudah_dibackup = .T.
this.Enabled = .F. && non aktifkan dulu timer-nya
*------------> panggil kode/method untuk melakukan backup disini !!!!
this.Enabled = .T. && aktifkan lagi timer-nya
ENDIF
untuk membangun projectnya dan mengaktifkan form, silahkan kamu search saja di forum, sudah banyak contohnya.
semoga membantu, minimal logikanya, ok
