Создание банковского ключа

Previous  Top  Next

    
 

 

Code:

function CheckCtrlKey( aNLs : string; aMfo : real ) : boolean;

const

{12345678901234567890xxx}

msk : string[28]= '71371371371371371371713';

var

i : byte;

s : integer;

nls : string[28];

bic : string[10];

begin

bic := LeftPad( Real0Str( aMfo, 9, 0 ), 9 );

if bic[7] < >  '0' then {< =Простая проверка -- это РКЦ?}

   { не учитывает ГРКЦ }

   nls := bic[7]+bic[8]+bic[9]

else

   nls := '0'+ bic[5]+bic[6]; { РКЦ }

nls := aNLs + nls;

s:= 0;

for i := 1 to 23 do

   s := s + ( ( (byte(nls[i])-48) * (byte(msk[i])-48) ) mod 10 );

s := s mod 10;

CheckCtrlKey := s = 0;

end;

 

 

 

©Drkb::04052

http://delphiworld.narod.ru/

DelphiWorld 6.0