以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  文件监视器 能监视多个文件吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13613)

--  作者:yjk1023
--  发布时间:2011/10/19 19:54:00
--  文件监视器 能监视多个文件吗?

如题,我知道设置一个的文件监视或者在监视器中设置或者用代码 

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

End With

现在我想监视多个文件怎么写代码及相关的创建、删除、改变事件怎么写代码?最好是能有代码上传。


--  作者:狐狸爸爸
--  发布时间:2011/10/19 20:30:00
--  
监视整个文件夹:
 
With FileWatcher
    .Path = "c:\\Data"
    .Delay = 1000
End With
 
监视txt文件:
 
With FileWatcher
    .Path = "c:\\Data"
    .Filter = "*.txt"
    .Delay = 1000
End With

--  作者:yjk1023
--  发布时间:2011/10/19 20:44:00
--  

这个我知道的,现在我要监视2个文件夹 一个是放数据库的  一个是放照片的,当数据库发生变动了执行。。。代码,当添加照片了执行。。。。代码

问题:

1、不知道能不能实现这样的功能同时监控2个文件夹?

2、改变事件及创建事件代码如何写?

[此贴子已经被作者于2011-10-19 20:44:33编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/10/19 21:04:00
--  

1、这两个文件夹放在同一个文件夹中,作为子文件夹,监视二者的服务父文件夹即可。

2、参考:

http://www.foxtable.com/help/topics/1963.htm

 

创建文件触发FileCreated事件,修改文件触发FileChanged事件。

 


--  作者:yjk1023
--  发布时间:2011/10/19 21:35:00
--  
以下是引用狐狸爸爸在2011-10-19 21:04:00的发言:

1、这两个文件夹放在同一个文件夹中,作为子文件夹,监视二者的服务父文件夹即可。

2、参考:

http://www.foxtable.com/help/topics/1963.htm

 

创建文件触发FileCreated事件,修改文件触发FileChanged事件。

 

这样做的话,创建图片后,先触发的是filechanged事件,再触发filecreated事件,并且在filechanged事件的代码中加上

 

With FileWatcher
    
    .Filter = "Sale.mdb"
   
End With

在filecreadted事件中加上

 

With FileWatcher
    
    .Filter = "*.jpg"
   
End With

也不行   不知如何解决?

[此贴子已经被作者于2011-10-19 21:38:43编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/10/19 21:40:00
--  
判断文件后缀名啊,以你的实际情况,变动的肯定是数据文件,创建的是图片文件。
--  作者:yjk1023
--  发布时间:2011/10/19 21:50:00
--  

打包上传我做的实例

第一次创建总是执行一次变动代码,以后就不在执行了,不知道怎么回事?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:yjk1023
--  发布时间:2011/10/19 21:52:00
--  
以下是引用狐狸爸爸在2011-10-19 21:40:00的发言:
判断文件后缀名啊,以你的实际情况,变动的肯定是数据文件,创建的是图片文件。

给个代码样本,我试验一下


--  作者:狐狸爸爸
--  发布时间:2011/10/19 22:51:00
--  

怎么可以在FileCreated、FileDeleted、FileChanged事件代码中设置文件监视器的属性?

你已经在文件监视器属性中设置了监视目录和延迟,现在只需直接在FileCreated、FileDeleted、FileChanged设置事件代码:

 

Messgebox.Show(e.Name)

 

如果一定要通过代码设置文件监视器的属性,也应该在AfterOpenProject事件中设置:

 

With filewatcher
      .path ="D:\\My Documents\\管理项目1\\文件监视"
      .delay =1000
End With

 

建议你细看这一节的帮助,不要走马观花:

http://www.foxtable.com/help/topics/1963.htm