- 20 Ağu 2016
- 8,754
- 411
http://www.turkhackteam.org/c-j-vb-net-net-dilleri/1458245-c-tc-kimlik-no-dogrulama-kontrol-programi-cem-adrian.html mantık linkteki konumdaki ile aynı
Kod:
Function TCKimlikDogrula(TCNo : String) : Boolean;
var
bir,iki,uc,dort,bes,alti,yedi,sekiz,dokuz,onn,onbir,
ilk,son,onuncu,onbirinci : integer;
_Soniki, pSoniki : string;
begin
if (Length(TCNo) < 11) or (Length(TCNo) > 11 ) then
begin
ShowMessage('doğru düzgün gir tc no nu !!');
Abort
end
else
bir := StrToInt(TCNo[1]);
iki := StrToInt(TCNo[2]);
uc := StrToInt(TCNo[3]);
dort:= StrToInt(TCNo[4]);
bes := StrToInt(TCNo[5]);
alti:= StrToInt(TCNo[6]);
yedi:= StrToInt(TCNo[7]);
sekiz:= StrToInt(TCNo[8]);
dokuz:= StrToInt(TCNo[9]);
onn := StrToInt(TCNo[10]);
onbir:= StrToInt(TCNo[11]);
ilk := (bir+uc+bes+yedi+dokuz) * 7;
son := iki+dort+alti+sekiz;
onuncu := (ilk - son) mod 10;
onbirinci := (bir+uc+bes+yedi+dokuz+iki+dort+alti+sekiz+onuncu);
onbirinci := onbirinci mod 10;
_Soniki := IntToStr(onuncu) + IntToStr(onbirinci);
pSoniki := TCNo[10] + TCNo[11];
if _Soniki = pSoniki then
begin
Result := True;
end
else
Result := False;
end;