Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: BenRu en 19 Junio 2005, 00:59 am



Título: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 19 Junio 2005, 00:59 am
Hola...me estoy leyendo un tutorial de visual basic pero tengo una duda, imaginaros que tengo una ventana de Chat, y tu ablas con la maquina.
Al poner tu "por ejemplo;Hola", el pc lo reconoce y te dice Hola, si tu le dice quien eres, el te responde que es El pc..x ejemplo..
Esto como se guardaria?En variables o como?

Pd1:Ya se que tendrian que ser los mensajes que tu le envias bien dichos "como lo as programado".

Pd2:Ya me estoy leyendo el tuto de visual basic.  :P


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: goodbye en 20 Junio 2005, 14:21 pm
Vas a necesitar aparte de variables, bases de datos.

Tu hilo está relacionado con la inteligencia artificial.
Me hiciste recordar un programa llamado Dr.Abuse, y te lo puedes descargar de este link:
http://descargas.entrebits.com/d1/1900/1875/2218/drabuse.zip


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 20 Junio 2005, 19:39 pm
Ya se que necesitaria muchas cosas...lo que me has dicho no me ayuda mucho...pero Gracias  :P, el programa ese esta muy bien!

Se que hay gente que sabe mucho de VB en este foro...nadie me puede echar un cable¿


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Slasher-K en 21 Junio 2005, 00:17 am
Si querés respuestas concretas redacta con propiedad, sinceramente no entendi la duda que tenés.

Saludos.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: FeNiX29 en 21 Junio 2005, 00:24 am
creo q te tendrias q bajar el programa de microsoft visual basic 6 bajatelo por emule o otro p2p


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 21 Junio 2005, 19:47 pm
Ya tengo el visual basic desde hace tiempo.

Y por Dunklerstern, lo siento, pero esque la pregunta es algo dificil de explicar.
Queria crear inteligencia artificial a traves de visual basic, pero el problema esque no se como.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: goodbye en 22 Junio 2005, 01:22 am
Lo que quisieras hacer es algo bien dificil..
Pero primero se más explicito con tus ideas.
1) Una cosa es que no sepas como programar en algun lenguaje, por ejemplo VB.
2) Otra que tengas realmente un algoritmo de como funcionaria la inteligencia artificial.
Porque crear frases y respuestas programadas no seria ningun sistema inteligente. Pero bueno si lo que quieres es simular algo imaginariamente parecido. Puedes guardar los logs de muchas conversaciones de chat y luego usarlos en tu aplicacion como repertorio para la conversacion entre tu y la maquina. Crearias un mecanismo de busqueda para leer en los archivos y buscar dentro de las conversaciones grabadas las repuestas a las sentencias mas parecidas a lo formulado por ti; otra cosa bien distinta seria que tuvieran coherencia con el tema que irias desarrollando en la conversacion con tu sistema.
En fin, antes de escribir una sola linea de codigo en cualquier lenguaje debes tener ya el algoritmo de tu programa; como piensas que deberia funcionar.
Ahora bien si tienes tu algoritmo, entonces exponlo completamente. Llevarlo a VB o a cualquier otro lenguaje no es mas que una traducción para que la computadora le entienda y le de vida.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 22 Junio 2005, 19:38 pm
Ya se que es algo bastante complicado y mis conocimientos de visual basic son bajisimos...de echo, nunca he creado ningun programa con algoritmos (keygen..etc.)
Ya se que no iba a poder programar I.A, pero queria simular un prototipo algo parecido


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: goodbye en 22 Junio 2005, 21:26 pm
No te desanimes!!
Ya dijo Albert Einstein que la imaginacion era tan importante o más que el conocimiento.
Cuenta con mi modesta ayuda!! ;D


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 22 Junio 2005, 21:33 pm
programar inteligencia artificial no es nada facil, sin embargo con ayuda y algo de sacrificio cualquier proyecto sale adelante, ademas visual basic es un lenguaje bastante facil de entender, por lo que la programacion de este tipo de programas deberia resultar algo mas flexible, por lo que me he podido dar cuenta lo que ti quieres hacer es una especie de robot ,que uno le pregunte una cosa y el responde ,por cierto que he visto este tipo de programa, y ademas justamente programados en visual basic, es cosa de buscar en internet ,,google.....y talvez se encuentren las fuentes de los programas con lo cual ya tendras una idea de como poder empezar a currarte tu propio robot....

