回 帖 发 新 帖 刷新版面

主题:VB读取TXT文件另类使用方法·

比如我桌面有个1.TXT 里面、内容如下
123456 第1行
5456456  第2行
123456  第3行
5456456 第4行
456s4d5f6456 第5行


  我想把他读取到TEXT里面显示可以通过
Dim STR As String '定义变量
Open "桌面\1.txt" For Input As #1
'Do While Not EOF(1)
'Line Input #1, Nextline
'Text1.Text = Nextline
'Loop
'Close #1
Text1.Text = StrConv(InputB(LOF(1), #1), vbUnicode)
Close #1
读取后在TEXT1显示为
123456 第1行
5456456  第2行
123456  第3行
5456456 第4行
456s4d5f6456 第5行
但是这不是我想要的··

我想要的是·我想读取到TEXT1里面显示为
123456 第1行
5456456  第2行
456s4d5f6456 第5行

也就是 说 有同行的字符一模一样的话就只显示一个··
请问是否可以做到啊???
请给出代码谢谢···





回复列表 (共3个回复)

沙发

采用一行一行地读,每读出一行,都与先前的行比较一下,如果不相同,才添加到文本框的后面

板凳

代码呢????请给我代码好吗

3 楼

Private Sub Command1_Click()
Dim st1 As String, st2 As String, zt() As String, fName As String, i As Long, k As Long, BJ As Boolean
fName = "D:\1.txt"

Open fName For Input As #1
Do Until EOF(1)
  Line Input #1, st1
  If Len(st1) Then
    ReDim Preserve zt(k)
    BJ = False
    For i = 0 To k
      If st1 = zt(i) Then BJ = True: Exit For
    Next
    If Not BJ Then zt(k) = st1: st2 = st2 & st1 & vbCrLf: k = k + 1
  End If
Loop
Close #1
Text1 = st2
End Sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册