vb读取一个每秒都在更新的文本文件!

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:32:50
一个仪器通过串口读取数据并保存在文本文件中,每秒都在更新。我现在要读它的文本中数据,实时的显示。每次打开后,文本就不更新了,这样就要频繁的打开、关闭。不仅效率低面且时间可能也不够,因为他每秒更新的。 仪器从串口读数据的文件我没有源文件。
请大家帮帮忙。
谢谢,我也想过,老兄。 但是呢,他一秒就更新,一天一个文件,这文件太大,复制就不现实了。
我现在不想从串口读:1,他已经存进文本了,2,我不了解它的串口参数,缓冲大小等。即使自己重写,肯定达不到它原来的效果。
所以主要就是征对文本文件的操作。不知时产够不够。它一秒产生约200个字符。我还要MID INSTR来判断,显示在约10个左右的文本框中。 一秒钟打开,关闭,并做这些处理,不知时间够否。
在时间上给我分析一下,有经验的朋友 。 可以加分。

有一个办法可以试试,你每次用程序实现将保存数据的文本文件复制一份到新的文本文件,然后读取新的文件,读取完后,将这个新的文件删除就可以了

复制文件语句:
filecopy 源文件全路径及文件名,目标文件全路径及文件名

删除文件语句:
kill 目标文件全路径及文件名

不涉及API

用 timer 不停读取吧
用open

理论上这个串口是给数据,而不是写文件的。再看看说明,找函数。

用Timer。
这个程序可以参考“西部集团杯”八届初赛磁盘\程序设计素材中的demo3.exe文件。

...不停循环打开和关闭么?
就连一个空的死循环都可以把cpu占用很高,这种更是

每次打开文件,然后往里面写一个数据然后关闭文件

打开一次文件,不关闭,然后到需要的时候往里面写数据
前者要慢很多
那么如何用VB复制正在使用(读写)的文本文件?
Private Sub Command1_Click()
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile App.Path & "\1.txt", "E:\", True
End Sub
路径你可以自己设定,在每隔1秒执行一次复制,因为你文件更新了复制的文件也更新了,也就是说你没必要删除文件,就每1秒读你复制的文件就行了
实际上这样也要关闭你复制的文件才能更新数据,所以建议你找源代码,然后进行数据库操作,不然你删除文件,或者频繁开关文件是一样的,最好把数据全部保存了在去读取吧 ,万一不行,数据不大的话,1秒的时间也绝对够了

事件一般是够的。只是如果文件粉大就可能在打开文件上面造成影响,你的各种处理问题不大,主要是文档的打开关闭会有影响。

另外可以建立挂钩或者监视该文件,该文件发生改变则读取。你不能读取整个文本来用mid,这样效率会非常低(在文件很