Clipper/FiveWin - Ley de Proteccion de Datos

 
Vista:

Ley de Proteccion de Datos

Publicado por Gabriel Martin (41 intervenciones) el 18/01/2008 17:42:56
Buenas a Todos.
Hoy a parte de solicitar ayuda de como hacer algo en concreto, tambien pido ideas, ya que cuatro ojos ven mas que dos. Para los que esten fuera de España indicar, que en nuestro pais existe la Ley de protección de datos, que entre otro obliga a que, de alguna manera pues aun no han dicho el formato exacto, exista un registro de aquellos ususario que accedan a los programas que puedan contener datos de caracter personal de terceros. Os puedo contar la 'maravillosa idea sacaperras-sacadinero' que te montan la mayoria de empresas dedicadas a decirte como ponerle contraseña a tu ordenador al arrancar y como guardar tus CD bajo llave. Pues bien, lo unico que montan es un programa que actua de acceso directo para los programas que trabajan con este tipo de dato y guardan en un txt ese registro de acceso.

Mi idea es que sea el propio programa quien lo haga y es ahí donde salen mis mil y una dudas, que seguro mas de uno de vosotros se rerirá, pero me ayudara, al ver lo facil de la solución. !! Con memowrite puedo crear un txt, pero este se me borra cada vez que lo creo. Creo que la manera mas sencialla y menos costosa, en tiempo, dado que mis programas no contemplan la opciones de diferentes usuarios, serí ala de crear un fichero txt donde ir se registrase el acceso al programa. Los datos a contener, fecha, hora y ordenador que accede. Pues cada ordenador tiene un unico usuario. ¿Que dato unico se puede obnert de un ordenador? Indicar que el programa esta en un servidor y accedemos a el desde un acceso directo.

No se si me he explicado, seguramente fatal, no obstante con los cocos que por aqui corren, pronto estará este tema lleno de respuestas.

Mil gracias a todos por adelantado y buen fin de semana

Gabriel Martin, Mataró Spain
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ley de Proteccion de Datos

Publicado por Martin (25 intervenciones) el 18/01/2008 23:12:34
Hola

podrias usar el volumen del disco ej,: 3ACF-3377 que es el valor del disco de PC y es unico lo sacas con un simple comando VOL > texto.txt, luego lees el txt y extraes los ultimos valores para guardarlo en tu programa

Saludos

Martin
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ley de Proteccion de Datos

Publicado por Antoni Masana (168 intervenciones) el 21/01/2008 08:08:05
Para el tema del fichero de texto puedes hacerlo de varias formas:

1.- MemoWrit: para que no borre el anterior hay que leerlo previamente y añadir el nuevo texto, El limite del fichero es de 64kb.

2.- FOPEN: abres el fichero, colocas el puntero al final del fichero ( FSEEK), grabas y cierras el fichero.

3.- Tambien puedes realizar la salida como si fuese un listado

SET PRINTER ON
SET PRINTER TO ("FICHERO.TXT") ADDITIVE
SET CONSOLE OFF

Si el fichero resultante puede ser muy grande, creo que se prodira hacerlo fraccionado, un fichero para cada dia, semana o mes.

Un saludo desde Barcelona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ley de Proteccion de Datos

