jugando con visual basic

wenas, estoy mirando de hacer un programa en visual basic con el que poder hablar, el tipico programita al que le dices "hola" y te responde, todo por teclado.

pero tengo varios problemas:

por ahora, lo hago asi: If Text1.Text = "" Then Text2.Text = ""

entre los "" se pone un texto, pero esto esta muy limitado, el que escribe tiene que escribir la frase calcada a la que tiene el programa porque sino no rula.

Otro problema es, como podria hacer que si le pregunto algo que no sabe me responda diciendo que no sabe que es lo que le pongo.

ahora una duda complicada xD, todo lo que le pongo y que no sabe, se le podria decir que lo ponga en un archivo de .TXT y que en el futuro el programate pregunte sobre esos temas?
en fin te comento que podrias hacer para que quede lo mejor posible.

la estructura principal que utilizas es

IF Condicion THEN Ejecuta.

Puedes encadenar distintos casos de la forma siguiente:

IF Condicion1 THEN
Ejecuta1
ELSE IF Conficion2 THEN
Ejecuta2
ELSE IF Conficion3 THEN
Ejecuta3
ELSE
Ejecuta4 ( resto de casos)

de todas formas te recomiendo que te pilles un buen manual en internet o un libro. Los manuaales de Anaya estan bien y valen sobre 12€. Para mas consultas mandame un mp y te ayudaria en lo que pudiera.


P.d: te recomendaria la web http://www.lawebdelprogramador.com y en el foro de visual basic encontraras mucha información.
La burrada de IFs la puedes cambiar por un SELECT CASE.
Seria algo asi:
SELECT CASE Texto
___CASE "Hola":
______MSGBOX "Bienvenido"
______......
___CASE "Adios":
______MSGBOx "Hasta pronto"
______......
___CASE ELSE:
______MSGBOX "No entiendo tu pregunta"
______GuardarPreguntaEnArchivo "Preguntas.txt"
END SELECT

Para normalizarlo, pasa el texto que introduces a mayusculas o minusculas, asi el CASE "Hola" seria CASE "HOLA" y siempre se cumpliria la condicion.

Una funcion que te va ha ser interesante es INSTR, vale para buscar cadenas de texto dentro de otra cadena de texto y devuelve la posicion donde se encontro.

Si vas ha hacer que el programa responda a bastantes preguntas, olvidate de los IFs y CASEs y pasa a una base de datos donde almacenar preguntas y respuestas.

Saludos
Je, yo tambien intente programar una "IA" cuando me inicie con el VB :)

Lo que yo hice fue hacerme una funcion que separara las frases que escribiese el usuario en palabras, de forma que si identificaba alguna pudiera responder con algo relacionado.
3 respuestas