Foxtable(狐表)用户栏目专家坐堂 → [求助]索引超出数组界限


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

主题:[求助]索引超出数组界限

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


加好友 发短信
等级:婴狐 帖子:10 积分:231 威望:0 精华:0 注册:2014/4/16 23:20:00
[求助]索引超出数组界限  发帖心情 Post By:2014/5/28 18:51:00 [只看该作者]

Dim Info As String
Info = FileSys.ReadAllText(ApplicationPath & "wz.txt", Encoding.Default) '读取生成的文本文件
info = info.Replace(vbcrlf,vblf) '将回车换行替换为换行
Dim pars() As String = Info.Split(vblf) '将读取的信息拆分为数组
Dim r As Row = Tables("客户表").AddNew
r("姓名") = pars(0).Trim()
r("性别") = pars(1).Trim()
r("民族") = pars(2).Trim()
r("出生日期") = pars(3).replace("年","-").Replace("月","-").Replace("日","")
r("地址") = pars(4)
r("身份证号码") = pars(5)
r("发证机关") = pars(6)
r("有效期") = pars(7).SubString(0,10).Replace(".","-")
r("有效期") = pars(7).SubString(11).Replace(",","-")
FileSys.CopyFile(ApplicationPath & "zp.bmp", ProjectPath & "\Attachments\" & r("身份证号码") & ".bmp",True) '照片复制到Attachments目录
r("身份证图片") = r("身份证号码") & ".bmp"

 

这个代码那里出错了??在命令窗口执行会弹出索引超出数组界限


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


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

 应该是格式不对你加一个判断。你把你的wz.txt传上来看看。


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


加好友 发短信
等级:婴狐 帖子:10 积分:231 威望:0 精华:0 注册:2014/4/16 23:20:00
回复:(有点甜) 应该是格式不对你加一个判断。...  发帖心情 Post By:2014/5/28 23:32:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:wz.txt


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


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

 看了一下,你的格式明显不是能这样获取的。你看看具体的使用说明,看怎样生成的txt是哪种格式的。

 

 你执行一下下面的代码,自己看怎么去调整字符吧。

 

Dim Info As String
Info = FileSys.ReadAllText("d:\test.txt", Encoding.unicode) '读取生成的文本文件
info = info.Replace("     ", chr(11)) '将回车换行替换为换行
Dim pars() As String = Info.Split(chr(11)) '将读取的信息拆分为数组
For Each par As String In pars
    output.show(par)
Next


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


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

用下面的代码截取到信息,然后自己看着办吧。

 

Dim Info As String
Info = FileSys.ReadAllText("d:\test.txt", Encoding.unicode) '读取生成的文本文件
Dim reg As new System.Text.RegularExpressions.Regex(".+? +")
Dim mc As object = reg.Matches(info)
For i As Integer = 0 To mc.count - 1
    output.show(mc(i).value)
Next


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


加好友 发短信
等级:婴狐 帖子:10 积分:231 威望:0 精华:0 注册:2014/4/16 23:20:00
回复:(有点甜)用下面的代码截取到信息,然后自己看...  发帖心情 Post By:2014/5/29 10:49:00 [只看该作者]

谢谢你,我等下回公司再练习下,难得有大神帮忙解决

 


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


加好友 发短信
等级:婴狐 帖子:10 积分:231 威望:0 精华:0 注册:2014/4/16 23:20:00
  发帖心情 Post By:2014/5/30 0:04:00 [只看该作者]

现在信息能读取了,但是字符串也调整了,但是窗口这里的文本格式 出生日期字符串如何转换成2013-05-14的格式,
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140530000128.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-5-30 0:05:12编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/30 9:01:00 [只看该作者]

身份证号码读取日期 http://www.foxtable.com/help/topics/0320.htm

 回到顶部