以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  这个语句放进函数执行不了?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149669)

--  作者:gudao123456
--  发布时间:2020/5/8 23:23:00
--  这个语句放进函数执行不了?
这行代码:
FileSys.CopyFile("c:\\mydata\\idcard1.jpg", ProjectPath  & "Attachments\\" & zp & ".jpg",True) \'照片复制到Attachments目录
在命令窗口执行有结果,但放进自定义函数后却不能得到结果,为什么?谢谢!


--  作者:sloyy
--  发布时间:2020/5/9 1:24:00
--  
因为你写错了咧,这么简单的道理
自定义函数是有一定格式的,你贴出来我们才知道你哪里写错了

--  作者:有点蓝
--  发布时间:2020/5/9 9:21:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm
--  作者:gudao123456
--  发布时间:2020/5/9 16:37:00
--  
没有任何错误提示,而且这个代码,基本就是抄帮助文档身份证阅读器的读取代码,除了拷贝照片和把照片文件名写在照片列得不到想要的结果外,其他的都有结果。代码如下:

Dim Info As String
Info = FileSys.ReadAllText( "c:\\mydata\\idcard.txt", Encoding.Default) \'读取生成的文本文件
info = info.Replace(vbcrlf,vblf) \'将回车换行替换为换行
Dim zp As String
Dim pars() As String = Info.Split(vblf) \'将读取的信息拆分为数组
Dim r As Row = Tables("xsjbxxb").AddNew
r("xsxm") = pars(0).Trim()
r("sfzhm") = pars(1).Trim()
r("xb") = pars(2).Trim()
r("mz") = pars(4).Trim()
r("birthday")=pars(4).Trim()
r("hjszd") = pars(5).Trim()
zp=r("sfzhm")
FileSys.CopyFile("c:\\mydata\\idcard1.jpg", ProjectPath  & "Attachments\\" & zp & ".jpg",True) \'照片复制到Attachments目录
r("IDcard1") =zp & ".jpg"

Dim Info1 As String
Info1 = FileSys.ReadAllText( "c:\\mydata\\银 行卡号.txt", Encoding.Default) \'读取生成的文本文件

info1 = info1.Replace(vbcrlf,vblf) \'将回车换行替换为换行
Dim pars1() As String = Info1.Split(vblf)
Dim dr As Row = Tables("xsjbxxb").current
dr("yhkh") = pars1(0).Trim()

补充:把代码:
FileSys.CopyFile("c:\\mydata\\idcard1.jpg", ProjectPath  & "Attachments\\" & zp & ".jpg",True) \'照片复制到Attachments目录
r("IDcard1") =zp & ".jpg"
单独在命令窗口运行,是得到需要结果的。是否还需要传递相关参数,如:目录“c:\\mydata”?

[此贴子已经被作者于2020/5/9 16:42:31编辑过]

--  作者:有点蓝
--  发布时间:2020/5/9 16:46:00
--  
调试不仅仅为了提示错误,也可以用来提示关键数据是不是符合要求

Dim Info As String
Info = FileSys.ReadAllText( "c:\\mydata\\idcard.txt", Encoding.Default) \'读取生成的文本文件
msgbox(info)
info = info.Replace(vbcr,"") \'将回车换行替换为换行
Dim zp As String
Dim pars() As String = Info.Split(vblf) \'将读取的信息拆分为数组
msgbox(pars.length)
Dim r As Row = Tables("xsjbxxb").AddNew
r("xsxm") = pars(0).Trim()
r("sfzhm") = pars(1).Trim()
r("xb") = pars(2).Trim()
r("mz") = pars(4).Trim()
r("birthday")=pars(4).Trim()
r("hjszd") = pars(5).Trim()
zp=r("sfzhm")
msgbox(zp)
FileSys.CopyFile("c:\\mydata\\idcard1.jpg", ProjectPath  & "Attachments\\" & zp & ".jpg",True) \'照片复制到Attachments目录
r("IDcard1") =zp & ".jpg"

Dim Info1 As String
Info1 = FileSys.ReadAllText( "c:\\mydata\\银 行卡号.txt", Encoding.Default) \'确定【 行卡号.txt】中间是有空格的?
msgbox(Info1 
info1 = info1.Replace(vbcr,"") \'将回车换行替换为换行
Dim pars1() As String = Info1.Split(vblf)
Dim dr As Row = Tables("xsjbxxb").current
dr("yhkh") = pars1(0).Trim()

--  作者:gudao123456
--  发布时间:2020/5/9 17:02:00
--  
谢谢!
问题找到了,我是记错了,原来是分成了两个函数单独写了的(看了文件监测器代码才发现,低级错误!),那句代码,没有写进第一个函数里 所以执行函数肯定没结果。不好意思,谢谢!