身价证号码规则详解

一、格式介绍:
【15位号码格式】
1、第l一6位数为行政区划代码; 
2、第7-12位数为出生日期代码; 
3、第13---15位数为分配顺序代码; 
(1)、行政区划代码,是指公民第一次申领居民身份证时的常住户口所在地的行政地区。 
(2)、出生日期代码,第7-8位数代表年份(年份前面二位数省略),第9-10位数代表月份(月份为l位数的前面加零)。第11一12位数代表日期(日期为1位数的前面加零)。 
(3)、分配顺序代码,是按人口数统一合理分配以固定顺序给予每个人的顺序号,最末一位数是奇数的分配给男性,偶数分配给女性。

【18位号码格式】

  1. 1~6位为地区代码;
    (其中1、2位数为各省级政府的代码,3、4位数为地、市级政府的代码,5、6位数为县、区级政府代码。)
  2. 7~14位为出生年月日 
    3.15~17位为顺序号,是县、区级政府所辖派出所的分配码,每个派出所分配码为10个连续号码,例如“000-009”或“060-069”,其中单数为男性分配码,双数为女性分配码,如遇同年同月同日有两人以上时顺延第二、第三、第四、第五个分配码。如:007的就是个男生 而且和他同年月日生的男生至少有两个 他们的后四位是001* 和 003* 
    4.18位为效验位(识别码),通过复杂公式算出,普遍采用计算机自动生成。是前面17位的一种检验代码,如果你改变了前面某个数字而后面的效验代码不响应改变就会被计算软件判断为非法身份正号码。X也是效验代码的一种,代表数字10;
Posted in 软件开发 at March 9, 2019. by 傻猫 .    Views: 406    No Comments

Delphi7调用C#的webservice,在windows2008下不能运行??

程序在win7,64位和XP,32位下没问题,都正常,只是在window2008下,不能运行,提示错误:

Access violation at address 02496741. Write of address 02496741.

检查来,检查去,发现是出在了这行代码上:
edit1.Text := (HTTPRIO1 as WebService1Soap).HelloWorld;

解决办法:在windows2008上,右键电脑--属性-性能--数据保护,添加了这个程序例外数据执行保护后,就正常了。

Posted in 软件开发 at December 5, 2018. by 傻猫 .    Views: 921    No Comments

Delphi ListView排序

var
m_bSort:Boolean; //控制正反排序的变量

implementation

{$R *.dfm}
//ListView排序的回调函数,默认的是快速排序法,也可以自己在这里做算法
function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
var txt1,txt2:string;
begin
if ParamSort <> 0 then
begin
try
txt1:=Item1.SubItems.Strings[ParamSort-1];
txt2:=Item2.SubItems.Strings[ParamSort-1];
if m_bSort then begin
Result:=CompareText(txt1,txt2);
end else begin
Result:=-CompareText(txt1,txt2);
end;
except
end;

  end
  else
  begin
          if   m_bSort   then
          begin
                Result:=CompareText(Item1.Caption,Item2.Caption);
          end
          else
          begin
                Result:=-CompareText(Item1.Caption,Item2.Caption);
          end;
  end;

end;

procedure TFrm_CommunityModify.lv_SelectedHDTCColumnClick(Sender: TObject;
Column: TListColumn);
begin
lv_SelectedHDTC.CustomSort(@CustomSortProc,Column.Index);
m_bSort:=not m_bSort;
end;

Posted in 软件开发 at November 14, 2017. by 傻猫 .    Views: 4814    No Comments

【解决】由于没有远程桌面授权服务器可以提供许可证,远程回话被中断

由于windows server 2008 R2 安装了 远程桌面角色,但是这个角色是120天免费的,需要购买授权的【可恶的微软,多用户登录,都要收钱。对于unix来说,多用户是很普通的系统功能】

解决方法是取消这个角色,就可以恢复正常的远程了。

现在无法远程,提示这个错误,怎么才能登陆,取消角色呢?

mstsc /v:IP /admin

