以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  外接高拍仪  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186917)

--  作者:rgbjwjb
--  发布时间:2023/6/8 10:23:00
--  外接高拍仪
我在设计的窗口中添加了一个“拍照”按钮,该窗体绑定的表格中有一个“照片”字段,扩展为多图片列;
刚买了台高拍仪用于此项功能,高拍仪相关的sSDK也发来了,驱动也安装了,可以拍照了;
桌面上应添加哪个控件(面板、图片、图片浏览器)?另外我还想请教一下设计思路,谢谢!

--  作者:有点蓝
--  发布时间:2023/6/8 10:24:00
--  
论坛搜索“高拍仪”
--  作者:rgbjwjb
--  发布时间:2023/6/8 10:59:00
--  
c#文件夹下是包括三个CSS,两个markup,一个properities文件夹,一个OBJ 文件夹,一个bin文件夹,没有.DLL类的


--  作者:有点蓝
--  发布时间:2023/6/8 11:13:00
--  
看开发文档说明吧。
--  作者:rgbjwjb
--  发布时间:2023/6/11 21:43:00
--  

这是厂家发来的SDK安装后的文件夹,我没看懂,麻烦老师看看后给我提个设计思路,谢谢!链接:https://pan.baidu.com/s/1R0M8iWdq8_Ky07IQPgyzJQ 
提取码:aayw 


--  作者:有点蓝
--  发布时间:2023/6/11 22:27:00
--  
提供的都是C++的东西,我也看不懂。找vb.net或者C#的使用说明
--  作者:一丁
--  发布时间:2023/6/12 9:03:00
--  
SDK用不了,可以换一个思路:
1.在“拍摄”按钮中直接调用高拍仪自带的拍摄程序;
2.给高拍仪自带程序拍摄存储文件指定一个目录;
3.监视存储文件目录,如果有新文件存储,则提示是否上传;
4.根据用户选择,将拍摄文件上传。

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

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

--  作者:rgbjwjb
--  发布时间:2023/6/12 9:33:00
--  
谢谢!能否介绍得更详细点?“拍照”的代码怎么写?“照片”列设置为多图片?请指教,谢谢!
--  作者:一丁
--  发布时间:2023/6/12 9:44:00
--  
拍摄需要两个关键参数:
参数1:拍摄所调用的程序及路径;
参数2:监控文件存储路径
因为这两个参数可能会随时变化,故而我把它设置成本地系统选项方式。


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


--  作者:一丁
--  发布时间: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编辑过]