![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
1.el script a ejecutar 1.1 con el nombre de la conexion que utilizara 1.2 con el nombre del path donde se guardara 1.3 el campo que se desea encryptar 2. Laconexion a utilizar 3. el tipo de archivo en que se guardara la informacion del scrip (elformato,el separador,etc) osea se ejecutan varios scripts en tiempo de ejecucion, cada cual se conecta con el usuario,pass,y la tabla que se desea, y guarda el resultado segun el propio XML lo establesca para cada caso por lo tanto no existe un campo persistente al caul pueda asignarle el evento OnGetText... el metodo de encriptar, me es dado por un provedor, por lo que solo puedo hacer referencia al mismo enviando un string, y reciviendo el string encriptado....No puedo encriptar a nivel de base de Datos... que puedo hacer? Gracias a todos por sus comentarios... |
|
#2
|
||||
|
||||
|
Cita:
Cómo lees y guardas los datos del archivo XML al DBGrid? Supongo que éstas utilizando algun DataSet para hacerlo... es así o no?![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#3
|
||||
|
||||
|
ok despues de cargada la conexion (el user ,pass,database,etc...) ejecuto el script que leo del archivo XML:
posteriormente conecto el data source, con lo que la informacion me queda ligada al DBgrid
con esto en marcha, procedo a recorrer el dataset, para encriptar el campo que deseo(que es un valor que me viene dado en el XML de configuracion de la aplicacion)...
Nota: el edit1.Text contiene elnombre de la columna que deseo encriptar, esto para efectos de pruebas de funcionamiento, de momento... |
|
#4
|
||||
|
||||
|
Ayuda!!!!
este ultimo codigo
funciona a la perfeccion pero solo cuando el resultado del script no tiene espacios vacios... de ser asi, cuando aplica la sentencia Data.next; me envia el mensaje de error descrito anteriormente... alguna idea al respecto? como podria validar este problema, o es acaso que recorro mal el data source? |
|
#5
|
||||
|
||||
|
Pues entonces estás haciendo uso de un dataset, ya decía yo
y parece ser que no me entendiste sobre el uso del evento OnGetText,![]() Todo sabemos que en Delphi se puede asignar un evento tanto en tiempo de diseño como en tiempo de Ejecucion, en éste caso podrías asignar el evento OnGetText en tiempo de Ejecucion de la siguiente manera: Primeramente debo implementar un Procedimiento o funcion, segun sea el caso,con cualquier nombre, pero que tenga los mismo parámetros que tiene nuestro evento que queremos asignarle: Por ejemplo el evento OnGetText tiene como declaracion y parametro en mi caso: Entonces como todo evento en delphi es un Puntero a un Procedimiento o funcion,segun sea el caso; lo que se puede hacer es declarar nuestro propio Manejador de evento en este caso puedo creame un Procedimiento de ésta forma: Si observamos la declaracion del procedimeinto "Cambiar_Vista_de_Columna" tiene la misma cantidad de parámetros y los mismos parametros que el evento OnGetText y tiene que ser así:Ahora vamos a su implementacion: Ahora para asignarlo en tiempo de ejecucion sencillamente podemos hacerlo de la siguiente manera: Lo que estamos haciendo en la anterior linea de código es hacer que el puntero del evento OnGetText del cuarto campo de nuestro DataSet, apunte a la primer direccion de memoria del nuestro procedure "Cambiar_Vista_de_Columna", de esa manera tiene una direccion de memoria válida con lo cual Delphi ejecutará las lineas de código de nuestro procedimiento; es lo que comunmente se llama "Asignacion dinámica de Eventos", ésta linea la puedes poner justo antes de ejecutar el Script o sentencia SQL o simplemnete usar el evento OnCreate del formulario; por supuesto que tambien puedo anular la ejecucion del evento(en éste caso OnGetText) en el momento que yo quiera,con tan solo hacer: No sé si me he dejado entender, pero creo que con solo hacer eso puedes solucionar tu problema, sin estar recorriendo tu dataset, así como lo haces, cosa que lo veo no muy práctica ni óptima en éste caso. ![]() Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 Última edición por rgstuamigo fecha: 04-10-2010 a las 23:57:13. |
|
#6
|
||||
|
||||
|
Genial
solo una ultima modificacion a tu codigo, por aquello que alguien tenga algun problema parecido a futuro....
y pues el resultado es mejor de esta manera, pues no tengo que recorrerlo, por lo que si me parece mas eficiente... y por ultimo un refresh para que el cambio sea visible imediato...
|
|
#7
|
||||
|
||||
|
Muchas Gracias
Y pos de verdad muchisimas gracias a todos los que sacaron su ratito, para ayudarme... de verdad muy agradecido y si pasan por CR, pues los invito a una imperial... jejejeje
|
|
#8
|
||||
|
||||
|
muy pronto
creo que cante victoria demasiado pronto...
ahora tengo el siguiente problema... cuando quiero actualizar una sola columna, no existe inconveniente, si encrypto 2 columnas tampoco, PERO SI QUIERO ENCRIPTAR UNA COLUMNA y a otra columna solo quiero cortarle un substring.. realiza parejo la funcion de cortar el substring para todas las columnas a las que ligue el
ya no se que hacer mas... por 2vias distintas estoy con 2 pegas diferentes la que me queda la duda es la del field value required cuando una columna de la tabla esta vacia.... pero cualquiera de las 2 alternativas, que aroje un poco de luz... perfecto |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Error de Edicion con DBGrid | chipcrazy | Varios | 1 | 06-11-2008 12:40:51 |
| Edición de un DBGRID | luxus | Conexión con bases de datos | 1 | 13-02-2007 11:34:26 |
| DBGrid. Contenido de celda en edicion | ManelC | Varios | 2 | 06-07-2006 23:01:18 |
| Edicion DBGrid | Caro | Conexión con bases de datos | 2 | 09-06-2006 18:02:26 |
| DBGRID detectar fin de edicion de campo | andrestsas | Tablas planas | 2 | 12-08-2003 17:11:02 |
|