Página 1 de 1

Proteccion DBF

Publicado: Jue Oct 23, 2008 8:02 am
por Josep Castells
Hola:
Estoy interesado en proteger determindadas .DBF. En Clipper usaba algo
que
se parece a la siguiente funcion ( no recuerdo su autor ) :
FUNCTION Esconder(cFile,nAction)
local nHandle:=0
local cBuffer:=Space(32)
nHandle:=FOpen(cFile,FO_READWRITE+FO_SHARED)
default nAction:=1
IF nHandle!=-1
IF FRead(nHandle,@cBuffer,32)==32
IF nAction==0
IF SubStr(cBuffer,1,1)<>Chr(26)
cBuffer:=Chr(26)+SubStr(cBuffer,1,31)
ENDIF
ELSE
IF SubStr(cBuffer,1,1)==Chr(26)
cBuffer:=SubStr(cBuffer,2,31)+ Chr(0)
ENDIF
ENDIF
FSeek(nHandle,0)
FWrite(nHandle,cBuffer,32)
ENDIF
FClose(nHandle)
ENDIF
RETURN (FError())
donde con nAccion = 0 se impedia el acceso y con nAccion = 1 se restauraba
de nuevo.
En Xailer, la he probado pero solo consigo que me de corrupcion de fichero,
sea qual sea
la accion.
Hay alguna funcion (Fwrite, FSeek, etc) incompatible con el compilador
xHarbour ?.
Gracias .
Josep Castells

Proteccion DBF

Publicado: Vie Oct 24, 2008 11:39 am
por Josep Castells
Alguna idea ?
Gracias
Josep Castells
"Josep Castells" <inforcb@terra.es> escribió en el mensaje
news:49001357$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola:
>
> Estoy interesado en proteger determindadas .DBF. En Clipper usaba algo
> que
> se parece a la siguiente funcion ( no recuerdo su autor ) :
>
> FUNCTION Esconder(cFile,nAction)
> local nHandle:=0
> local cBuffer:=Space(32)
>
> nHandle:=FOpen(cFile,FO_READWRITE+FO_SHARED)
> default nAction:=1
>
> IF nHandle!=-1
> IF FRead(nHandle,@cBuffer,32)==32
> IF nAction==0
> IF SubStr(cBuffer,1,1)<>Chr(26)
> cBuffer:=Chr(26)+SubStr(cBuffer,1,31)
> ENDIF
> ELSE
> IF SubStr(cBuffer,1,1)==Chr(26)
> cBuffer:=SubStr(cBuffer,2,31)+ Chr(0)
> ENDIF
> ENDIF
>
> FSeek(nHandle,0)
> FWrite(nHandle,cBuffer,32)
> ENDIF
> FClose(nHandle)
> ENDIF
>
> RETURN (FError())
>
> donde con nAccion = 0 se impedia el acceso y con nAccion = 1 se restauraba
> de nuevo.
>
> En Xailer, la he probado pero solo consigo que me de corrupcion de
> fichero, sea qual sea
> la accion.
>
> Hay alguna funcion (Fwrite, FSeek, etc) incompatible con el compilador
> xHarbour ?.
>
> Gracias .
>
> Josep Castells
>
>
>