以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何实现“文件监视器发现有新的上报文件后,取得此文件名”?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=11465)

--  作者:雨中的泪
--  发布时间:2011/7/29 11:08:00
--  如何实现“文件监视器发现有新的上报文件后,取得此文件名”?

 

Dim dlg As New SaveFileDialog   \'指定一个新的SaveFileDialog(保存文件对话框)

dlg.Filter= "上报文件|*.DSB"    \'设置筛选器

dlg.title= "生成上报文件"      \'设置对话框标题

dlg.OverwritePrompt = False

If dlg.ShowDialog = DialogResult.Ok Then   \'如果用户单击了确定按钮

    If FileSys.FileExists(dlg.filename) Then    \'如果指定的文件存在

        if Messagebox.Show("有同名文件存在,是否删除?", "提示", MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes then

            FileSys.DeleteFile(dlg.filename,2,2)  \'则彻底删除之

        Else

        MessageBox.Show("你取消删除同名文件,系统停止生成上报文件!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)

    Return

        End if

End If

dim Names() As String = {"调资基础数据","职务变动基础信息"}
For Each nm As String In Names

    Dim ex as New Exporter

    ex.SourceTableName = nm   \'指定导出表

    ex.Format = "Access"   \'指定导出文件格式

    ex. PassWord = "TZX_GWY_JT_8888"  \'用此属性指定目标文件的密码

    ex.filepath =  dlg.filename    \'指定目标文件

    ex.NewTableName = nm       \'指定导出后的表的名称

ex.Export()    \'开始导出数据

Next

    FileSys.CopyFile(dlg.filename, dlg.filename & ".bak",False)

    FileSys.DeleteFile(dlg.filename, 2, 2)

    EncryptFile(dlg.filename & ".bak", dlg.filename, "8888")

    FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)

MessageBox.Show("上报数据生成完成!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)

 

FileWatcher.Enabled = False

DataTables.Save()

FileWatcher .Enabled = True

e. FileCreated. FullPath =dlg.FileName

 

End If


 


--  作者:雨中的泪
--  发布时间:2011/7/29 11:14:00
--  
 

Dim dlg As New SaveFileDialog   \'指定一个新的SaveFileDialog(保存文件对话框)

dlg.Filter= "上报文件|*.DSB"    \'设置筛选器

dlg.title= "生成上报文件"      \'设置对话框标题

dlg.OverwritePrompt = False

If dlg.ShowDialog = DialogResult.Ok Then   \'如果用户单击了确定按钮

    If FileSys.FileExists(dlg.filename) Then    \'如果指定的文件存在

        if Messagebox.Show("有同名文件存在,是否删除?", "提示", MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes then

            FileSys.DeleteFile(dlg.filename,2,2)  \'则彻底删除之

        Else

        MessageBox.Show("你取消删除同名文件,系统停止生成上报文件!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)

    Return

        End if

End If

dim Names() As String = {"调资基础数据","职务变动基础信息"}
For Each nm As String In Names

    Dim ex as New Exporter

    ex.SourceTableName = nm   \'指定导出表

    ex.Format = "Access"   \'指定导出文件格式

    ex. PassWord = "TZX_GWY_JT_8888"  \'用此属性指定目标文件的密码

    ex.filepath =  dlg.filename    \'指定目标文件

    ex.NewTableName = nm       \'指定导出后的表的名称

ex.Export()    \'开始导出数据

Next

    FileSys.CopyFile(dlg.filename, dlg.filename & ".bak",False)

    FileSys.DeleteFile(dlg.filename, 2, 2)

    EncryptFile(dlg.filename & ".bak", dlg.filename, "8888")

    FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)

MessageBox.Show("上报数据生成完成!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)

 

 

 

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

With FileWatcher
    .Path =   DLG

.Filter = “ & filename & ”

 End With

End If


--  作者:雨中的泪
--  发布时间:2011/7/29 11:16:00
--  

这样也不行呀,老大帮帮忙


--  作者:雨中的泪
--  发布时间:2011/7/29 11:25:00
--  
老大帮帮忙
--  作者:雨中的泪
--  发布时间:2011/7/29 11:45:00
--  
老大帮帮忙
--  作者:狐狸爸爸
--  发布时间:2011/7/29 12:05:00
--  
在文件监视器的FileCreated事件中,有个e.FullPath参数,可以获得新创建的文件的名称。
--  作者:雨中的泪
--  发布时间:2011/7/29 12:24:00
--  
如何实现,谢谢
--  作者:狐狸爸爸
--  发布时间:2011/7/29 13:46:00
--  

你问的是如何取得新生成的文件件,6楼不是告诉你了吗?

 

你的问题到底是什么? 得让人明白才行。

 

 


--  作者:雨中的泪
--  发布时间:2011/7/29 13:52:00
--  

生成的上报文件不显示,如何处理这个问题


--  作者:狐狸爸爸
--  发布时间:2011/7/29 14:02:00
--  

foxtable没有办法,这是windows的事。