回 帖 发 新 帖 刷新版面

主题:查询身份证信息源代码(添校验功能),和身份证号与区域对照表

数据表是根据:
中华人民共和国国家统计局,最新县及县以上行政区划代码(截止2006-12-31 08:56:35)整理的。

[color=008080][size=5]查询身份证信息源代码在六楼。[/size][/color]

[color=0000FF][size=4]源代码修改通知:
根据 0901chang 先生 2007-7-9 无私贡献的代码:
      增添了核对校验码功能:
根据 jinlonggao 和 esailor 两位先生 2007-7-9 纠错指导:
      修改了 18 位身份证性别出错的问题。
根据 esailor 先生 2007-7-8  意见;
      添加了在众多表中自动搜索配套数据表功能。
[/size]
[size=5]对以上高手,我表示衷心得感谢!!![/size][/color]

[color=FF0000][size=4]凡是回帖说明使用结果者,或发表评论新帖子者, [/size] [/color] [color=0000FF][size=3]请将你的电子信箱号码发到。我的论坛信箱。我将不定期赠送不常见的编程实例。[/size][/color]
如:
在 vfp 中,怎样以控件方式操作运行 word 或 excel。
在 vfp 中,怎样构造各种最新界面。
怎样真正使用以数据库为中心的编程方法。
怎样维护和操作:windows 的各种进程。……
vfp 之所以强大,它不但是数据库编程环境,而且有强大的编程环境。别的语言能实现的功能 vfp 都能实现,这是我使用的 20 多年的编程经验。

回复列表 (共69个回复)

41 楼

[quote] 用vf6.0测试结果不行。
有验校身份证号码失败的提示,而且vf关闭不了[/quote]

1: 这是一种验证输入的方法:无论哪种 vf 版本,当你不输入正确的身份证号码是无法退出系统的。

这是为了启发编程正者的一种思考方式。([color=FF0000]强制用户输入正确信息[/color],在数据库的存储过程重要的使用方法。)
谢谢你!!!

42 楼

cbl518弟你好:
     我这几日正在忙着解决DBF表转EXCEL那个问题,计划解决完那个问题再解决日历这个问题,届时再向老弟反馈情况呀。

43 楼

楼主辛苦了

44 楼


我新手顶下!

45 楼

解决了我的大问题,谢谢!

46 楼

辛苦了,向你好好学学。

47 楼

谢谢楼主的经验。我才开始学习VFP,不懂的地方很多,希望能向您请教。
在这里,我就有一个问题百思不解,请您看一看。我的邮箱是304201167@qq.com。

这是一个浮动表单在顶层表单中显示的问题。

    关于顶层表单,一般都是分别建立表单文件*.scx。把其中一个表单设置为顶层表单,然后在顶层表单中用do form命令调用其他表单。
    可是我想在表单集中用一个表单做顶层表单,其余表单作为浮动表单。这样可以保持数据表的联动。
    于是我创建了一个表单集,并把表单form1设置(Thisformset.form1.ShowWindow=2)为顶层表单。
    表单form2设置(Thisformset.form2.ShowWindow=1,Thisformset.form2.desktop=1)为在顶层表单中的浮动表单。
    但是我在表单form1中用按钮的command1.click调用表单form2时,form2却在visual foxpro主窗口中显示。
    我在thisformset的Load中写入_Screen.Visible=.F.,但没有用,
    程序运行后表单form2.ShowWindow=0(又变回了默认值),这是为什么?
    我希望form2在form1中显示,该怎么办?请您帮助我。谢谢。

48 楼


342825430103001————————————————结果:没有《342825430103001》身份证号码!此乃老证
340825430103001--------------------------------有结果,可能是342825430103001的。

342825194703210047—————————————— 结果:没有《342825194703210047》身份证号码!此乃新证。
340825194703210047-----------------------------结果:验校《340825194703210047》身份证号码失败!

*强制用户输入正确信息当然应该,不过,也应该让人家在手头没有正确信息时正常退出。
*我想这样:
****************
*1.提示退出方法:
    ADD OBJECT lab0 AS label WITH caption='不想输入则清空',top=90,left=30
****************

    PROCEDURE text1.InteractiveChange
        WITH thisform
            LOCAL c1
            c1=TRIM(.text1.value)

***************
*2.可以正常退出
            IF EMPTY(c1)
                .text1.Init
            endif
***************

            IF LEN(c1)=18 OR (LEN(c1)=15 AND ! INLIST(SUBSTR(.text1.value,7,2),"19","20"))
                .text1.Valid()
                RETURN
            ENDIF
            IF ! EMPTY(".text1.tag")
                .label1.value=""
                .label2.Caption="出生日期:"
                .label3.Caption="性  别  :"
                .text1.tag=""
                RETURN
            ENDIF
        ENDWITH
    ENDPROC

49 楼

zhadalou 老师:
你好! 我的资料来源《中华人民共和国国家统计局,最新县及县以上行政区划代码》,在国家统计局行政区划代码中:没有 3428 这个区域代码。为什么我也搞不清。

关于退出问题:
我是为了启发网友,编程如何使用(强制用户输入正确信息)的,一种思考方式。
为了引其注意 网友 的重视,采用该办法!

如果,要退出的话,
在 .text1.Valid() 事件添加:
用 if 判断鼠标的当前位置,如果鼠标在《退出》按钮的位置上时,返回 .T. 即可。

万分感谢你的指导!!!

50 楼

48楼:查达搂
行政区划代码,34是安徽省,3411-3499是地级市地代码,目前安徽省只有18个地级市,就是说,安徽地行政区划代码是从34000-3418xx,根本就没有3428xx,是你搞错了。

建议cbl518兄,给他们一个代码区间和地名的提示。另外,输错就退出,有点太残酷,建议你也给提示,其实乌鸦特别赞赏你做阿公的姿态,乌鸦也想做阿公,但是没有能力。

我来回复

您尚未登录,请登录后再回复。点此登录或注册