vb listview~保存为txt文件
listview里面的数据是仪器通过接收到回车显示出来的~~IfRight$(data,1)=Chr(10)Then'用串口调试知道数据最后一位其实是回车键IfMid$(...
listview里面的数据是仪器通过接收到回车显示出来的~~
If Right$(data, 1) = Chr(10) Then '用串口调试知道数据最后一位其实是回车键
If Mid$(data, 9, 1) = Chr(13) Then '这两行相当接收到回车键
Dim nodeX As ListItem
Set nodeX = ListView1.ListItems.Add()
nodeX.Text = ListView1.ListItems.Count '序号
nodeX.SubItems(1) = Text1.Text '测量值
nodeX.SubItems(2) = FormatNumber(Val(Text1.Text), , vbTrue) '误差值,还没有处理好
End If
End If
listview 中显示的是量具上显示的数据
问题:我想把listview中的数据保存成为TXT文件,这是我在网上找到的代码,根据自己需求修改了.
Private Sub Command5_Click() '保存文件按钮
With CommonDialog1
.FileName = " "
.DialogTitle = "另存为"
.Filter = "TXT格式文件(*.txt)|*.txt"
.DefaultExt = "txt"
.Flags = cdlOFNHideReadOnly Or cdlOFNOverwritePrompt
End With
CommonDialog1.ShowSave
'如 果 没 有 文 件
If Len(CommonDialog1.FileName) = 0 Then
Exit Sub
End If
'文 本 格 式 文 件
Open CommonDialog1.FileName For Output As #1
Dim nodeX As ListItem
Set nodeX = ListView1.ListItems.Add()
nodeX.Text = ListView1.ListItems.Count '序号
nodeX.SubItems(1) = Text1.Text '测量值
nodeX.SubItems(2) = FormatNumber(Val(Text1.Text), , vbTrue) '误差值,还没有处理好
For i = 1 To ListView1.ListItems.Count
Print #1, "序号" & vbTab & "测量值" & vbTab & "误差值"
Print #1, ListView1.ListItems(i) & vbTab & nodeX.SubItems(1) & vbTab & nodeX.SubItems(2)
Next
Close #1
Exit Sub
Err_Handle:
Exit Sub
End Sub
保存到txt的文件是这样的
序号 测量值 误差值
1 001. 1.00
序号 测量值 误差值
2 001. 1.00
序号 测量值 误差值
3 001. 1.00
1.跟listview显示的数据不一致,我想大概是因为我的代码是接收到回车键之后才显示数据到listview里面,
而Print #1, ListView1.ListItems(i) & vbTab & nodeX.SubItems(1) & vbTab & nodeX.SubItems(2)也接收到回车键代码,
所以保存到txt里面的数据是实际量具上面的数据(我仔细看了确实是这样),那么应该怎么处理?
2.有个问题如过我不保存的话,会弹出 " 实时错误53 文件未找到" 上面的代码不是处理了吗?(红色字体)
3.另外我想的是"序号 测量值 误差值 "只是显示在第一行,后面的是数据,又应该怎么处理?
4.还有就是如果加个打开文件按钮呢?
问题有点多,小弟虚心请教各位高手了!!!!!!!!!! 展开
If Right$(data, 1) = Chr(10) Then '用串口调试知道数据最后一位其实是回车键
If Mid$(data, 9, 1) = Chr(13) Then '这两行相当接收到回车键
Dim nodeX As ListItem
Set nodeX = ListView1.ListItems.Add()
nodeX.Text = ListView1.ListItems.Count '序号
nodeX.SubItems(1) = Text1.Text '测量值
nodeX.SubItems(2) = FormatNumber(Val(Text1.Text), , vbTrue) '误差值,还没有处理好
End If
End If
listview 中显示的是量具上显示的数据
问题:我想把listview中的数据保存成为TXT文件,这是我在网上找到的代码,根据自己需求修改了.
Private Sub Command5_Click() '保存文件按钮
With CommonDialog1
.FileName = " "
.DialogTitle = "另存为"
.Filter = "TXT格式文件(*.txt)|*.txt"
.DefaultExt = "txt"
.Flags = cdlOFNHideReadOnly Or cdlOFNOverwritePrompt
End With
CommonDialog1.ShowSave
'如 果 没 有 文 件
If Len(CommonDialog1.FileName) = 0 Then
Exit Sub
End If
'文 本 格 式 文 件
Open CommonDialog1.FileName For Output As #1
Dim nodeX As ListItem
Set nodeX = ListView1.ListItems.Add()
nodeX.Text = ListView1.ListItems.Count '序号
nodeX.SubItems(1) = Text1.Text '测量值
nodeX.SubItems(2) = FormatNumber(Val(Text1.Text), , vbTrue) '误差值,还没有处理好
For i = 1 To ListView1.ListItems.Count
Print #1, "序号" & vbTab & "测量值" & vbTab & "误差值"
Print #1, ListView1.ListItems(i) & vbTab & nodeX.SubItems(1) & vbTab & nodeX.SubItems(2)
Next
Close #1
Exit Sub
Err_Handle:
Exit Sub
End Sub
保存到txt的文件是这样的
序号 测量值 误差值
1 001. 1.00
序号 测量值 误差值
2 001. 1.00
序号 测量值 误差值
3 001. 1.00
1.跟listview显示的数据不一致,我想大概是因为我的代码是接收到回车键之后才显示数据到listview里面,
而Print #1, ListView1.ListItems(i) & vbTab & nodeX.SubItems(1) & vbTab & nodeX.SubItems(2)也接收到回车键代码,
所以保存到txt里面的数据是实际量具上面的数据(我仔细看了确实是这样),那么应该怎么处理?
2.有个问题如过我不保存的话,会弹出 " 实时错误53 文件未找到" 上面的代码不是处理了吗?(红色字体)
3.另外我想的是"序号 测量值 误差值 "只是显示在第一行,后面的是数据,又应该怎么处理?
4.还有就是如果加个打开文件按钮呢?
问题有点多,小弟虚心请教各位高手了!!!!!!!!!! 展开
1个回答
展开全部
4 CommonDialog1.ShowSave 这个是打开保存对话框 ,而我想ShowOpen是打开 打开对话框 这控件只是和路径选择有关.
在VB我不清楚了..
3 你把 Print #1, "序号" & vbTab & "测量值" & vbTab & "误差值" 提到for循环的前面不就是只打印一次吗
2 If Len(CommonDialog1.FileName) = 0 Then 我想检测是否点击保存或取消不是这样吧,应该是检测CommonDialog1.ShowSave的返回值,常量不清楚了,好像 Yes 是0 No 是1 自己做个测试,保存和取消的值.
1不太明白..格式化的东西,自己多试几次就没问题了.
在VB我不清楚了..
3 你把 Print #1, "序号" & vbTab & "测量值" & vbTab & "误差值" 提到for循环的前面不就是只打印一次吗
2 If Len(CommonDialog1.FileName) = 0 Then 我想检测是否点击保存或取消不是这样吧,应该是检测CommonDialog1.ShowSave的返回值,常量不清楚了,好像 Yes 是0 No 是1 自己做个测试,保存和取消的值.
1不太明白..格式化的东西,自己多试几次就没问题了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询