VB单击命令按钮,则文本框(text1)的英文句子按单词分解到列表框(list1),帮帮忙把代码补全(问号处)

Private Sub Command1_Click()
Dim S1 As String, S2 As String
Dim I1 As Integer
' S1 = ?
I1 = 1
Do
' Do While Mid(S1, I1, 1) <> ? And I1 <= Len(S1)
S2 = S2 & Mid(S1, I1, 1)
I1 = I1 + 1
Loop
' List1.AddItem ?
' S2 = ?
I1 = I1 + 1
Loop While I1 <= Len(S1)
End Sub

S1 = Text1.Text '文本
Do While Mid(S1, I1, 1) <> Chr(32) 'Chr(32)是空格 也可用" "代替(注意引号之间有空格)
List1.AddItem S2
S2 = ""
测试过了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-17
英文的句子是以空格来区分的,你只要将文本框里的内容,用splite 拆成数组,然后加到listbox 就可以了追问

这是我们上机试题,就要你把?问号改成正确的代码,然后把注释符去掉。代码已经写出来了,有4个问号

追答

Private Sub Command1_Click()
Dim S1 As String, S2 As String
Dim I1 As Integer
S1 = Me.Text1.Text
I1 = 1
Do
Do While Mid(S1, I1, 1) " " And I1 <= Len(S1)
S2 = S2 & Mid(S1, I1, 1)
I1 = I1 + 1
Loop
List1.AddItem S2
S2 = ""
I1 = I1 + 1
Loop While I1 <= Len(S1)
End Sub

在 text1 输入 ths is a test 按钮后 list1 里是
this
is
a
test

追问

嘿嘿,虽然已经自己探索出来了,但还会采取你的答案
为什么s1=Me.Text1.Text? 不可以是s1=Text1.Text?这个Me,我们真没学过

追答

me 就是一个特殊的关键字,不加me 也可以, 我习惯用me 因为再打上me. 后就会出现提示. me 就好像C# 里的this ,代表当前这个窗体. 在form1 里输入 me. 和form1. 是一个效果 在form2 里输入 me. 和form2. 是一个效果,希望你能明白

本回答被提问者采纳
第2个回答  2011-06-17
Private Sub Command1_Click()
Dim S1 As String, S2 As String
Dim I1 As Integer
S1 = Me.Text1.Text '-------
I1 = 1
Do
Do While Mid(S1, I1, 1) <> " " And I1 <= Len(S1) '这里是空格
S2 = S2 & Mid(S1, I1, 1)
I1 = I1 + 1
Loop
List1.AddItem S2'------------
S2 = "" '这里是空
I1 = I1 + 1
Loop While I1 <= Len(S1)

End Sub
第3个回答  2011-06-17
分别如下填写
S1=TEXT1.TEXT
MID(S1,I1,1)<>" "
LIST1.ADDITEM S2
S2=""