VB 聊天机器人 VB妮克帮我看下好吗 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:59:28
想用VB写个很简单的聊天工具,但是发现如果整句都写的话首先没效率,而且聊天不容易找到句子,所以想进行关键字比较.
例如:输入 "请问你叫什么名字啊?" 而程序只要发现 你叫什么名字 就满足条件,而不必要全满足 "请问你叫什么名字啊?",
相当于百度的 搜索吧,谢谢你哦,能帮我下吗?能做上注释更好啦 谢谢你!
谢谢大家 高手能注释一下吗 我很菜 看不大懂..谢谢了!还有,一楼那个高手的答案要怎么才可以使用Select case ~~~~end select语句呢,用IF语句好象太累了,不方面增加内容,#17,还有那几个变量没看懂额,不会每个句子都需要一个变量吧.....我的意思你已经完全满足我啦,不过,我不大理解实现的原理,例如输入: 你叫什么名字 你的叫什么名字哦 都回答一句: 我叫XXX,还有,你多大,你多大啦,你多大了呀,你多大了,也都回答:我XX岁了,所以我想理解下实现原理再进行修改,谢谢~~~~麻烦了`~~
还有 JOforn 回答的,很好啊,但是我不会用- -```,那个IF语句要怎么才能和text1.text 内的内容连接上来呢,还有,能用 Select case 循环语句更好#89,请问下,如果有一个按忸Private Sub Command1_Click()
End sub,还有一个
Private Sub Text1_Change()

End Sub
用你的方法要怎么实现呢,谢谢你,不好意思哦,就是单击按钮的时候会检测text1.text内的内容是否符合,然后进行回答(用Select case 语句^^),该怎么实现,Thank you!
顺便弱弱的问一句,VB中的Select 能像C语言那样,如果Select Case 语句都没满足,则执行另一个语句,就是机器人都不能回答上,就显示:我不能回答,可以实现吗?

Option Explicit

Private Type QAType
Q As String
A As String
End Type

Private QAList() As QAType

Private Sub Command1_Click()
Dim I As Long
For I = 0 To UBound(QAList)
If InStr(Text1.Text, QAList(I).Q) Then
Text2.Text = QAList(I).A
Exit For
End If
Next I
If I > UBound(QAList) Then Text2.Text = "对不起,我不能回答你的问题。"
End Sub

Private Sub Form_Load()

ReDim QAList(6) '初始化对话内容数组,具体内容由自己的条目需要增加

QAList(0).Q = "你叫什么名字"
QAList(0).A = "我是聊天机器人。"
QAList(1).Q = "你多大"
QAList(1).A = "这是秘密,呵呵。"
QAList(2).Q = "你是谁"
QAList(2).A = "我是聊天机器人。"
QAList(3).Q = "你今年多大"
QAList(3).A = "你猜啊。"
QAList(4).Q = "你好吗"
QAList(4).A = "谢谢,我很好。"
QAList(5).Q = "你好"