提取分割textbox中指定内容
窗体中有text1,text2,text3,text4,text5,text6,Command1 五个控件text4中有内容如下:
姓名 王小虎
语文 80
数学 80
英语 80
总分 240分
平均分 80分
姓名 林小冰
语文 80
数学 80
英语 80
总分 240分
平均分 80分
姓名 陈小明
语文 90
数学 90
英语 90
总分 270分
平均分 90分
姓名 杨小东
语文 70
数学 70
英语 70
总分 210分
平均分 70分
姓名 方小琪
语文 80
数学 80
英语 80
总分 240分
平均分 80分
在text1,text2,text3输入以下内容时
text1中输入:总分 240分 (当按下铵钮时提取text4中所有 "总分 240分"这一行)
text2中输入:4 (提取text4中所有 "总分 240分" 向上四行)
text3中输入:2 (提取text4中所有 "总分 240分" 向下二行)
点击Command1时把text4的内容按text1,text2,text3的条件分割到text5,text6中
即 text5 应显示如下内容:
姓名 王小虎
语文 80
数学 80
英语 80
总分 240分
平均分 80分
姓名 林小冰
语文 80
数学 80
英语 80
总分 240分
平均分 80分
姓名 方小琪
语文 80
数学 80
英语 80
总分 240分
平均分 80分
text6 应显示如下内容:
姓名 陈小明
语文 90
数学 90
英语 90
总分 270分
平均分 90分
姓名 杨小东
语文 70
数学 70
英语 70
总分 210分
平均分 70分
--------------------编程问答-------------------- --------------------编程问答-------------------- 建议将内容提取出来,放到二维数组中,然后再对数组按你的逻辑进行循环判断 --------------------编程问答-------------------- 没明白这个向上向下是啥意思:
text2中输入:4 (提取text4中所有 "总分 240分" 向上四行)
text3中输入:2 (提取text4中所有 "总分 240分" 向下二行) --------------------编程问答--------------------
--------------------编程问答-------------------- Private Sub Form_Load()
Private Sub Command1_Click()
If Text1 = "总分 240分" Then
Dim tmp As String
tmp = Text1: Text1 = ""
Dim i As Integer
For i = 0 To UBound(Split(Text4, vbNewLine))
If Split(Text4, vbNewLine)(i) = tmp Then
Text1 = Text1 & tmp & vbNewLine
End If
Next
End If
Dim j As Integer
If Val(Text2) = 4 Then
Text2 = ""
For i = 0 To UBound(Split(Text4, vbNewLine))
If Split(Text4, vbNewLine)(i) = tmp Then
For j = i - 4 To i - 1
Text2 = Text2 & Split(Text4, vbNewLine)(j) & vbNewLine
Next
End If
Next
End If
If Val(Text3) = 2 Then
Text3 = ""
For i = 0 To UBound(Split(Text4, vbNewLine))
If Split(Text4, vbNewLine)(i) = tmp Then
For j = i + 1 To i + 2
Text3 = Text3 & Split(Text4, vbNewLine)(j) & vbNewLine
Next
End If
Next
End If
Text5 = "": Text6 = ""
For i = 0 To UBound(Split(Text4, vbNewLine))
If Split(Text4, vbNewLine)(i) = tmp Then
For j = i - 4 To i + 2
Text5 = Text5 & Split(Text4, vbNewLine)(j) & vbNewLine
Next
ElseIf InStr(Split(Text4, vbNewLine)(i), "总分") Then
For j = i - 4 To i + 2
Text6 = Text6 & Split(Text4, vbNewLine)(j) & vbNewLine
Next
End If
Next
End Sub
Private Sub Form_Load()
Text4 = "姓名 王小虎" & vbNewLine & "语文 80" & vbNewLine & _
"数学 80" & vbNewLine & "英语 80" & vbNewLine & _
"总分 240分" & vbNewLine & "平均分 80分" & vbNewLine & _
"" & vbNewLine & "姓名 林小冰" & vbNewLine & _
"语文 80" & vbNewLine & "数学 80" & vbNewLine & _
"英语 80" & vbNewLine & "总分 240分" & vbNewLine & _
"平均分 80分" & vbNewLine & vbNewLine & _
"姓名 陈小明" & vbNewLine & "语文 90" & vbNewLine & _
"数学 90" & vbNewLine & "英语 90" & vbNewLine & _
"总分 270分" & vbNewLine & "平均分 90分" & vbNewLine & _
vbNewLine & "姓名 杨小东" & vbNewLine & _
"语文 70" & vbNewLine & "数学 70" & vbNewLine & _
"英语 70" & vbNewLine & "总分 210分" & vbNewLine & _
"平均分 70分" & vbNewLine & vbNewLine & _
"姓名 方小琪" & vbNewLine & "语文 80" & vbNewLine & _
"数学 80" & vbNewLine & "英语 80" & vbNewLine & _
"总分 240分" & vbNewLine & "平均分 80分" & vbNewLine
Text1 = "总分 240分"
Text2 = 4
Text3 = 2
End Sub
Me.Text1 = "姓名 王小虎" & vbNewLine & "语文 80" & vbNewLine & _
"数学 80" & vbNewLine & "英语 80" & vbNewLine & _
"总分 240分" & vbNewLine & "平均分 80分" & vbNewLine & _
"" & vbCr & vbCr & "姓名 林小冰" & vbNewLine & _
"语文 80" & vbNewLine & "数学 80" & vbNewLine & _
"英语 80" & vbNewLine & "总分 240分" & vbNewLine & _
"平均分 80分" & vbNewLine & vbNewLine & _
"姓名 陈小明" & vbNewLine & "语文 90" & vbNewLine & _
"数学 90" & vbNewLine & "英语 90" & vbNewLine & _
"总分 270分" & vbNewLine & "平均分 90分" & vbNewLine & _
vbNewLine & "姓名 杨小东" & vbNewLine & _
"语文 70" & vbNewLine & "数学 70" & vbNewLine & _
"英语 70" & vbNewLine & "总分 210分" & vbNewLine & _
"平均分 70分" & vbNewLine & vbNewLine & _
"姓名 方小琪" & vbNewLine & "语文 80" & vbNewLine & _
"数学 80" & vbNewLine & "英语 80" & vbNewLine & _
"总分 240分" & vbNewLine & "平均分 80分" & vbNewLine
End Sub
请各位大侠试一下。
是不是在一行??? --------------------编程问答-------------------- upupup --------------------编程问答-------------------- VB常用值描述。
VB CONSTANT VALUE DESCRIPTION
VBCR Chr(13) Carriage return
VBCrLf Chr(13) & Chr(10) Combined carriage return and line feed
VBFormFeed Chr(12) Form feed
CSDN表格表示太差。链接到原帖。
http://www.devguru.com/technologies/vbscript/quickref/stringcon.html --------------------编程问答-------------------- 看看哈 --------------------编程问答--------------------
设Textbox的 multiline属性为true就可以了
补充:VB , 基础类