在你的Form中放一个Button1,三个Edit,双击Button1输入下面的代码就能实现你的需要的功能了:
procedure TForm1.Button1Click(Sender: TObject);
var
sNum,sY,sM,sD:String;
dDate:TDate;
begin
sNum:=edit1.Text;
if (length(sNum)<>15) and (length(sNum)<>18) then begin
edit3.text:='输入的身份证号码不合法';
edit2.text:=edit3.text;
exit;
end;
if length(sNum)=15 then insert('19',sNum,7);
sY := Copy(sNum,7,4);
sM := Copy(sNum,11,2);
sD := Copy(sNum,13,2);
dDate := StrToDate(sY + '-' + sM +'-' + sD);
edit3.text:=inttostr(YearsBetween(Now,dDate));
if strtoint(sNum[17]) mod 2=0 then
edit2.text:='女'
else
edit2.text:='男';
end;