Suerte.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 23 Junio 2005, 19:33 pm
Gracias, de hecho mas o menos se puede "entablar" una conversacion con el, pero me falta detalles como; que cada pregunta tenga varias respuestas diferentes, no solo una. Cuando pregunta algo que no este en la bd, pueda decir una cosa al "voleo",etc.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 23 Junio 2005, 21:32 pm
es cosa de ir programando los algoritmos.  con respecto a eso de frases al voleo, creo que podrias configurarlo paras que digiera una pregunta o respuesta universal, depende del caso..que le quedase a cualquier pregunta ....o respuesta....


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 23 Junio 2005, 22:09 pm
es cosa de ir programando los algoritmos.  con respecto a eso de frases al voleo, creo que podrias configurarlo paras que digiera una pregunta o respuesta universal, depende del caso..que le quedase a cualquier pregunta ....o respuesta....

El problema esque nunca he programado algoritmos.
El problema que tiene las frases esas ya predeterminadas esque si te pregunta siempre Hola, siempre saldra la misma contestacion que tu tienes puesto...Estoy utilizando este codigo.

Código:
If InStr(Text1, "Hola") Then
Text1 = ""
Text2 = Text2 & R2 & vbCrLf & "<< R2 >> Hola,¿que tal?" & vbCrLf
End If

No se como podria ponerle para que una vez dijera "Hola, ¿que tal? y otra vez Hola a secas...y asi sucesivamente


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 23 Junio 2005, 22:13 pm
pues depende del contexto,, pues si recien empieza la conversacion ..el robot diria . hola que tal??,, puesto que recien se estan conociendo....el otro hola..lo tendrias,,,que dajar para una pregunta ,,como
hola?
hola
HOLA....etc...
 ::)


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 23 Junio 2005, 22:51 pm
Que va...ya lo probe  ;D

Si tu pones Hola, Holas, Hola!, siempre te lo reconocera como Hola...
La verdad esque es una putada...


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 23 Junio 2005, 22:56 pm
jajajajajaj.. puede ser.. pero por lo menos hay que intentar  ,probar...y volver a probar..que de eso se trata la programacion, hasta que las cosas salgan como queremos que salgann...


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 03:34 am
Bueno...alguien me podria ayudar con lo que dije?El que cada vez diera un mensaje distinto, partiendo de este codigo...


 
Código:
If InStr(Text1, "Hola") Then
Text1 = ""
Text2 = Text2 & R2 & vbCrLf & "<< R2 >> Hola,¿que tal?" & vbCrLf
End If

Gracias


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 03:37 am
mensajes distintos como cuales-..... ???


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 04:13 am
Que al poner tu Hola, no siempre te conteste Hola,¿que tal?, "como esta puesto en ese codigo", que tuviera mas opciones para poder contestar.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 04:20 am
ami se me ocurre una idea...luego de comprobar que el usuario saluda al robot.. deberias poner por ejemplo varias rutinas de saludo a parte de hola que tal.. como hola. que tal como vas...que tal.....hola bievenido .....e.tc...etcd..el saludo que se te ocurra que pueda contestar...pero que estos apunten a variables...luego se realiza un random...y se seleciona una cadena al azar de entre las posibilidades...creo que es bien facil llevarlo a codigo yo solo te planteo la idea que se me ocurrio..y de esta manera el propio programa elige de que manera responder...eligiendo un saludo aleatorio de los que tu le pondrias...
que dices??...se entiende la idea??...es bien facil programar eso..


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 04:30 am
Ya, tengo hecho eso, varias formas de saludos, y cada una te responde una cosa distinta...
Pero se que se puede hacer lo que yo dije...no se si sera con un else o algo asi, pero a mi no me funciono


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Slasher-K en 24 Junio 2005, 05:04 am
Podrías usar un número para representar a cada respuesta y luego generar un nº aleatorio utilizando la función Rnd para obtener una de las respuestas.

Saludos.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 05:21 am
Amm...pues seria buena idea...lo que pasa esque seria una programacion algo reliosa...

Código:
Private Sub Command1_Click()
Dim Num As Byte
    Num = Int(6 - 1) * Rnd + 0
    Text1.Text = Num
End Sub

Aqui tendria ya 5 numeros posibles, ahora lo dificil seria representa cada respuesta a un numero


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Slasher-K en 24 Junio 2005, 06:20 am
Podrían ser por ejemplo los índices de registros en una base de datos, o identificadores de recursos.

Saludos.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Crack_X en 24 Junio 2005, 06:45 am
Lo mas dificil de I.A. es representar emociones. Deberias tener una variable representando su nivel de emocion (triste-alegre-guap@).

Puedes poner que dependiendo de que esten hablando y de como va el trato (palabras groseras , etc.) vaya subiendo o disminuyendo el nivel.

Es mucha creatividad , mientra mas pues mejor  ;)


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 18:10 pm
Pues la idea mia era justamente lo que luego dijo Dunklerstern.

Escoger un saludo aleatorio...con respecto a los else .que dices..podria servir en el caso que la entrada no fuera hola. .si no buenos dias. o algo por el estilo....
con lo cual ,tambien ,tendriamos una rutina aleatoria para seleccionar la respuesta.. y dentro de esta podriamos volver a hacer comprobaciones haciendola aun un poco mas compleja , haciendo que el robot responda mas o menos de una forma inteligente, haciendo una serie de comprobaciones dentro de las frases que son entradas...y como decia Crack_X ir . ir detectando el nivel de la conversacion...dependiendo de las frases que son entradas por el usuario.. con la que el robot podrian decidir por comenzar a responder con tal o cual tema..

Por cierto un a vez , vi en uno de estos programas, que si le deciamos groserias. o cosas por el estilo.. respondia ,diciendo

si vuelves a insultarme. me voy..

si la respuesta que le daba el usuario en este caso yo..era otra groseria..el programa .se cerraba. lo que me parecia ingenioso..esto msimo estaba programado en visual basic.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Crack_X en 24 Junio 2005, 18:12 pm
Y si te repite algo 2 o 3 veces le respondes: "No estoy cieg@ , se leer."  :P


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 18:16 pm
Jajajaja yo tengo muchisiiiiisima imaginacion, todo lo que hablan se me habia ya ocurrido...lo malo es la programacion...que es bastante dificil...y me gustaria mas bien ir paso a paso, haciendo primero lo que dijo slasher keeper...a traves de numeros aleatorios...lo que pasa esque no se el como hacerlo


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 18:22 pm
yo podria darte una especie de pseudocodigo a la rutina aleatoria..
Código:
int Num
a$="hola que tal"
b$="hola como estas"
c$="que tal .,...como te llamas"

input "hola"; h$
if Instr("hola",h$);
Num = Int(3 - 1) * Rnd + 0
if Num=1 print a$
if Num=2 print b$
if Num=3 print c$
esto no esta bien elaborado pero creo que halgo se te ocurrira.,.,o por lo menos se te creara una idea mas o menos de como programar lo que te decia..puesto que el pseudocodigo que cree ,es bien pàrecido al visual basic


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Crack_X en 24 Junio 2005, 18:31 pm
Utiliza "Select Case" y por que le sumas 0 si eso no cambiara el resultado ? :S


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 18:38 pm
solo lo escribi tal y cual a la rutina para seleccionar el valor igual como lo tenia BenRu....para que le fuese mas entendible..
por otra parte tienes mucha razon .con el Select Case. puesto que de esta manera se evita los usos de if..que a la larga ,hace el codigo mas engorroso. y para este tipo de programas donde existen gran cantidad de comprobaciones es mejor utilizar ese tipo de estructura


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 19:17 pm
Bueno...lo malo esque ya tengo un pedazo de codigo con el if...y el cambiarlo seria un Mega-Coñazo....porque seria tirar a la papelera todo el trabajo...lo que me gustaria es, en todo caso, "aunque es un coñazo", ir añadiendo las funciones o acomplarlas a lo que ya llevo echo...aunque seguiria siendo algo trabajoso


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Ironhorse en 24 Junio 2005, 21:42 pm
Citar
Jajajaja yo tengo muchisiiiiisima imaginacion, todo lo que hablan se me habia ya ocurrido...lo malo es la programacion...que es bastante dificil...y me gustaria mas bien ir paso a paso, haciendo primero lo que dijo slasher keeper...a traves de numeros aleatorios...lo que pasa esque no se el como hacerlo

Si, a mi también se me ocurre pintar un cuadro, algo como 'La Gioconda', pero no se ni coño de pintura, como hago, me pueden ayudar!!!...
Está barbaro que tengas la imaginación y la intención de hacer algo, es el motor que te impulsa a hacer cosas, pero creo que no debes pretender que te enseñen VB desde cero en un foro para llevarlas a cabo.

Saludos!!!


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 21:50 pm
y esto a pito de que viene.. ??? ???


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 22:12 pm
A que te refieres Ironhorse?

Siguiendo con el tema...alguien me puede ayudar con lo de los numeros aleatorios?


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 22:14 pm
que es lo que no te queda claro con respecto a los numeros aleatorios. que no sabes como crearlos dentro de un rango?? es eso-...o otra cosa..


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 22:22 pm
Si se crearlos dentro de un rango  ???

De echo e puesto el codigo hay...lo que no se es dar a "Hola" valor 1, y valor 1 sea igual a "Hola que tal", y que funcione con los numeros aleatorios


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: goodbye en 24 Junio 2005, 22:31 pm
Pues para lograr una cierta flexibilidad a la hora de responder pudieras escoger al azar entre varios saludos preprogramados aleatoriamente.

Código:
Dim i
randomize
i = int((rnd*3)+1)
if text1 = "hola" then
 Select case i
     case 1
          print "hola"
     case 2
          print "que tal"
     case 3
         print "hola, que como te va?"
  End select
End if


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 22:33 pm
claro,, es eso...no se cual es la parte que no entiendes...


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: {_The_Alwar_} en 24 Junio 2005, 22:37 pm
viendo lo que quieres hacer, a mi me parece imposible que la maquina te responda, pero tambien se me ocurren ideas, y me gusta tu proyecto, no me inportaria ayudarte, pero yo pienso, que primero, deberias hacer una biblioteca/base de datos  de frases pequeñas, y luego hacer un algoritmo que las dijera dependiendo de la situacion.... primero te recomiendo que hagas algo basico, y luego lo vallas ampliando... porque este es muy chungo, y es inposible hacer que una maquina actue como una persona, no lo digo por desanimarte, es que no creo en la IA...


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: goodbye en 24 Junio 2005, 22:41 pm
Usa un repertorio de forma aleatoria, si caben varias respuestas. Es lo que quieres darle más flexibilidad.
Atendendiendo al valor numérico que tome un variable mediante la función random (rnd)
Código:
dim i
i = int((rnd*3) +1)
if text1 = "hola" then
   select case i
        case 1
             print "que tal"
        case 2
             print "como está?"
        case 3
             print "hola, que tal"
    end select
end if
 


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 22:44 pm
Bueno amigo ese es tu punto de vista ,lo que no quiere decir que sea el correcto o el verdadero,  hay algunos que creemos que la programacion de inteligencia artificial aunque nuca podria ser como humano ,por los sentimientos, pensamientos y demaces. simular o tratar. de parecerseles lo mas posible.. con respecto a lo que recomiendas para contruir el robot ,estoy de acuerdo contigo..
Lo que si la maquina es imposible que responda.. ???, por que imposible....?


PD: basta con postear el codigo una sola vez..
no le veo sentido el postearlo 2 veces..


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: {_The_Alwar_} en 24 Junio 2005, 22:51 pm
que responda es posible, que responda bien el 50% de las preguntas tambien, pero no el 100% de las preguntas


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 22:54 pm
Al 100% es imposible...

El codigo esa que as puesto no encuentro la manera para que los resultados se queden en text2...salen como si fuera print...(en medio del form)


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 22:56 pm
pero eso se cambia agregandole

nombretext.text="hola que tal"

o como se llame el text en cuestion.. sea el text1 o text2..es cosa tuya

es decir no tienes que hacer el copy paste tal ycual si no que tines quie ir viendo donde quieres los resultados ,.,la funciohn print.. imprime en el form.. por eso, no te sale en el text.--que tu quieres..


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 22:59 pm
Pero donde lo añado?Lo añado a algunos sitios y da error...

Y como tu as puesto, siempre diria Hola que tal y no la otras opciones


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 24 Junio 2005, 23:02 pm
veo que quieres que te den todo en bandeja no entiedes con los ejemplos ...or que no posteas el codigo..y vemos en que falla...ademas eso de la cadena se le pueden agregar mas o menos ,eso no importa,.,solo era a modo de ejemplo...
Postea el codigo. y pregunta cual es el problema


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: goodbye en 24 Junio 2005, 23:09 pm
Lo que te puse fue, valga la redundancia, un ejemplo del método aleatorio que usarías para generar varias frases hechas.
Después tu lo adaptas a tu code.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 24 Junio 2005, 23:18 pm
Ya lo se..lo que pasa esque debo de borrar el codigo que llevo...si lo quiero hacer de nuevo...o borrar solo partes...y me queria asegurar antes de cambiarlo...ya que antes de todo me gustaria tenerlo todo bien y seguro, ya que por ejemplo, tambien me gustaria que mi mensaje tambien saliera en la misma pantalla que la contestacion, como si fuera un chat tipo msn


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: {_The_Alwar_} en 25 Junio 2005, 00:24 am
Código:
Dim Lai As Integer


Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = "13" Then
Res "Hola"
End If
End Sub

Public Sub Res(mensaje As String)
Randomize
Lai = Rnd * 10
If mensaje = "Hola" Then
Select Case Lai
Case "1"
Text2.Text = Text2.Text & vbCrLf & "Hola que te cuentas?"
Case "2"
Text2.Text = Text2.Text & vbCrLf & "Hola"
Case "2"
Text2.Text = Text2.Text & vbCrLf & "Hola, hoy no tengo ganas de hablar"
Case "3"
Text2.Text = Text2.Text & vbCrLf & "Hola, uff que dia llevo"
Case "4"
Text2.Text = Text2.Text & vbCrLf & "Hola, como te va?"
Case "5"
Text2.Text = Text2.Text & vbCrLf & "Hola, que pasa!?"
Case "6"
Text2.Text = Text2.Text & vbCrLf & "Hola, toy ocupado luego hablamos"
Case "7"
Text2.Text = Text2.Text & vbCrLf & "Hola, que pasa neng!"
Case "8"
Text2.Text = Text2.Text & vbCrLf & "Adios"
Case "9"
Text2.Text = Text2.Text & vbCrLf & "Toy cansado me voy ya"
Case "10"
Text2.Text = Text2.Text & vbCrLf & "No quiero hablar con tigo"
End Select
End If
End Sub
Se necesitan dos text box, text1 es para escibir, con multiline a false, y text2 para ver las respuestas, multiline a true en este


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 25 Junio 2005, 01:07 am
Abria alguna forma de que esto;

