Necesito me ayuden con esta función UnZap (Recuperar registros después de un ZAP)
que obtuve del PortalFox la cual fue escrita por Pablo Roca.
*-
*Hay veces que incluso después 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
*Esta función UnZap, puede recuperar mas registros de los debidos, por tanto después
*de un UnZap, debe hacer un browse para comprobar que todo esta bien, en caso que se
*hayan recuperado mas registros de los posibles, debe hacer un Zap y un UnZap con
*menos registros.
*-
La Function UnZap recupera los datos de la tabla zapeada pero cuando la abro con un browse para verificar el mismo estos solo son caracteres extraños o mejor dicho aun espacios sin nada de información.
Mi pregunta es, si la información zapeada se puede recuperar o no; o es que debo hacer algo en la función que este omitiendo. Agradecería mucho tu ayuda.
Saludos
José Luis
--------------------------------------------------------------------------------------------------------------
"El objeto más noble que puede ocupar el hombre es ilustrar a sus semejantes"
Simón Bolívar
"El Libertador"
Estadista y Militar Venezolano