以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  3月19日更新  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=6243)

--  作者:狐狸爸爸
--  发布时间:2010/3/19 20:42:00
--  3月19日更新
1、增加文件监视功能

文件监视器

文件监视器用于监控指定目录下的文件,当创建、修改或删除文件时,会触发事件,通过设置对应的事件代码,可以间接和第三方的程序实现及时的数据交流。

在管理项目功能区,单击下面的按钮,可以设置文件监视器的属性和代码:


 
图片点击可在新窗口打开查看此主题相关图片如下:1235.gif
图片点击可在新窗口打开查看


FileWatcher表示文件监视器,其属性有:

  • Enabled
    逻辑型,是否启用文件监视器。
     
  • Path
    字符型,设置监视目录的路径,不能将监控目录设置为根目录。
     
  • Filter
    字符型,设置要监控的文件类型,例如要监控文本文件,可以设置为"*.txt";要监控指定的某个文件,可以直接设置为文件名,例如"data.mdb";如果要监控所有文件,则设置为"*.*"
     
  • Delay
    设置事件延迟触发时间,默认为500毫秒,也就是文件发生变动后0.5秒才触发对应的事件。
    在延迟触发时间内,如果同一个文件发生了多次变动,将只触发一次事件。
    最小可设置为100毫秒。
    保存一个大文件,可能要经过多次的写入,持续的时间也会比较长,所以合理设置此属性是相当重要的。

示例

With FileWatcher
    .
Path = "c:\\Data"
    .
Filter = "Sale.mdb"
    .
Delay = 1000

End With

执行上面的代码后,将开始监控文件“c:\\data\\Sale.mdb”。
其实一般是通过菜单来设置FileWatcher的,很少需要利用代码来设置。

FileWatcher有三个事件:

  • FileCreated
    创建文件后执行。
     
  • FileDeleted
    删除文件后执行。
     
  • FileChanged
    修改文件后执行。

e参数属性:

Name:     触发事件的文件名,不含路径。
FullPath:触发事件的文件名,含路径。

示例

假如订单表是外部表,来自文件c:\\data\\Sale.mdb,我们可以监控此文件,一旦此文件发生变动,就重新加载订单表数据。
首先我们要监控此文件,然后将
FileChanged事件代码设置为:

DataTables("表A").Load()

看上去很简单,不过还有一个毛病,就是自己保存数据后,也会触发FileChanged,导致重新加载数据。为避免这种情况,我们可以自己做一个保存按钮:

FileWatcher.Enabled = False
DataTables
.Save()
FileWatcher.Enabled =
True

上面的代码在保存前停用文件监视器,保存结束后,重新开启文件监视器。


2、增加自定义汇总模式的功能:


图片点击可在新窗口打开查看此主题相关图片如下:1238.gif
图片点击可在新窗口打开查看

实现方法参考:


图片点击可在新窗口打开查看此主题相关图片如下:spximage.gif
图片点击可在新窗口打开查看

3、重写了SaveExcel方法,现在兼容性更好了。





[此贴子已经被作者于2010-3-19 20:42:45编辑过]

--  作者:yangming
--  发布时间:2010/3/19 20:43:00
--  
沙发!终于等到了,呵呵
[此贴子已经被作者于2010-3-19 20:42:52编辑过]

--  作者:yangming
--  发布时间:2010/3/19 20:46:00
--  
文件监视器对于SQL数据库好象无法监视吧?
[此贴子已经被作者于2010-3-19 20:47:00编辑过]

--  作者:czy
--  发布时间:2010/3/19 21:38:00
--  
哈,顶一个。
--  作者:lkqing
--  发布时间:2010/3/19 21:44:00
--  
顶一个!!!!!!!!!
--  作者:kylin
--  发布时间:2010/3/19 22:07:00
--  
迟到了,也顶一个
--  作者:程兴刚
--  发布时间:2010/3/19 22:48:00
--  
哈哈,好东东,也不通知一声!
--  作者:kylin
--  发布时间:2010/3/19 22:52:00
--  
以下是引用hnaysx在2010-3-19 22:40:00的发言:


老六写的很清楚 是文件监视器,又没说是数据库监视器

也写一个数据库监视器就更好了,呵呵


--  作者:程兴刚
--  发布时间:2010/3/19 23:01:00
--  
这么快大家就开始讨论了,测试了吗?我还没下载呢!
--  作者:wqc360
--  发布时间:2010/3/19 23:11:00
--  
顶一下