这样的,我要读取一个文本里的内容,但不是一次性读取,比如我文本里有200行内容,其中我在第20的内容是“*****”那就要读取到19行,把前19行的内容放到一个窗体上的TEXT1里,然后在跳过20行继续读取,也就是从21行开始,读到下一个“*****”就这样一直读小去,一直读到结束。请高手指教代码怎么写。谢谢

解决方案 »

  1.   

    Private Sub Command1_Click()
        
        Dim i           As Long
        Dim strTmp      As String
        Dim varData()   As Variant
        
        Open "c:\test.txt" For Input As #1
        
        Do While Not EOF(1)
            
            Line Input #1, strTmp
            
            If strTmp = "*****" Then
                
                If i > 0 Then
                    
                    i = 0
                    Text1.Text = Text1.Text & Join(varData, vbCrLf) & vbCrLf
                    
                End If
                            
            Else
                
                ReDim Preserve varData(i)
                varData(i) = strTmp
                
                i = i + 1
                
            End If
            
        Loop
        
        Close #1
        
    End Sub
      

  2.   

    不好意思,有一个Bug
    Private Sub Command1_Click()
        
        Dim i          As Long
        Dim strTmp      As String
        Dim varData()  As Variant
        
        Open "c:\test.txt" For Input As #1
        
        Do While Not EOF(1)
            
            Line Input #1, strTmp
            
            If strTmp = "*****" Then
                
                If i > 0 Then
                    
                    i = 0
                    Text1.Text = Text1.Text & Join(varData, vbCrLf) & vbCrLf
                    
                End If
                            
            Else
                
                ReDim Preserve varData(i)
                varData(i) = strTmp
                
                i = i + 1
                
            End If
            
        Loop
        
        If i > 0 Then
            
            Text1.Text = Text1.Text & Join(varData, vbCrLf) & vbCrLf
            
        End If
        
        Close #1
        
    End Sub