这样就可以登陆了。然后再把远程桌面 角色删除,重启计算机,OK done!

资料:百度

http://hi.baidu.com/yuanyang203/item/269f0b5ff95bba4c4eff20c4

Posted in 软件开发 at October 3, 2017. by 傻猫 .    Views: 4630    No Comments

Delphi中获取Unix时间戳及注意事项

uses DateUtils;
DateTimeToUnix(Now)

可以转换到unix时间,但是注意的是,它得到的时间比C语言中time()得到的时间大了86060,这是因为Now是当前时区的时间,c语言中time()是按格林威治时间计算的,北京时间比格林威治时间多了8小时,DateTimeToUnix(Now)-86060 就和c语言中time()得到的一样了。

但我进一步研究DateTimeToUnix函数时发现,Delphi中的时间没有经过任何的转换,是直接读取系统时间

我试着改变当前计算机时区,发现Delphi返回值没有任何改变。

而在C++中,改变计算机时区,则time()返回值也随着改变,这就说明C++中标准时间是通过本地时间和当前时区进行计算得来的。

因此,在Delphi开发时,需要注意Delphi获取的时间戳是当前计算机所在时区时间,并非标准UTC时间。

UnixToDateTime()函数并没有对时区进行转换,仅仅是对时间进行了转换。

文章来源:http://blog.csdn.net/missmecn/article/details/5870639

Posted in 软件开发 at August 23, 2017. by 傻猫 .    Views: 4886    No Comments

CnPack 组件包所有源代码

CnPack 2009-09-14 SVN 包,包括以下内容:

  1. CnPack 组件包所有源代码。
  2. CnPack 开发组所有文档和模板,其中帮助文档目前包括多语帮助文档、CnDebugger 接口帮助文档、CnCalendar 历法说明文档、平滑字体组件帮助文档、停靠组件帮助文档等。
  3. 开发组其它工作成果。

以下是 cnpack\Source 目录内容说明:

\Common -公共库目录

CnBase64.pas
Base64 编码解码算法单元

CnCalClass.pas
历法计算类库

查看更多内容...

Posted in 软件开发 at August 23, 2017. by 傻猫 .    Views: 3497    No Comments

恢复delphi7 文件关联

我的机器上先装了Delphi6,之后又装了Delphi2006,昨日将Delphi2006卸载后,Delphi相关的.dpr、.pas等文件都既不见了图标又失去了关联,Delphi6没有自动恢复文件关联的功能。

Windows命令assoc[.ext[=[fileType]]],
.ext:指定跟文件类型关联的文件扩展名,
fileType 指定跟文件扩展名关联的文件类型。

在命令行执行以下命令即可。

assoc.bpg=BorlandProjectGroup
assoc.dpr=DelphiProject
assoc.pas=DelphiUnit
assoc.dfm=DelphiForm
assoc.xfm=DelphiCLXForm
assoc.dpk=DelphiPackage

Posted in 软件开发 at June 10, 2017. by 傻猫 .    Views: 3325    No Comments

解决错误提示unable to invoke code completion due to errors in source cord.

出现这个错误,一般都是直接复制代码产生的,可能delphi编译器有点问题,把复制过来的代码粘贴到delphi中的时候,默认每行后面会产生很多不可见得空格,主要的原因还是字符串的格式有问题,所以就会出现代码明明能编译通过,程序也能正常运行的,可是自己写代码的时候,在delphi默认提示跳出的时候,不能提示,跳出编译错误unable to invoke code completion due to errors in source cord.

解决办法,把delphi的代码全部选择,复制,再打开ultraedit,ctrl+v粘贴到ultraedit中,再全部选择代码----格式--删除行尾空格,这样把一些不规则的

filehelper_1488336620419_73.png

看不到的空格去掉,然后再复制回到delphi中,重新编译写,就没有这个提示了,这样错误,有时候是很难看出来的,代码没错,语法没错。。。

Posted in 软件开发 at March 1, 2017. by 傻猫 .    Views: 2821    No Comments