| |  |  | Miembros: Mensajes: Temas: Online: Ultimo Miembro: | | |  | | | 
| 
26-06-2005, 11:46:53
|  | Usuario VIP del Foro | | Registrado: jul 2004 Ubicación: Barcelona Posts: 658
| | Autocompletion en Columna UNBOUND Hola, tengo un gran problema que a lo mejor es un pequeño fallo.
Tengo una tabla con datos encriptados (nombres y apellidos), en un formulario genérico de búsqueda tengo un TDBCombo. Utilizando la propiedad UnboundColumnFetch realizo una rutina de desencriptación y pongo en Columns(1) los apellidos y nombres desencriptados (En columns(0) está el código de búsqueda).
Todo funciona bien :smt005 pero..... no consigo que funcione el autocompletion :smt009 . No es problema del TDBCombo :smt018 porque el mismo TDBCombo se usa para otras búsquedas no encriptadas y entonces funciona. :smt017
Parece ser que si hay DataField asignado a la columna el autocompletion funciona pero en la columna unbound no puede haber, que yo sepa, un datafield.
¿Álguien puede iluminarme en mi oscuridad?. Necesito entregar el programa antes de este jueves 29 así que imaginaos como estoy. Si hoy no consigo solucionar este probema seguiré sin encriptar los datos para no perder mas tiempo. Gracias anticipadas.
:smt006
__________________
Saludos
José Antonio
| 
26-06-2005, 18:24:16
| | Moderador | | Registrado: dic 2002 Ubicación: Madrid Posts: 4.266
| | Intuyo, a pesar de no tener la certeza, que la búsqueda para auto_completar la realiza sobre el origen de datos. Si éste está encriptado creo que -si lo que propongo es cierto- nunca lo encontrará.
Me parece que adelantarás desencriptando si sabes que de esta forma funciona correctamente....
Siento no poder ser de más ayuda. | 
26-06-2005, 19:00:52
|  | Usuario VIP del Foro | | Registrado: jul 2004 Ubicación: Barcelona Posts: 658
| | Pués me has hecho polvo :smt010 .
De momento he pasado a no encriptar los datos porque necesito acabar rápido. Me supongo que la solución será desencriptar los datos a un array y cargar el combo desde dicho array :smt017 . Lo malo es que ahora ya no tengo tiempo (no he cargado nunca desde un array y no puedo hacer pruebas). Cuando pueda volveré a la carga.
Gracias por tu comentario
:smt006
__________________
Saludos
José Antonio
| 
26-06-2005, 21:33:03
|  | Administrator | | Registrado: dic 2002 Ubicación: BURGOS - ESPAÑA Posts: 5.404
| | A veces uno intenta ayudar con sandeces; pero no olvidemos que de algunas sandeces salieron descubrimientos importantes y genialidades... No es que busque consecuencias de esta categoría, sino simplemente ayudar...
¿No puedes encriptar la cadena de búsqueda y ver si así la encuentra? | 
26-06-2005, 23:07:34
|  | Usuario VIP del Foro | | Registrado: jul 2004 Ubicación: Barcelona Posts: 658
| | Hola amigo José María. Un abrazo.
Hombre, espero que lo de las sandeces no lo digas por mis respuestas(JA JA JA JA, Es broma) porque si hay alguién que no dice sandeces seguro que eres tu. :smt005
Lo siento pero cre que no puedo encriptar la cadena de búsqueda, me explicaré si soy capáz.
Un día se me ocurrió una idea, buena o mala, de hacer una dll que, entre otras cosas, hiciese una busqueda genérica. Esta dll tiene el formulario que puede hacer búsquedas por letras, por números, listas para búsqueds pequeñas etc.
La alimentación de la búsqueda está en una tabla que tiene los SELECT corespondientes, indica si hay encriptación o no, indica si buscará en un TDBCombo o en un TDBList, si la búsqueda será numérica o alfanumérica , los títulos de las búsquedas, los idiomas en que se puede poner, etc.
Si los datos están encriptados realiza una desencriptación para poder mostrar lo que hay que buscar (si hiciese la búsqueda encriptada no tendría el problema pero el usuario lo que vería serían codigos raros y no sabría que buscar (te pongo una foto de dicho formulario).
Así que vuelvo a pensar que tendré que pasar los datos a una matríz y después cargar el TDBCombo (pero el problema me vendriá después con el .net y el NO uso de matrices en TDBGrid).
Espero haberme hecho entender.
En la imágen el uso es la búsqueda de ciudades por orden alfabético (letras) o por código postal (Tecla de números) (al número que se ve al lado de las teclas no le hagas caso porque está para la comprobación de los códigos pero en el uso normal no existe)
Hay mas botones, cuando se intenta abrir un formulario, primero sales el de búsqueda para mostrar el dato pero además hay un botón de "NUEVO" para dar de alta otra ficha. Cuando se llama desde el propio formulario este botón no está porque el botón ya está en el propio formulario.
De esta manera el formulario de búsquedas me sirve para buscar cualquier cosa (si son grandes listas, como pacientes o códigos postales, se pueden elegir por letras para acotar la lista y sale un tdbcombo, cuan es una lista pequeña, como sexo o estado civil, lo que sale es un tdblist con todas las opciones y todo eso lo parametrizo en la tabla puediendo añadir búsquedas nuevas sin poner código, simplemente con los selects)
Hasta pronto y gracias. :smt006
__________________
Saludos
José Antonio
| 
27-06-2005, 00:20:10
|  | Administrator | | Registrado: dic 2002 Ubicación: BURGOS - ESPAÑA Posts: 5.404
| | Bueno, no me sorprende la respuesta... Estaba prácticamente seguro de que no iba a servirte, porque en otro caso ya lo hubieras intentado tú... Pero mira por dónde las cosas, hemos tenido oportunidad de conocer una de tus "interioridades"... que al fin y al cabo eso son nuestras DLL's...
Si te decides a usar un Combo, te aconsejo utilices la carga mediante la API SendMessage, enviándole mensajes directamente al Combo, así: Código: ' Declaraciones
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const CB_ADDSTRING = &H143
' Instrucción para sustituir al AddItem
SendMessage TuCombo.hWnd, CB_ADDSTRING, 0, ByVal ItemAIncrementar Te sorprenderá la diferencia del tiempo de carga; algo así como una cuarta parte del tiempo que tarda Visual con su TuCombo.AddItem.ItemAIncrementar. Bueno, y de paso se lo agradeces a Asdrúbal Velásquez, que es de quien lo he aprendido. | 
27-06-2005, 18:54:33
|  | Usuario VIP del Foro | | Registrado: jul 2004 Ubicación: Barcelona Posts: 658
| | Hola JOsé María, me has dejado intrigado. Creo que me has dado algo muy interesante y lo probaré, hoy no, perdóname, pero son las 20 horas y entre que ayer estaba de guardia (y fue movida) y hoy han operado a mi madre por fractura de femur no estoy en condiciones de pensar con claridad (he dormido 90' )
un abrazo
__________________
Saludos
José Antonio
| 
27-06-2005, 23:56:51
|  | Administrator | | Registrado: dic 2002 Ubicación: BURGOS - ESPAÑA Posts: 5.404
| | Ya lo siento que tus frenos hoy sean de ese tipo... A ver si esa fractura consolida pronto, y sobre todo que quede plenamente funcional. Lo demás ya terminaremos arreglándolo, aunque sea dándole vueltas a la imaginación... | 
28-06-2005, 12:51:07
|  | Usuario VIP del Foro | | Registrado: jul 2004 Ubicación: Barcelona Posts: 658
| | Muchas gracias José María. Me he conectado un momento para recibir unos documentos y aprovecho para contestar. Te envío un privado.
Y pido disculpas a todos por haber posteado algo personal pero me despisté contestando a José María.
Hasta pronto. :smt006
__________________
Saludos
José Antonio
| 
29-06-2005, 02:25:09
|  | Administrator | | Registrado: dic 2002 Ubicación: Buenos Aires - Argentina Posts: 2.281
| | Cita: |
Empezado por mensazen Hola JOsé María, me has dejado intrigado. Creo que me has dado algo muy interesante y lo probaré, hoy no, perdóname, pero son las 20 horas y entre que ayer estaba de guardia (y fue movida) y hoy han operado a mi madre por fractura de femur no estoy en condiciones de pensar con claridad (he dormido 90' )
un abrazo | Ojala que todo salga bien.
Mucha Suerte con lo de tu madre.
Saludos | | Herramientas | | | | Desplegado | Mode Lineal |
Normas de Publicación
| no Puedes crear nuevos temas no Puedes responder a temas no Puedes adjuntar archivos no Puedes editar tus mensajes Código [IMG] está habilitado Código HTML está deshabilitado | | | La franja horaria es GMT. Ahora son las 15:49:41.
Powered by vBulletin® Version 3.6.8 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design
|  |