vb ListView循环加载文本

text1里内容如下:多行文本张佳|22|学生|上海|李乐|24||上海|赵文博|34|经理||...省略ListView列头:姓名年龄职务城市我要循环从text1里读取... text1里内容如下: 多行文本

张佳|22|学生|上海|
李乐|24||上海|
赵文博|34|经理||
...省略

ListView列头:

姓名 年龄 职务 城市

我要循环从text1里读取数据加载到ListView中...
用"|"做分隔,如果两个"|"之间无数据,则那个数据空着...

正常加载后应该是:

姓名 年龄 职务 城市
张佳 22 学生 上海
李乐 24 上海
赵文博 34 经理

这样...麻烦知道怎么弄的教教...谢谢!!!回答满意追加分数!!
展开
 我来答
ljl88900
2009-03-23 · TA获得超过2661个赞
知道大有可为答主
回答量:2197
采纳率:100%
帮助的人:2636万
展开全部
'在窗体上加入listview控件
Private Sub Form_Load()
Dim clm As ColumnHeader
Dim itm As ListItem
'
' 清除存在的数据(包括标题和记录)
'
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
ListView1.View = 3
ListView1.LabelEdit = lvwManual
Set clm = ListView1.ColumnHeaders.Add(, , "姓名")
Set clm = ListView1.ColumnHeaders.Add(, , "年龄")
Set clm = ListView1.ColumnHeaders.Add(, , " 职务")
Set clm = ListView1.ColumnHeaders.Add(, , "城市")

'读文件至变量
Dim FileName As String, i As Integer, j As Integer, s As String
Dim a() As String, b() As String, BB() As Byte
FileName = App.Path & "\1.txt" '请根据实际修改
If Dir(FileName) = "" Then Exit Sub
i = FreeFile
ReDim BB(FileLen(FileName) - 1)
Open FileName For Binary As #i
Get #i, , BB
Close #i
s = StrConv(BB, vbUnicode)
a = Split(s, vbNewLine)

'把数据追加到listview中
For i = 0 To UBound(a)
b = Split(a(i), "|")
If UBound(b) = 4 Then
Set itm = ListView1.ListItems.Add(, "Row" & i, b(0))
For j = 1 To 3
itm.SubItems(j) = b(j)
Next
End If
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxz1969
2009-03-23 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.1亿
展开全部
用line input 一行一行地读文件,每行用split分隔。代码参考:
dim A,R as string
open "c:\1.txt" for input as #1
do while not eof(1)
line input #1,R
A=split(R,"|")
'把A(Lbound)至A(Ubound)加载到ListView中
loop
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
binuisoft
2009-03-23 · TA获得超过1449个赞
知道小有建树答主
回答量:385
采纳率:0%
帮助的人:422万
展开全部
这个程序很容易,只需要把数据读出来后,用SPLIT进行分割就是了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式