Foxtable(狐表)用户栏目专家坐堂 → 程序代码求教


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

主题:程序代码求教

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


加好友 发短信
等级:幼狐 帖子:86 积分:951 威望:0 精华:0 注册:2008/9/2 20:04:00
程序代码求教  发帖心情 Post By:2008/10/9 15:20:00 [只看该作者]

在易表中有个函数可以从身份证号里得出性别、出生年月日,在狐表里没有找到这个函数,这段代码该如何写,请大家指教,谢谢

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/10/9 15:23:00 [只看该作者]

在foxtable中,这两个函数的名称和意表一样,用法也一样

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


加好友 发短信
等级:超级版主 帖子:315 积分:3217 威望:0 精华:6 注册:2008/8/31 19:42:00
  发帖心情 Post By:2008/10/9 15:31:00 [只看该作者]

 

ReadSex

从身份证号码中读取性别

语法

ReadSex(Value)

Value:身份证号码

例如:

Dim Identify As String = "410110197109172433"
Dim
Sex As String = ReadSex(Identify)
Output.Show(Sex)

上述代码的输出结果是“男”。

 
 

ReadBirthDay

从身份证号码中读取出生日期

语法

ReadBirthDay(Value)

Value:身份证号码

例如:

Dim Identify As String = "410110197109172433"
Output.Show(ReadBirthDay(Identify))

上述代码的输出结果是“1971-9-17”,即1971年9月17日




下次记得先搜索一下帮助文件哦.

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


加好友 发短信
等级:幼狐 帖子:86 积分:951 威望:0 精华:0 注册:2008/9/2 20:04:00
  发帖心情 Post By:2008/10/9 16:09:00 [只看该作者]

e.row("性别")  = ReadSex("身份证号")
e.row("出生日期") = ReadBirthDay("身份证号")
为什么计算的结果不对啊, 性别列没有计算结果,出生日期为0001-01-01


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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/10/9 16:23:00 [只看该作者]

呵呵,传上来看看
要多看帮助,包括计算代码部分。
[此贴子已经被作者于2008-10-9 16:22:57编辑过]

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


加好友 发短信
等级:幼狐 帖子:86 积分:951 威望:0 精华:0 注册:2008/9/2 20:04:00
  发帖心情 Post By:2008/10/9 16:36:00 [只看该作者]

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



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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/10/9 16:45:00 [只看该作者]

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


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


加好友 发短信
等级:幼狐 帖子:86 积分:951 威望:0 精华:0 注册:2008/9/2 20:04:00
  发帖心情 Post By:2008/10/9 18:08:00 [只看该作者]

Dim d As Date = Date.Today
dim b as integer= SubString(Convert("d",'System.String'),1,4)
dim a as Integer = "1975"
dim v as integer = "b"-"a"
output.show(v)
求教这段代码那里错了?

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


加好友 发短信
等级:一尾狐 帖子:445 积分:3025 威望:0 精华:0 注册:2008/9/13 10:49:00
  发帖心情 Post By:2008/10/9 19:45:00 [只看该作者]

Convert 只能用于表达式中?!


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


加好友 发短信
等级:贵宾 帖子:102 积分:880 威望:0 精华:4 注册:2008/8/31 21:47:00
  发帖心情 Post By:2008/10/10 9:05:00 [只看该作者]

以下是引用btsfdz在2008-10-9 18:08:00的发言:
Dim d As Date = Date.Today
dim b as integer= SubString(Convert("d",'System.String'),1,4)
dim a as Integer = "1975"
dim v as integer = "b"-"a"
output.show(v)
求教这段代码那里错了?

有3类错误:一个是Convert的使用环境有问题,一个是整数和字符的数据类型混淆,一个是SubString用法问题。
1、从帮助文件上看,Convert只能用于表达式环境,你看Convert("d",'System.String')中单引号,如果在命令窗口和代码中就当作注释了,显然有问题。
2、SubString,同样是“获取从字符串中的指定点开始,具有指定长度的子字符串”功能,但在表达式和代码中的语法是不同的,表达式式中语法是:SUBSTRING(expression, start, length) ,比如SUBSTRING([电话号码], 7, 8),涉及到表字段,代码中的语法是SubString(StartIndex)或SubString(StartIndex, Length),而且是作为字符串的属性引用。比如:
Dim s1 As String ="中华人民共和国"
Dim
s2 As String
Dim
s3 As String
s2 = s1.SubString(2)
s3 = s1.SubString(2,3)
3、用引号括起来的"1975"是字符型String,数字1975才是整数型Integer,两者不相等也无法相加减。"b"-"a"明显是错误的。

可以改成:
Dim d As Date = Date.Today
Dim b As Integer = d.year
dim a as Integer = 1975
dim v as integer = b-a
output.show(v)

如果要用SubString折腾一下,也可以这样:
Dim d As Date = Date.Today
dim b as string=d.ToString().SubString(0,4)
dim bb as Integer
Integer.TryParse(b, bb)
dim a as Integer = 1975
dim v as integer = bb-a
output.show(v)


 回到顶部
总数 11 1 2 下一页