Foxtable(狐表)用户栏目专家坐堂 → 外接高拍仪


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

主题:外接高拍仪

帅哥哟,离线,有人找我吗?
一丁
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:310 积分:2941 威望:0 精华:0 注册:2017/9/14 8:21:00
  发帖心情 Post By:2023/6/12 9:03:00 [显示全部帖子]

SDK用不了,可以换一个思路:
1.在“拍摄”按钮中直接调用高拍仪自带的拍摄程序;
2.给高拍仪自带程序拍摄存储文件指定一个目录;
3.监视存储文件目录,如果有新文件存储,则提示是否上传;
4.根据用户选择,将拍摄文件上传。

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

[此贴子已经被作者于2023/6/12 9:08:10编辑过]

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


加好友 发短信
等级:小狐 帖子:310 积分:2941 威望:0 精华:0 注册:2017/9/14 8:21:00
  发帖心情 Post By:2023/6/12 9:44:00 [显示全部帖子]

拍摄需要两个关键参数:
参数1:拍摄所调用的程序及路径;
参数2:监控文件存储路径
因为这两个参数可能会随时变化,故而我把它设置成本地系统选项方式。


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


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


加好友 发短信
等级:小狐 帖子:310 积分:2941 威望:0 精华:0 注册:2017/9/14 8:21:00
  发帖心情 Post By:2023/6/12 9:48:00 [显示全部帖子]

“拍摄上传”按钮代码传上来供你参考(我的附件是FTP远程存储,存储在远程服务器的)


If Tables("本地选项").Current("监控模式") = True Then '文件增量变动监控
    PS_Files.clear
    With FileWatcher
        .Path = Tables("本地选项").Current("监控路径")
        .Delay = Tables("本地选项").Current("监控间隔")
        .Enabled = True
    End With
End If
Dim Proc As New Process
Proc.File = Tables("本地选项").Current("拍摄程序")
Proc.Start()
Proc.WaitForExit() '等带拍照程序退出.
Dim dtName As String = Vars("cuTable") '当前表
Dim ftpDir As String = Vars("_FTP_DIR") 
ftpDir = ftpDir.Replace("/","\")
Dim flm As WinForm.FileManager = e.Form.Controls("FileManager1")
Dim ufl As String
If Tables("本地选项").Current("监控模式") = True Then '文件增量变动监控
    FileWatcher.Enabled = False
    Dim Result As DialogResult
    Result = MessageBox.Show("扫描已完成,是否确定上传?","附件拍摄",MessageBoxButtons.YesNo,MessageBoxIcon.Information)
    If Result = DialogResult.No Then
        For Each fl As String In PS_Files
            If  FileSys.FileExists(fl) Then
                FileSys.DeleteFile(fl,2,2)
            End If
        Next
        PS_Files.clear
        Return
    Else
        For Each fl As String In PS_Files
            If  FileSys.FileExists(fl) Then
                Dim ex As String = fl.SubString(fl.LastIndexOf(".") + 1) '获取文件后缀名
                ufl = ftpDir & Format(Date.Now,"yyyyMMdd") & "_" & Rand.NextString(4)  & "." & ex
                If flm.FTPclient.FileExists(ufl) Then '文件存在
                    flm.FTPclient.DeleteFile(ufl)  '删除文件
                End If
                If flm.FTPclient.Upload(fl,ufl) = True Then '上传成功
                    flm.AddFile(ufl)
                    FileSys.DeleteFile(fl,2,2)
                Else
                    MessageBox.Show(ufl & "文件上传失败!")
                End If
            End If
        Next
        PS_Files.clear
    End If
Else
    For Each fl As String In FileSys.GetFiles(Tables("本地选项").Current("监控路径"))
        If  FileSys.FileExists(fl) Then
            Dim ex As String = fl.SubString(fl.LastIndexOf(".") + 1) '获取文件后缀名
            ufl = ftpDir & Format(Date.Now,"yyyyMMdd") & "_" & Rand.NextString(4)  & "." & ex
            If flm.FTPclient.FileExists(ufl) Then '文件存在
                flm.FTPclient.DeleteFile(ufl)  '删除文件
            End If
            If flm.FTPclient.Upload(fl,ufl) = True Then '上传成功
                flm.AddFile(ufl)
                FileSys.DeleteFile(fl,2,2)
            Else
                MessageBox.Show(ufl & "文件上传失败!")
            End If
        End If
    Next
End If
Tables(dtName).save()


我把“附件管理”窗口做成了一个通用窗口,在任何表中,只要需要附件上传、浏览、删除等操作的,都可以直接调用该窗口,方便得很。
最大的好处是如果是网络版软件,不同用户使用不同的扫描硬件(打印机、高拍仪、扫描仪),可以做到互不干扰。
[此贴子已经被作者于2023/6/12 9:59:10编辑过]

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


加好友 发短信
等级:小狐 帖子:310 积分:2941 威望:0 精华:0 注册:2017/9/14 8:21:00
  发帖心情 Post By:2023/6/15 14:08:00 [显示全部帖子]

WX号:edingE8333

 回到顶部