Kod: Tümünü seç
function KodDogrula(TcKimlik:String):Boolean;
var I:Integer;
A: Array[0..10] of Byte;
Kod:Integer;
begin
if Length(TcKimlik)=11
then
begin
for I := 0 to 10 do A[I]:=StrToInt(MidStr(TcKimlik,I+1,1));
Kod:=0;
for I := 0 to 9 do Kod:=Kod+A[I];
Result:=((RightStr(inttostr(Kod),1)=inttostr(A[10])) AND (Strtoint((RightStr(inttostr((((A[0]+A[2]+A[4]+A[6]+A[8])*7)+((A[1]+A[3]+A[5]+A[7])*9))),1)))=A[9]) AND (Strtoint((RightStr(inttostr((((A[0]+A[2]+A[4]+A[6]+A[8])*8))),1)))=A[10]));
end
else
begin
ShowMessage('Eksik veya fazla rakamdan oluşuyor. Lütfen tekrar giriniz.');
Result:=False;
end;
end;