| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4285 人关注过本帖
标题:请教问题,请指教!
只看楼主 加入收藏
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:3 
那个温度计与计算机是什么方式通信的RS23-COM,TCP/IP?,为什么要去读第三方生成的TXT,如果是串口通信的话VFP有COM口读写的能力可以直接收数据,用个mscomm32.ocx,即时处理数据就行了。如果是TCP/IP方式,Winsock不也可以么,为什么要什么Timer模拟异步处理?
2016-02-20 13:56
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 24楼 taifu945
分析讨论得够深入,同感!

一般情况下,对运行效率、可靠性和计时要求不高,用定时器是比较简单和可行的方法,甚至可将定时器用作“不定时”触发器。

相信编程的都用过定时器,尤其是初接触编程的人,深入讨论的不多见。

基于时钟中断的定时器,虽然参数单位是ms,但实际上不能以1ms为触发周期。曾经见过有讨论过VFP的Timer控件将Interval=1时,Timer表现不那么稳定,但可通过一些手段来控制Interval=1的应用。

定时器一个触发周期向窗口过程发送WM_TIMER消息一次,定时器消息是一个低级别的消息,只有在消息队列中没有其他消息的情况下才会发送WM_TIMER消息,如果窗口过程忙于处理某个消息,使消息队列中有消息积累起来,那么WM_TIMER消息就会被丢弃,在消息队列再度空闲的时候,被丢弃的WM_TIMER消息不会被补发(定时器暂停)。所以,定时器事件并不那么“定时”,应用程序不能依靠定时器来保证某件事情必须在规定的时刻被处理。

2016-02-21 12:00
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用aaaaaa在2016-2-19 10:05:54的发言:

示例 1:
使用 Windows 外壳 (Shell) 事件,无计时器

讨论越来越深入了,如果对Windows核心编程不了解的可能不容易理解。

Windows实现文件监控一般有三种方法:
1、虚拟文件系统驱动方法,如文件系统监视工具Filemon。
2、HOOK API 方法,钩子技术。
3、消息机制,从Windows的文件通知消息获取系统的文件操作信息。但这是在文件操作完成以后,才通知的。所以只能进行监视,不能进行完全的控制。消息机制也有几方法,如本例用的是 API SHChangeNotifyRegister 实现用户自定义一个消息事件来接收Windows发送过来的文件操作信息。SHChangeNotifyRegister曾经是一个不公开的API,现在公开了可放心使用。
2016-02-21 12:20
快速回复:请教问题,请指教!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020122 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved