不好意思..还有点问题想问...但结贴太快...所以重新开帖了....下面是我前面发帖的内容:如何读取txt数据到 ListView1里?我想把下面的文本读取到ListView1里(ListView1为2列), txt里的数据如下: baba    //爸爸 
mama    //妈妈 
yeye    //爷爷 
nainai  //奶奶 然后第一列读取上面的拼音,,第二列读取"//"后面的文字,多少行要看txt里的数据.....代码要怎么写?谢谢了..但是后面想了一下...如果要分类的话,,,,就要写很多的TXT文件.....读取也麻烦....
我想的是,,,,,如何不同类的代码放到一个TXT里,,,,然后单击按钮,最后按关键字读取某段内容,比如TXT内容如下:当单击按钮1\读取下面代码第一类             ' (这是关键字)
baba    //爸爸 
mama    //妈妈 
yeye    //爷爷 
nainai  //奶奶 当单击按钮2读取同一个TXT文件的另一段代码:第二类              '(这是关键字)
baba    //爸爸 
mama    //妈妈 
yeye    //爷爷 
nainai  //奶奶 

解决方案 »

  1.   

    Private Sub Command1_Click(Index As Integer)
    I = Index
    ListView1.ListItems.Clear
    Me.Caption = "第" & I + 1 & "类"
    b = Split(a(I + 1), "|")
    For j = 1 To UBound(b) - 1
     c = Split(b(j), "//")
     k = k + 1
    ListView1.ListItems.Add , , Trim(c(0))
    ListView1.ListItems(k).ListSubItems.Add , , Trim(c(1))
     Next
    End SubPrivate Sub Form_Load()
    ListView1.View = lvwReport
    For I = 1 To 5
    ListView1.ColumnHeaders.Add , , "第" & I & "列"
    Next
    Open "C:\1.txt" For Input As #1
    Do Until EOF(1)
    Line Input #1, nextline
    If Left(Trim(nextline), 1) = "第" And Right(Trim(nextline), 1) = "类" Then nextline = "$"
    S = S & nextline & "|"
    Loop
     Close #1
     a = Split(S, "$")End Sub
      

  2.   

    文本文件内容:第一类            
    baba    //爸爸 
    mama    //妈妈 
    yeye    //爷爷 
    nainai  //奶奶 
    第二类             
    gege    //哥哥
    didi   //弟弟 
    jiejie  //姐姐 
    meimei  //妹妹
      

  3.   

    那我就不知道怎么回事了....我是新建一个新的工程里测试的.....但是运行好多次都是不行....TXT也是复制你上面的进去测试.......不知道谁还有其他的方法不?
      

  4.   

    我觉得你要在通用节加上变量声明:dim a() as string
      

  5.   

    我的测试里是有一个Dim a在最上面通用部分,粘到贴子上时漏了,请添上.
      

  6.   

    谢谢老张还有8楼的...问题解决了.....我前面也加了Dim a在子程序里,,,,但好像还是不行...没看清楚a是通用的了.....不好意思了....不过这句好像有问题 c = Split(b(j), "//") ,就是当"nainai  //奶奶" 只有前半部分..而没有后半部分奶奶的时候...而又没加入"//"...就会提示"下标越界"....有什么办法当没有后半部分又没添加"//"的时候....不会出现下标越界呢?
      

  7.   

    当 字符串 中没有 "//"  的时候,c 在 Split() 只有一个元素,下标为 0 。
    因此要判断一下 c 的下标上界。
    If (UBound(c) = 0) Then
        ListView1.ListItems(k).ListSubItems.Add , , "---"
    Else
        ListView1.ListItems(k).ListSubItems.Add , , Trim(c(1))
    End If