Publicado por Gabriel Martin (41 intervenciones) el 21/01/2008 12:57:14
Buenas: Gracias Martin y Antoni (les teves respostes les espero com l'aigua de maig. Tu respuestas las espero como agua bendita). Al final os hice caso, como era de esperar. Opté por un registro mensual; diario sería llenar el disco de txt's y la opcion FOPEN para no estar limitado con el tamaño. No hagamos como en nuestro pais, que una vez hecho el proyecto de una nueva carretera, ya se ha hecho pequeña! . , PEEERO, no me escribe en el TXT creado y no entiendo por qué.

cProg lo utilizo para identificar el programa que se pon en marcha.

FUNCTION RegSusuario(cProg)

LOCAL cUsuHD:=cProg+" "+DTOC(DATE())+" "+TIME()+" "+STR(nSerialHD())
LOCAL cRegUsu:="Registro "+STR(YEAR(DATE()))+STR(MONTH(DATE()))+".TXT"

MsgInfo(cUsuHD)
MSGINFO("FECHA:"+cRegUsu)

IF .NOT. FILE (cRegUsu)
FCreate(cRegUsu)
ENDIF

FOpen (cRegUsu,)
FSeek (cRegUsu,0,2)
FWrite (cRegUsu,@cUsuHD)
FClose (cRegUsu)

RETURN(.T.)

Ya me diréis y gracias de nuevo
Gabriel Martin Mataró Spain
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ley de Proteccion de Datos

Publicado por Antoni Masana (168 intervenciones) el 22/01/2008 09:09:55
El problema es que trabajas a 16 byts (creo) y los nombres de ficheros es de 8+3 caracteres sin espacios.

Mira el cambio en la asignacion de cRegUsu. y el FOPEN
El nombre del fichero quera asi: R_200801.TXT

FUNCTION RegSusuario(cProg)

LOCAL cUsuHD:=cProg+" "+DTOC(DATE())+" "+TIME()+" "+STR(nSerialHD())
LOCAL cRegUsu:="R_"+STR(YEAR(DATE()),4)+STRZERO(MONTH(DATE()),2)+".TXT"

MsgInfo(cUsuHD)
MSGINFO("FECHA:"+cRegUsu)

IF .NOT. FILE (cRegUsu)
FCreate(cRegUsu)
ENDIF

n_ID:=FOpen (cRegUsu,)
FSeek (n_ID, 2)
FWrite (n_ID, @cUsuHD)
FClose (n_ID)

RETURN(.T.)

UNA CURIOSIDAD: ¿Que hace o para que sirve la funcion MsgInfo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ley de Proteccion de Datos

Publicado por Gabriel Martin (41 intervenciones) el 22/01/2008 09:30:13
Buenas a Todos:

Dicen ser de buen nacido el ser agradecido. Dicho esto os dejo el codigo que me funciona a la perfección:

FUNCTION RegSusuario(cProg)

LOCAL cUsuHD:=cProg+" "+DTOC(DATE())+" "+TIME()+" "+STR(nSerialHD())+CHR(13)+CHR(10)
LOCAL cRegUsu:="Registro "+STR(YEAR(DATE()))+STR(MONTH(DATE()))+".TXT"
LOCAL nFichero

IF FILE (cRegUsu)
nFichero:=FOpen(cRegUsu,2)
ELSE
nFichero:=FCreate(cRegUsu,0)
ENDIF

FSeek(nFichero,0,2)

FWrite(nFichero,cUsuHD)
FClose(nFichero)

RETURN(.T.)

si al inicio de vuestro programa lo haceis funcionar os indicará el momento de acceso al mismo. Tambien es posible hacerlo correr justo antes de cerrar el programa, con lo que sabreis quienes son aquellos manates del 'reset'. Solo una inidcacion, se ha de tener en cuenta que 'IF FILE' se ve afectado por SET DEFAULT, no asi 'FOpen', 'FCreate','FSeek','FWrite' y 'FClose'. con lo que es importante que si por alguna razón habeis cambiado de directorio, dirijais el PHAT a donde se encunetra el ejecutable antes de usar esta rutina, para el caso de querer controlar la salida del programa.

Un saludo a todos
Gabriel Martin, Mataró Spain

PD: Antoni MsgInfo, es una función del Five que te muestra un pantalla de aviso conel texto que continga la variable que hay entre parentesis)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ley de Proteccion de Datos

Publicado por Gabriel Martin (41 intervenciones) el 22/01/2008 12:55:37
Buenas de Nuevo:

Soy muy maniatico y a veces por ello me pierdo. En fin, que una vez usada la rutina que os dejé antes me di cuenta que existen HD que devuelven ************. Mal, pues no nos enteramos de quien se trata. Dado que hoy en dia casi todos los ordenadores estan en red, si no esta rutina tampoco tendría sentido, cambiar la segunda linea por esta:

LOCAL cUsuHD:=WNetGetUser()+" "+cProg+" EL "+DTOC(DATE())+" A LAS "+TIME()+CHR(13)+CHR(10)

Si a cProg le dais un valor algo asi como "ENTRA EN LA APLICACION", ahora podemos aplicar aquello de que aunque seamos informaticos 'algunos solo lo pretendemos' por lo menos nos hacemos entender.

Espero que os sea util
Saludos Gabriel Martin, Mataró Spain
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ley de Proteccion de Datos

Publicado por CASIMIRO (1 intervención) el 05/12/2010 20:19:02
ASDFGHJKLPPPPPOOOIIIUUUUUYTREWQTRZSXYDTRUC TFDESGYTYGVJHNJN JH JN KLN YTREWLOIJUY
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar