Visual Basic - Duda Crear Chat Visual Basic

Life is soft - evento anual de software empresarial
 
Vista:

Duda Crear Chat Visual Basic

Publicado por Jaze (5 intervenciones) el 12/04/2009 01:35:09
Tengo este Codigo en Visual Basic 6, Lo que hace este programa es un tipo chatbot, pero mas bien con respuestas automaticas.

Ingresas "Hola" en text1 y en text2 aparece este mismo "hola", mas una respuesta como "que tal!" por ejemplo como se muestra en el codigo....

lo que quiero saber es como hacer para que me pueda responder de diferentes maneras la misma pregunta, como ejemplo pongo "hola" y me responde "hola" la primera vez y si le vuelvo poner hola que me conteste otra cosa diferente como "que tal"

Y como pasar el texto de text1 a tex2 con solo dar click en enter sin dar clicl en el boton enviar.

CODIGO:
______________________________________________________________________________________

Private Sub Command1_Click()
If Trim(Text1.Text) = "" Then Exit Sub
Agrego_Texto "Usuario", Text1.Text
Envio_Texto
Text1.Text = ""
Text1.SetFocus

End Sub

__________________________________________________________________________

Sub Agrego_Texto(QUIEN As String, TXT As String)
If Text2.Text = "" Then
Text2.Text = "<" & QUIEN & "> " & TXT
Else
Text2.Text = Text2.Text & vbCrLf & "<" & QUIEN & "> " & TXT
End If
End Sub
__________________________________________________________________________

Sub Envio_Texto()

If Text1.Text = "Hola" Then
Agrego_Texto "Ciclope", "Que tal!"
End If

If Text1.Text = "Como estas" Then
Agrego_Texto "Ciclope", "Bien!"
End If

If Text1.Text = "Quien te creo?" Then
Agrego_Texto "Ciclope", "Jaaziel Peña en un proyecto de UMM"
End If

End Sub

___________________________________________________________________
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda Crear Chat Visual Basic

Publicado por P3L30N2009 (699 intervenciones) el 12/04/2009 11:04:14
Bueno, si solamente son dos respuestas por cada pregunta, podrías hacer algo así:

Sub Envio_Texto()
Dim Respuesta As String
Select Case Text1.Text
Case "Hola"
Respuesta = IIf(InStr(Text2.Text, "<Ciclope> Hola") > 0, "Que tal!", "Hola")
Case "Como estas"
Respuesta = IIf(InStr(Text2.Text, "<Ciclope> Bien!") > 0, "Muy bien gracias!", "Bien!")
Case "Quien te creo?"
Respuesta = IIf(InStr(Text2.Text, "<Ciclope> Jaaziel Peña en un proyecto de UMM") > 0, "P3L30N haciendo pruebas", "Jaaziel Peña en un proyecto de UMM")
End Select
Agrego_Texto "Ciclope", Respuesta
End Sub

Y para ejecutarlo al pulsar Enter en el Text1, sería el mismo código que tienes en el botón, pero en el evento KeyPress del Text1:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Trim(Text1.TeXT) = "" Then Exit Sub
Agrego_Texto "Usuario", Text1.TeXT
Envio_Texto
Text1.TeXT = ""
Text1.SetFocus
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda Crear Chat Visual Basic

Publicado por Jaze (5 intervenciones) el 12/04/2009 18:07:31
Hola Gracias es bueno, no sabia que con el select case se pusiera hacer esto, pero no sabrias una forma de hacerlo como minimo 3 respuestas?' ya que esto es lo que estoy buscando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda Crear Chat Visual Basic

Publicado por P3L30N2009 (699 intervenciones) el 12/04/2009 19:09:34
Estudia el ejemplo y verás que lo puedes hacer con tres respuestas y hasta mas.

El ejemplo que te puse es sólo eso, un ejemplo. Hay muchas mas soluciones (guardar las respuestas en un vector, en una bd, en un archivo de texto, etc..)

Si esperas que te lo den todo hecho, nunca aprenderás a programar. Primero piensa (la programación es 60% de lógica y 40% de conocimientos) y despues investiga.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda Crear Chat Visual Basic

Publicado por Jaze (5 intervenciones) el 12/04/2009 20:56:53
Dim n As Integer
n = Int(Rnd * 5) + 1

Select Case UCase(Text1.Text)
Case "HOLA"
Select Case n
Case 1
Agrego_Texto "Ciclope", "Que tal!"
Case 2
Agrego_Texto "Ciclope", "Hola Hola!!"
Case 3
Agrego_Texto "Ciclope", "Buenas :)"
Case 4
Agrego_Texto "Ciclope", "Que onda"
Case 5
Agrego_Texto "Ciclope", "Hola como va"
End Select

hola esto es lo que estoy haciendo para tener una respuestas aleatoria

Pero lo unico que necesitaria saber agardeceria si me puedes ayudar es como poner
una respuesta general para todas las preguntas o palabra que no tuviera reguistra,

algo asi como no entiendo, ya que no lo he podido realizar he intendo esot y nada.:::

Dim n As Integer
n = Int(Rnd * 5) + 1

Select Case UCase(Text1.Text)
Case "HOLA"
Select Case n
Case 1
Agrego_Texto "Ciclope", "Que tal!"
Case 2
Agrego_Texto "Ciclope", "Hola Hola!!"
Case 3
Agrego_Texto "Ciclope", "Buenas :)"
Case 4
Agrego_Texto "Ciclope", "Que onda"
Case 5
Agrego_Texto "Ciclope", "Hola como va"
Case Else
Agrego_Texto "Ciclope", "No entiendo, dime algo?"
End Select

y tambien de esta forma pero no reconoce

Case ""
Select Case n
Case 6
Agrego_Texto "Ciclope", "No entiendo, dime algo?"
Case 2
Agrego_Texto "Ciclope", "Que????????"
Case 3
Agrego_Texto "Ciclope", "No me dices nada con esto"
Case 4
Agrego_Texto "Ciclope", "Vuelve a escribirlo de forma más entendible"
Case 5
Agrego_Texto "Ciclope", "mmm"
End Select

Se lo agradeceri bastante es lo que me falta hacer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda Crear Chat Visual Basic

Publicado por P3L30N2009 (699 intervenciones) el 12/04/2009 22:48:36
Lo que está claro es que no entiendes nada y tampoco quieres aprender.

¿Leiste mi post anterior?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda Crear Chat Visual Basic

Publicado por Jaze (5 intervenciones) el 13/04/2009 22:58:06
jhajhaja por que tan enojado

se me hace que no viste mi poste anterior!!!!!!!!!!!!!!

no es que no quiera aprender jahjhaa si viste mi post anterior ya lo tenia echo todo lo que necesita

pero no jalaba el else case

pero era por error de orden ya lo arregle jahjah todo enojado!!!!!11
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar