Foxtable(狐表)用户栏目专家坐堂 → 独占编辑


  共有6991人关注过本帖树形打印复制链接

主题:独占编辑

帅哥哟,离线,有人找我吗?
有点甜
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 10:49:00 [只看该作者]

以下是引用ycwk在2018/1/30 10:42:00的发言:
 感觉不能用下面的代码打开文档,因为文件放在ftp上面,狐表的文件管理器是把ftp上的文件缓存到本地后在本地打开,我写的代码肯定没有办法做到的,所以如果我把路径指向FTP ,则文件只能下载文件但不能自动打开;如果指向本地,本地还没有下载之前又没有,还请指教怎么办?
vars("ls") = new Dictionary(of String, object)
vars("ls").add("xxx",system.Diagnostics.Process.Start("D:\foxtable\Development\CaseStudy\RemoteFiles\182004.txt"))

 

1、叫你用ftp的路径,把文件下载以后,再打开啊

 

2、做一个计时器,循环检测vars("ls")里面的文件是否被关闭了,如果关闭了,那就把表的占用的数据修改。


 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/30 11:23:00 [只看该作者]

问题是我的文件不在本地啊,在ftp上面,d:\test.doc   这个路径不行啊。 直接换成ftp的路径,会出现下载后无法打开文件的提示。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 11:30:00 [只看该作者]

以下是引用ycwk在2018/1/30 11:23:00的发言:
问题是我的文件不在本地啊,在ftp上面,d:\test.doc   这个路径不行啊。 直接换成ftp的路径,会出现下载后无法打开文件的提示。

 

下载下来,再打开啊。

 

Download

从FTP上下载文件,语法:

Download(sourceFileName, destinationFileName, ShowUI)

sourceFileName:要下载的文件,含路径
destinationFileName:保存下载文件的文件名和路径。
ShowUI:可选参数,逻辑型,是否显示下载进度,默认为False。

如果下载成功,返回True,否则返回False:

示例

Dim ftp1 As new ftpclient
ftp1.host=
"196.128.143.28"
ftp1.Account = 
"foxuser"
ftp1.password = 
"138238110"
If 
ftp1.Download("\photo\Desert.jpg","c:\data\Desert.jpg") = True Then
    
Messagebox.show("下载完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    
Messagebox.show("下载失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/30 11:43:00 [只看该作者]

遇到一个怪事,百思不得其解

Dim ftp1 As new ftpclient
ftp1.host="172.16.5.89"
ftp1.Account = "ftpAdmin"
ftp1.password = "Admin123"
Dim str_FileName As String =e.FileName
msgbox(str_FileName)             弹出结果是//182004.txt
str_FileName.trimstart("//")  
msgbox(str_FileName)                怪事啊,弹出的结果仍然是 //182004.txt ,去不掉前面的//            (附件列的名字为   //182004.txt)



[此贴子已经被作者于2018/1/30 12:20:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 12:20:00 [只看该作者]

afterOpenProject
 
Vars("ls") = new Dictionary(of String, object)
 
------------------------
 
If e.DataCol.Name = "附件" Then
    Dim str_path As String = e.DataRow("附件")
    Dim File =  "D:\foxtable\Development\CaseStudy\RemoteFiles\" & e.FileName  '指定要打开的文件
    msgbox(file)
    If vars("ls").ContainsKey(e.DataRow("_Identify")) Then
        Vars("ls")(e.DataRow("_Identify"))=system.Diagnostics.Process.Start(File)
    Else
        Vars("ls").add(e.DataRow("_Identify"),system.Diagnostics.Process.Start(File))
       
    End If
      
    e.Cancel = True '取消系统默认的打开文件操作,因为前面已经编码打开了
End If
 
---------------
 
For Each key As String In vars("ls").keys
    try
        output.show(vars("ls")(key).ExitTime)
        output.show(key & ":关闭了")
    catch ex As exception
        output.show(key & ":正常")
    End try
Next
output.show("--------------")

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/30 12:24:00 [只看该作者]

遇到一个怪事,百思不得其解

Dim ftp1 As new ftpclient
ftp1.host="172.16.5.89"
ftp1.Account = "ftpAdmin"
ftp1.password = "Admin123"
Dim str_FileName As String =e.FileName
msgbox(str_FileName)             弹出结果是//182004.txt
str_FileName.trimstart("//")  
msgbox(str_FileName)                怪事啊,弹出的结果仍然是 //182004.txt ,去不掉前面的//            (附件列的名字为   //182004.txt)

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 12:26:00 [只看该作者]

str_FileName = str_FileName.trimstart("//")  

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/30 12:32:00 [只看该作者]

脑袋糊涂了,不好意思

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 14:52:00 [只看该作者]

测试代码,看25楼。自行改写。

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/30 15:08:00 [只看该作者]

现在基本可以正确识别打开,但是有一个问题,就是在某行附件还没有打开的时候,也识别成已打开,但是关闭后,可以正确识别已关闭,原因是?


Dim str_FileName As String =e.FileName
'msgbox(str_FileName)
'msgbox(str_FileName.LastIndexOf("182004.txt"))   弹出2
str_FileName=str_FileName.TrimStart("//")
'msgbox(str_FileName)


Dim ftp1 As new ftpclient
ftp1.host="172.16.5.89"
ftp1.Account = "ftpAdmin"
ftp1.password = "Admin123"
Dim str_path="D:\foxtable\Development\CaseStudy\RemoteFiles\" & str_FileName
msgbox(str_path)
'If ftp1.Download("\123.docx",str_path) = True Then
If ftp1.Download(str_FileName,str_path) = True Then
    Messagebox.show("下载完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    Messagebox.show("下载失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


If e.DataCol.Name = "附件" Then
    'Dim str_path As String = e.DataRow("附件")
     msgbox(str_path)   
    Vars("ls").add(e.DataRow("附件") ,system.Diagnostics.Process.Start(str_path))
       
    e.Cancel = True '取消系统默认的打开文件操作,因为前面已经编码打开了
End If


定时器:
try    
    'vars("ls")("文档1").ExitTime
    vars("ls")(CurrentTable.Current("附件")).ExitTime
    msgbox(CurrentTable.Current("附件") & "已经关闭")
    'msgbox(CurrentTable.Current("附件")) & "已经关闭")
                      ' 此处要加入把文件上传至ftp的代码,以免文件修改后丢失
catch ex As exception
    msgbox("已经打开")
End try

[此贴子已经被作者于2018/1/30 15:10:33编辑过]

 回到顶部
总数 70 上一页 1 2 3 4 5 6 7 下一页