La Web del Programador: Comunidad de Programadores
 
    Pregunta:  13950 - RECUPERAR DATOS BORRADOS CON EL COMANDO ZAP
Autor:  Rigoberto Yacub Cenetellas
hola,

necesito saber si es posible recuperar datos despues de haber corrido el comando zap

gracias por la ayuda

  Respuesta:  Richard Silva M.
La siguiente informaciĆ³n se encuentra en el portal de Pablo Roca.

(http://www.portalfox.com/)

"Hay veces que incluso despues de un ZAP, se puede recuperar los registros, solo funciona si no se han escrito datos encima de esos registros.

FUNCTION UNZAP
PARAMETER Y
IF Y>0 .AND. USED()
IF RECCOUNT()=0
FILENAME=DBF()
USE
HANDLE=FOPEN(FILENAME,2)
IF HANDLE>0
BYTE=FREAD(HANDLE,32)
BKUP_BYTE=BYTE
FIELD_SIZE=ASC(SUBSTR(BYTE,11,1))+(ASC(SUBSTR(BYTE,12,1))*256)
FILE_SIZE=FSEEK(HANDLE,0,2)
BYTE8=CHR(INT(Y/(256*256*256)))
BYTE7=CHR(INT(Y/(256*256)))
BYTE6=CHR(INT(Y/256))
BYTE5=CHR(MOD(Y,256))
BYTE=SUBSTR(BYTE,1,4)+BYTE5+BYTE6+BYTE7+BYTE8+SUBSTR(BYTE,9)
=FSEEK(HANDLE,0)
=FWRITE(HANDLE,BYTE)
=FCHSIZE(HANDLE,FILE_SIZE+(FIELD_SIZE*Y))
=FCLOSE(HANDLE)
ENDIF
USE &FILENAME
ENDIF
ENDIF

Uso:

ZAP
=UNZAP(47) && recupera 47 registros

Esta funcion UNZAP, puede recuperar mas registros de los debidos, por tanto despues de un UNZAP, debe hacer un browse para comprobar que todo esta bien, en caso que se hayan recuperado mas registos de los posibles, debe hacer un ZAP y un UNZAP con menos registros."

Saludos desde Venezuela...

  Respuesta:  Goyo
El comando zap vacia registros deleteados y no deleteados de una tabla, es decir que la deja sin registros por lo tanto que si no tenes un backup de los datos, es imposible recuperarlos.