![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Hola ninguno.
Gracias por tu ayuda. En verdad lo he probado y tu código funciona perfectamente. El problema es que ahora ya estoy trabajando con 4 tablas. El asunto del Memo tiene que salir siempre la palabra o frase que introduzca el usuario y la respuesta que encuentre en la tabla 2 o en la 4. Esto es: frase y respuesta. Si has seguido el hilo verás que lo que estoy intentando es crear un programa de IA, na especie de Chattbot. La mejor referencia que tengo es de un programa llamado Zebal que se escribió en Clipper. No hay código fuente, pero si las BD y tablas que utilizaba. Es muy curioso el funcionamiento que se descubre al analizar las tablas. Si le entras por ejemplo la frase 'estoy frito', te contesta 'que se siente al estar frito' o bien 'dime como es estar frito'. Como verás al detectar la palabra 'estoy' busca en las tablas y si la encuentra contesta con una de las frases vinculadas 'que se siente al estar' o 'dime como es estar' añadiéndole la palabra frito. Como verás todo un lío. Ademas hay palabras o frases con una número de clave en la tabla1 que se vinculan en la tabla2 con dicho número de clave, pero que a veces existe 5 o 6 veces. Es decir escoge la respuesta entre ellas ara que no sea siempre la misma. Bueno además tiene otras lindezas, como preguntar el nombre del usuario, guardarlo y si vuelves a "charlar" al cabo de 3 meses, te dice qye cuanto tiempo sin hablar contigo. Bueno, no te canso más. Veremos como salgo de ésta. Saludos. Manuel Reixach |
|
#2
|
|||
|
|||
|
Hola Abuelo7
Me alegra que te funcionara ![]() Lo de 2 o 4 tablas es lo de menos, la idea al momento de realizar el if sería la misma ![]() Con respecto a lo del memo, puedes hacer algo así
pero tienes que tener en cuenta la posibilidad (aunque sea remota) de que el resultado de la búsqueda no retorno resultado alguno y, en esa situación, retornar algún tipo de respuesta estándar como "no entiendo la palabra X, podría explicármelo de otra forma", algo así
El ejemplo es con las 2 tablas, tendrías que adaptarlo a las 4 que uses ahora claro ![]() |
|
#3
|
|||
|
|||
|
Hola ninguno.
Tu código ha funcionado perfectamente. Ya estoy trabajando con las 4 tablas, sin ningún problema. También he adicionado, en caso de que no encuentre la palabra o frase, el mensaje 'no encuentro lo que me dice, podría definirlo mejor?.Gracias'. Voy a estar una semana de vacaciones. De todas formas te comento lo siguiente por si me puedes dar una ayuda. 1.- Quisiera grabar la conversación en una tabla o fichero de texto, según veas mejor. 2.- Como debo hacerlo para que al detectar una palabra que no entiende, dentro de una frase, la guarde para añadirla en la respuesta. Ejemplo: 'estoy frito'. Hay una frase de respuesta vinculada a 'estoy' que es 'que se siente al estar' y a eso se le ha de añadir 'frito'. Perdona si estoy abusando mucho de tu amabilidad. Muchas gracias y un cordial saludo. Manuel Reixach P.D. Desde el lugar de vacaciones iré dando un vistazo por el Foro. |
|
#4
|
|||
|
|||
|
Hola Abuelo7
Cita:
Cita:
PD: felices vacaciones |
|
#5
|
|||
|
|||
|
Hola inguno.
El tema de grabación quisiera poder utilizarlo después en futuras conversaciones, por ejemplo recordar nombre de usuario, fecha y demás. En cuanto al asunto de la respuesta, se trata de lo siguiente: Parte de lo contenido en el Edit1.Text y que no encuentra, hay que añadirlo al final de la Respuesta que sí ha encontrado. Es el caso de 'estoy frito'. Encuentra la respuesta a 'estoy' = 'que se siente al estar' Le añade 'frito' Y la respuesta queda así: 'que se siente al estar frito'. Gracias amigo. Manuel |
|
#6
|
|||
|
|||
|
Hola
Cita:
Cita:
|
|
#7
|
|||
|
|||
|
Hola amigo ninguno.
De acuerdo en lo de utilizar una base de datos con una tabla para almacenar los datos que puedan ser utilizados despues en conversaciones. En los demas segun he podido averiguar al analizar las tablas, funciona de la siguiente manera. En principio hay 4 tablas. 2 que contienen frases que puede introducir posiblemente el usuario. y 2 que contestan a esas frases. Lo que ocurre, creo yo, es que primero busca la frase entera introducida, si no la encuentra, entonces separa las palabras de la frase y busca esas palabras una por una. Ese es el caso de -estoy frito-, no encuentra la frase, pero luego al separar por palabras encuentra -estoy-, aplica la respuesta que tiene, en este caso -que se siente al estar- y le adjunta la palabra no encontrada, -frito-, con lo cual queda la respuesta completa, -que se siente al estar frito-. Como veras un poco liado. Gracias amigo. Manuel. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| consulta a un query en vez de a una tabla | eldiegofg | SQL | 10 | 19-09-2007 12:46:39 |
| Consulta Estado de una Tabla SQL | Alejandro73 | SQL | 2 | 24-06-2007 00:03:00 |
| Crear tabla en una BD en Server A desde consulta en tabla B en server B | joaquinalberto | MySQL | 1 | 18-05-2007 10:39:27 |
| Grabar Consulta en Tabla | don malo | Varios | 1 | 12-03-2007 23:45:59 |
| Actualizar una tabla con una consulta de otra tabla | JODELSA | SQL | 2 | 14-09-2006 04:07:01 |
|