怎样让打开着的txt文件 实时刷新 写入的数据信息!

jslebang 2010-07-03 02:58:08
如题,就是txt文本文件 已经是打开状态,我要写入一些数据,怎样才能看到 有新的数据写入了 而不需要关闭txt再打开!谢谢!
...全文
1766 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzqgj 2010-07-03
  • 打赏
  • 举报
回复
用findwindow查找打开的txt文件,然后sendmessage刷新
bcrun 2010-07-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lyserver 的回复:]
创建一个文件映射对象来映射该txt文件,数据改变时,可以用定时器或消息通知机制来刷新。
[/Quote]

舉杯邀明月 2010-07-03
  • 打赏
  • 举报
回复
我觉得定时器轮询有点浪费资源。
并且如果打开后是可以编辑(打开后只是‘看内容’就不必考虑这个了)的,你重新载入必然影响编辑操作,甚至‘劳动成果丢失’。



这种情况下应该有系统消息。
yyyyyhhhhwwww 2010-07-03
  • 打赏
  • 举报
回复
定时读取数据即可!
chinaboyzyq 2010-07-03
  • 打赏
  • 举报
回复

Private Sub Form_Load()
Timer1.Interval = 500
Timer2.Interval = 450
Timer2.Enabled = False
Open "C:\1211.txt" For Binary Access Read Write As #1

End Sub

Private Sub Timer1_Timer()
Dim ss As String
ss = Chr(Int(Rnd * 10 + 97))
Put #1, LOF(1) + 1, ss
Timer2.Enabled = True
End Sub

Private Sub Timer2_Timer()
Timer1.Enabled = False
Timer2.Enabled = False
Dim ss As String
ss = String(FileLen("c:\1211.txt"), " ")
Get #1, 1, ss
Debug.Print ss

Static n As Integer
n = n + 1
If n < 10 Then Timer1.Enabled = True

End Sub
chinaboyzyq 2010-07-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 jslebang 的回复:]
如题,就是txt文本文件 已经是打开状态,我要写入一些数据,怎样才能看到 有新的数据写入了 而不需要关闭txt再打开!谢谢!
[/Quote]

Private Sub Form_Load()
Timer1.Interval = 500
Timer2.Interval = 450
Timer2.Enabled = False
Open "C:\1211.txt" For Binary Access Read Write As #1

End Sub

Private Sub Timer1_Timer()
Dim ss As String
ss = Chr(Int(Rnd * 10 + 97))
Put #1, LOF(1) + 1, ss
Timer2.Enabled = True
End Sub

Private Sub Timer2_Timer()
Timer1.Enabled = False
Timer2.Enabled = False
Dim ss As String
ss = String(FileLen("c:\1211.txt"), " ")
Get #1, 1, ss
Debug.Print ss

Static n As Integer
n = n + 1
If n < 10 Then Timer1.Enabled = True

lyserver 2010-07-03
  • 打赏
  • 举报
回复
创建一个文件映射对象来映射该txt文件,数据改变时,可以用定时器或消息通知机制来刷新。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