FoxPro/Visual FoxPro - Ayuda con formulario para encriptar informacion

 
Vista:
Imágen de perfil de Victor Hugo
Val: 22
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Ayuda con formulario para encriptar informacion

Publicado por Victor Hugo (27 intervenciones) el 26/04/2015 22:45:26
Hola a todos...
Necesito ayuda para la creacion de un formulario en el que se debe usar un codigo especifico para encriptar y desencriptar la informacion...

la tabla esta compuesta por los siguientes campos:
codigo c 3
nombre c 50 *encriptar
empresa c 50 *encriptar
nit c 15 *encriptar
digito c 1
direccion c 50
telefono c 20
memo c 200 *encriptar

el codigo que se debe usar para encriptar y desencriptar es el siguiente: (se que hay otros pero para mi tarea solo me reciben este)

FUNCTION EnCript
PARAMETER ccad
PRIVATE nlong, ccar, npos, cprot
npos = 1
cprot = ""
nlong = LEN(ccad)
ccad = SUBSTR(ccad, 1, nlong)
FOR i = npos TO nlong
ccar = CHR(ASC(SUBSTR(ccad, i, 1))+nlong-i+1)
ccad = STUFF(ccad, i, 1, ccar)
ENDFOR
RETURN (ccad)
ENDFUNC

****************************************

FUNCTION DeCript
PARAMETER ccad
PRIVATE nlong, ccar, npos
npos = 1
nlong = LEN(ccad)
ccad = SUBSTR(ccad, 1, nlong)
FOR i = npos TO nlong
ccar = CHR(ASC(SUBSTR(ccad, i, 1))-nlong+i-1)
ccad = STUFF(ccad, i, 1, ccar)
ENDFOR
RETURN (ccad)
ENDFUNC

debo hacer un formulario en el que pueda capturar, consultar (mueste la info encriptada), edicion y borrado y los controles de avanzar, retroceder, primero y ultimo...

no importa que sea sencilla la idea es presentarla...

de antemano agradezco a quien o quienes puedan ayudarme...
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

Ayuda con formulario para encriptar informacion

Publicado por Mauricio (45 intervenciones) el 27/04/2015 22:50:38
Quieres aprender o quieres que te resuelvan tus tareas???????
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
sin imagen de perfil
Val: 59
Ha disminuido 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Ayuda con formulario para encriptar informacion

Publicado por Juan López (114 intervenciones) el 27/04/2015 23:40:30
Buenas Victor Hugo

Tienes alguna duda en concreto??? Es que tal y como lo planteas es normal la respuesta de Mauricio, ya que parece que pretendas que te hagan el formulario ...
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
Imágen de perfil de Victor Hugo
Val: 22
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Ayuda con formulario para encriptar informacion

Publicado por Victor Hugo (27 intervenciones) el 28/04/2015 01:32:26
Hola.. gracias por responder... la verdad es que instruccion no he recibido mucha... el instructor cada vez que entra en un nuevo tema nos pone trabajo para resolver sin haber explicado y luego despues de hacerlo es que explica... solo nos dio esos parametros... el codigo fuente del modulo de encriptar y desencriptar... y ademas viendolo desde el punto de vista de lo que he consultado en internet... este modo es como viejito... por que hay otras opciones mas nuevas usando herramientas de encriptacion que trae el mismo visual foxpro 9... pero el se aferra que que debe hacerse inicialmente con ese codigo y luego con el otro... ya intente hacer un formulario colocando esa informacion pero no me encripta y ma aparecen errores... aclaro que estoy usando un formulario de ejemplo y lo estoy adaptando pero no me sale...

si fuera posible que alguna persona del foro me explicase el procedimiento para poder meter ese codigo en un formulario... lo agradecere y podre seguir avanzando...
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
sin imagen de perfil
Val: 59
Ha disminuido 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Ayuda con formulario para encriptar informacion

Publicado por Juan López (114 intervenciones) el 29/04/2015 17:29:14
Buenas de nuevo

Por lo que cuentas, sólo tienes que encriptar esos campos, no? Si es así lo que tendrías que hacer es algo similar a lo siguiente:

1) Con el formulario seleccionado vas en el menú de herramientas de FoxPro a la opción "FORM" allí pinchas en "New Method". Allí creas dos métodos nuevos que se llamen como quieras (por ejemplo "encriptar" y "desencriptar").

2) Buscas los métodos en el formulario y en cada uno pones el código que te han pasado, pero sin la cabecera FUNC ... ENDFUNC (estas dos líneas las eliminas en ambos casos).

Con estos dos pasos ya tienes las funciones integradas en el formulario. Ahora falta que hagas la llamada a ambas. Imagínate que quieres encriptar el campo empresa, pues sería algo así:

lcEncriptado = ThisForm.encriptar(MiTabla.empresa) && Siendo lcEncriptado una variable cadena que cogerá la información encriptada

Ahora suponemos que no has movido el CURSOR de la tabla o la tabla en sí y sería algo así

replace MiTabla.empresa with lcEncriptado in "MiTabla" && MiTabla es un CURSOR o la tabla con la que trabajas.

Entonces el caso de desencriptar se haría exactamente lo mismo. No he repasado línea a línea el código de las funciones, pero doy por supuesto que funcionan.

En resumen, en VFP puedes usar funciones o métodos locales, para lo que cuentas quizás te sirva así. En caso que no te sirva así, lo que tendrías que hacer es hacer un .prg con las funciones y añadir dicho .prg al programa principal, entonces funcionarían como una especie de librerías de funciones. Esto se suele hacer cuando en varias partes del programa vas a necesitar una función determinada, si es para algo local que sólo uses en el formulario que estás creando, más que funciones se crean métodos en el formulario.

No sé si te ha servido lo que te he dicho.

En cuanto a lo demás, los controles una vez que tienes el cursor a tu tabla, es bastante fácil. Creas tantos botones como necesites. Imagínate que estás en el botón avanzar de uno en uno ">" pues en el método Click del botón colocarías este código

do while !EOF("MiTabla")
* colocamos este do while porque si estás en el último registro no debe avanzar la tabla
skip in "MiTabla"
enddo


Los demás de retroceder serían similares. En cuanto al ir al final o al principio serían así: (en el evento Click)

go top in "MiTabla" && para ir al principio

go down in "MiTabla" && para ir al final


Creo que no me he dejado nada, si es así y no das con la solución, pregunta, quizás te pueda ayudar.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Victor Hugo
Val: 22
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Ayuda con formulario para encriptar informacion

Publicado por Victor Hugo (27 intervenciones) el 29/04/2015 20:48:31
Gracias por la respuesta...
Precisamente un codigo fuente de ejemplo que tengo de otro sistema de encriptar trabaja asi como tu lo explicas... en una variable se pone una semilla para que apartir de ahi comience la emcriptacion (puede ser 1 caracter, numero, simbolo o palabra)... pero intente ponerle el codigo que me dio el profesor y no me funciono...
Voy a usar el procedimiento que me comentas y te cuento como me fue... y si quieres puedo subir un ejemplo que yo hice basado en uno que encontre en internet...
Gracias nuevamente por la ayuda y espero responder pronto el resultado...

Nota: La finalidad de este procedimiento (segun el profesor) es que cuando tengamos un software registrado a una empresa si por algun motivo llegara a instalarse en otro computador este informara que no se encuentra registrado y generara un archivo .txt con la informacion encriptada, la cual deberemos leerla con el formulario que estamos creando... significa que copio la respectiva linea (nombre, empresa, nit, etc...) y la introdusco en el formulario para que me muestre a quien corresponde y asi mismo prestar la respectiva asistencia de registro nuevamente...
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