Código:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = "13" Then
Res "Hola"
End If
End Sub

Pudiera abarcar todas las preguntas?


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: {_The_Alwar_} en 25 Junio 2005, 01:14 am
Código:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = "13" Then
Res "Hola"
Res "q2"
res "q3"
....
End If
End Sub

no?


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 25 Junio 2005, 01:21 am
Esa seria la manera mas facil...pero si la mas larga....ya que tendrias que ir poniendo uno por uno...y cuando tienes mas 100.... ::)
No ai otra forma¿?


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Pseudoroot en 25 Junio 2005, 02:48 am
i que quieres?.. que te den todo el robot hecho en una linea?...




Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 25 Junio 2005, 04:26 am
i que quieres?.. que te den todo el robot hecho en una linea?...


No, pero supongo que tendra que aver algun metodo para abreviar


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: {_The_Alwar_} en 25 Junio 2005, 22:34 pm
Como no lo metas en una dll o algo asi, y lo llames desde visual, me da a mi que vas a tener que escribir mucho....


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: Slasher-K en 26 Junio 2005, 01:03 am
i que quieres?.. que te den todo el robot hecho en una linea?...


No, pero supongo que tendra que aver algun metodo para abreviar

Insisto que crear un archivo de recursos y utilizar los Id para obtener los datos es una buena opción.

Por ejemplo vamos a suponer que desde el Id 100 al id 110 son saludos, y del 105 a 110 son saludos con un estado de ánimo deprimido. Entonces creamos las siguientes constantes:

Código:
Const MSG_GREET_BASE = 100  'Es el id base de los saludos.
Const MSG_GREET_CNT = 10  'Cantidad de saludos.
Const MSG_GREET_STATE1_BASE = 5  'Id base relativo a MSG_GREET_BASE de los saludos con el estado de ánimo 1 (supongamos que es deprimido)

Const ACTION_GREETINGS = 1  'Acción de saludar.

Const BOT_STATE_DEP = 1     'Estado deprimido.
Const BOT_STATE_HAPPY = 2   'Estado feliz.
Const BOT_STATE_ANGRY = 3   'Estado enojado.
Const BOT_STATE_NORMAL = 4  'Sin emociones :P

Luego se crea un procedimiento que reconozca todas las acciones y que la ejecute:

Código:

Private iCurState As Integer  'Variable de estado.

Private Sub PerformAction(Action as Integer)
  Select Case Action
    Case ACTION_GREETINGS
   
  End Select
End Sub

Function GetGreet(State As Integer) As String
           Dim iItem%, sMsg$

  Select Case State
    Case BOT_STATE_DEP: iItem = (MSG_GREET_BASE + MSG_GREET_STATE1_BASE) + _
                                (Rnd * (MSG_GREET_CNT - MSG_GREET_STATE1_BASE))
    Case BOT_STATE_NORMAL: iItem = (MSG_GREET_BASE + (Rnd * MSG_GREET_STATE1_BASE))
  End Select

  sMsg = LoadResString(iItem)

  GetGreet = sMsg
End Sub


Sólo es una idea, hay muchas formas más de hacerlo.

Saludos.


Título: Re: Al meter una secuencia de comandos el pc te responde con otra...Como?
Publicado por: BenRu en 27 Junio 2005, 22:21 pm
Slasher seria una buena idea, buenisima...pero aun no tengo tanto nivel para hacer tantas cosillas...cuando lo termine generare el exe y cuando aprenda algo mas seguire con el proyecto para hacer otra version mas adelantada....

Saludos y Muchassss Gracias por vuestra ayuda  :P