题目:如何从下面richTEXTbox1显示的文本中找出 "RFF+BM:CN";2.然后将"RFF+BM:CN”的这一段文本(从LIN到TDT)显示到richTEXTbox2中. =============
asdfasdfasdf
asfasfasf
LIN+1' 
RFF+BM:090900009590' 
RFF+BN:090900009590' 
TDT+20+0269-009E++++++:::ITAL MELODIA' 
LIN+2' 
RFF+BM:CN12342134 
RFF+BN:090900009590' 
TDT+20+0269-009E++++++:::ITAL MELODIA' 
LIN+3' 
RFF+BM:400800620351' 
RFF+BN:400800620351' 
TDT+20+0269-009E++++++:::ITAL MELODIA' 
LIN+4' 
RFF+BM:CN13412342 
RFF+BN:550900000731' 
TDT+20+0269-009E++++++:::ITAL MELODIA' 
LIN+5' 
........... 
===============
我是如下这样写的,但是最终结果没有反映,请大虾们帮忙看看问题出在哪儿。
===============Dim strLine() As String
Dim i As Integer, j As IntegerPrivate Sub Command1_Click()strLine = Split(RichTextBox1.Text, vbCrLf) 
For i = 3 To UBound(strLine) Step 4
    If Left(strLine(i), 9) = "RFF+BM:CN" Then
        For j = i To i + 3
            RichTextBox2.Text = RichTextBox2.Text & strLine(j)
        Next j
    End If
Next iEnd Sub
===============

解决方案 »

  1.   

    我自己更正上面的部分代码,还是有问题
    我是如下这样写的,但是最终结果没有反映,请大虾们帮忙看看问题出在哪儿。 
    =============== Dim strLine() As String 
    Dim i As Integer, j As Integer Private Sub Command1_Click() strLine = Split(RichTextBox1.Text, vbCrLf) 
    For i = 0 To UBound(strLine) 
        If Left(strLine(i), 9) = "RFF+BM:CN" Then 
            For j = i-1 To i + 2 
                RichTextBox2.Text = RichTextBox2.Text & strLine(j) 
            Next j 
        End If 
    Next i End Sub 
    =============== 
      

  2.   

    把step 4去掉试试   你正好把要的过去了   而且其他代码也有错   你再改吧
      

  3.   

    Dim strLine() As String 
    Dim i As Integer, j As Integer Private Sub Command1_Click()         strLine = Split(RichTextBox1.Text, vbCrLf) 
            For i = 0 To UBound(strLine) 
                If instr(strLine(i),"RFF+BM:CN")>0 Then 
                   For j = i-1 To i + 2 
                       RichTextBox2.Text = RichTextBox2.Text & strLine(j) & vbcrlf
                   Next j 
                End If 
            Next i End Sub 
      

  4.   

    还有个问题,你为什么不用textbox?   本来就是纯文本   是因为多行的问题?  textbox控件把multiline属性设置成TRUE就能多行了
      

  5.   


    Dim strLine() As String
    Dim i As Integer, j As IntegerPrivate Sub Command1_Click()    strLine = Split(RichTextBox1.Text, vbCrLf)
        For i = 3 To UBound(strLine) Step 4
            If Left(strLine(i + 1), 9) = "RFF+BM:CN" Then
                For j = i To i + 3
                    RichTextBox2.Text = RichTextBox2.Text & strLine(j)
                Next j
            End If
        Next i
    End Sub只是把Left(strLine(i),9) = "RFF+BM:CN"这里的i改为i+1即可