unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm2 = class(TForm)
edt1: TEdit;
edt2: TEdit;
edt3: TEdit;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;
s : string;
a : string;
b : string;
c : string;
d : Integer;implementation{$R *.dfm}
procedure TForm2.btn1Click(Sender: TObject);
begin
s:= edt1.Text;
if s[16] = null then begin
a := Copy(s,9,2);
b := Copy(s,11,2);
end else
a := Copy(s,11,2);
b := Copy(s,13,2); begin
if s[16] = null then
c := Copy(s,15,1)
else
c := Copy(s,18,1);
end; d := StrToInt(c); edt2.Text := a + '月' + b + '日' ;
begin
if d mod 2 = 0 then
edt3.Text := '女'
else
edt3.Text := '男';
end;end;
end.程序是输入身份证号然后显示生日和性别,输入十八位的身份证没有问题,但是输入十五位的就会出现错误,"" is not a valid integer value 这个错误 ,刚刚开始学习delphi, 请大家赐教!!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm2 = class(TForm)
edt1: TEdit;
edt2: TEdit;
edt3: TEdit;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;
s : string;
a : string;
b : string;
c : string;
d : Integer;implementation{$R *.dfm}
procedure TForm2.btn1Click(Sender: TObject);
begin
s:= edt1.Text;
if s[16] = null then begin
a := Copy(s,9,2);
b := Copy(s,11,2);
end else
a := Copy(s,11,2);
b := Copy(s,13,2); begin
if s[16] = null then
c := Copy(s,15,1)
else
c := Copy(s,18,1);
end; d := StrToInt(c); edt2.Text := a + '月' + b + '日' ;
begin
if d mod 2 = 0 then
edt3.Text := '女'
else
edt3.Text := '男';
end;end;
end.程序是输入身份证号然后显示生日和性别,输入十八位的身份证没有问题,但是输入十五位的就会出现错误,"" is not a valid integer value 这个错误 ,刚刚开始学习delphi, 请大家赐教!!!
解决方案 »
- 【恭喜雨老师】又一个高级水货诞生,恭喜!
- 用delphi如何连接并操作一个网站下的数据库文件?
- 居然用完了30个回复,没得玩了
- 如何接收局域网其他机器声卡的声音?
- 【板务醒目】辞去 Windows SDK/API 板斑竹职务 1/10【散分醒目】
- 关于存款的统计问题
- 在QuickReport中连续打印,设定了一个自定义的纸张,却按A4的长度进行打印,在线等待。
- Could not create output file 'GAMManager.exe'
- 菜鸟问:ACESS数据库,ADO连接,出错!
- 很怪的一个问题!
- 怎么用Delphi实现使用listview和checkBox相结合的功能
- IdHTTP抓文件遇到CC防火墙.抓取的页面不对如何解决...
procedure TForm1.Button1Click(Sender: TObject);
begin
s:= edit1.Text;
if length(s) = 15 then
begin
a := Copy(s,9,2);
b := Copy(s,11,2);
end
else
begin
a := Copy(s,11,2);
b := Copy(s,13,2);
end;
if length(s) = 15 then
c := Copy(s,15,1)
else
c := Copy(s,18,1);
d := StrToInt(c);
edit2.Text := a + '月' + b + '日' ;
if d mod 2 = 0 then
edit3.Text := '女'
else
edit3.Text := '男';
end;
procedure TForm2.btn1Click(Sender: TObject);
begin
s:= edt1.Text;
if not( length(s) in [15,18]) then
begin
showmessage('不是身份证号!');
exit;
end;
begin
s:= edt1.Text;
if s[16] = null then begin
a := Copy(s,9,2);
b := Copy(s,11,2);
end else
a := Copy(s,11,2);
b := Copy(s,13,2);
错误就是上面这句。 begin
if s[16] = null then
c := Copy(s,15,1)
else
c := Copy(s,18,1);
end; d := StrToInt(c); edt2.Text := a + '月' + b + '日' ;
begin
if d mod 2 = 0 then
edt3.Text := '女'
else
edt3.Text := '男';
end;end;
15位字符,S[16]不是null,而是 S[16]= ' '