Создание банковского ключа
Материал из DRKB
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(RealToStr(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;
Result := (s = 0);
end;
Source: http://delphiworld.narod.ru/
ID: 04052