estimado yo antes utilizaba esto cuando tenia tablas nativa usando winrar
para comprimir
*!* Borrar el archivo rar que se encuentra en la carpeta backup para solo quede uno solo
DELETE FILE dir_backup+"COPIA*.*"
*!* **********************************************************
SET DEFAULT TO &dir_datos
*!* Determinar el formato de compression
karchi = Getenv("ProgramFiles")+"\WinRAR\WinRar.exe"
IF FILE('&karchi', 1)
WAIT WINDOW NOWAIT 'Comprimiendo archivos.....'
cfilename = karchi
caction = "open"
cparameter = ' A &destino_rar *.dbc *.dcx *.dct *.dbf *.cdx *.fpt'
=shellexecute(0, caction, cfilename, cparameter, "", 1)
ELSE
=MESSAGEBOX('No se encuentra el módulo de Copias de Seguridad.', 04144, 'Aviso')
ENDIF
WAIT CLEAR
grabado_en = ALLTRIM(THISFORM.lbl_ruta.Caption)
cmessagetitle = 'Copia de Respaldo'
cmessagetext = 'COPIA CONCLUIDA'+CHR(13)+CHR(13)+'Fue guardado en : '+grabado_en+CHR(13)+CHR(13)+'El Archivo : '+arch_rar
ndialogtype = 0+64+0
=MESSAGEBOX(cmessagetext, ndialogtype, cmessagetitle)
CLOSE DATABASES ALL
descomprimir
arch_rar = ALLTRIM(THISFORM.txt_rutae0_.Value)
*!* Determinar el formato de compression
karchi = Getenv("ProgramFiles")+"\WinRAR\WinRar.exe"
IF FILE('&karchi', 1)
WAIT WINDOW NOWAIT 'Comprimiendo archivos.....'
cfilename = karchi
caction = "open"
cparameter = ' X -O+ &arch_rar &dir_datos'
=shellexecute(0, caction, cfilename, cparameter, "", 1)
ELSE
=MESSAGEBOX('No se encuentra el módulo de Copias de Seguridad.', 04144, 'Aviso')
ENDIF
WAIT CLEAR
cmessagetitle = 'Restaurar Datos'
cmessagetext = 'RECUPERACION DE LA INFORMACION CONCLUIDA'+CHR(13)+CHR(13)+'Fue Restaurado en : '+CHR(13)+CHR(13)+dir_datos
ndialogtype = 0+64+0
=MESSAGEBOX(cmessagetext, ndialogtype, cmessagetitle)