Архив исходников программ, модулей и компонентов на Delphi


Начальная страница

Поиск по базе



Операционная система
Настройка приложения
Взаимодействия приложений
Файлы и директории
Строки и символы
Математика
Базы данных
Интернет и сеть
Мультимедиа
Аппаратная часть
VCL
Другие разделы [0]
 

Количество записей в базе - 537
Сегодня добавлено – 0

Алгоритмы



Вернуться к списку функций
 Алгоритм расчета контрольного числа ИНН

 Прислал: Камбалов А.Н. (Вологда) ( 3 июня 2002 г. )
©  Камбалов А.Н.
 Зависимости:
System, Sysutils

 Исходный текст:
{ **** UBPFD *********** by http://kladovka.net.ru/delphibase/ ****
>> Алгоритм расчета контрольного числа ИНН

Зависимости: System, Sysutils
Автор:       Камбалов А.Н., ACampball@mail.ru, Вологда
Copyright:   Камбалов А.Н.
Дата:        3 июня 2002 г.
***************************************************************** }

// ===========================================
// Алгоритм расчета контрольного числа ИНН
// ===========================================
function CheckINN(const INN: string): Boolean;
const
  factor1: array[0..8] of byte = (2, 4, 10, 3, 5, 9, 4, 6, 8);
  factor2: array[0..9] of byte = (7, 2, 4, 10, 3, 5, 9, 4, 6, 8);
  factor3: array[0..10] of byte = (3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8);
var
 i: byte;
 sum: word;
 sum2: word;
begin
  Result := False;

  try
    if Length(INN) = 10 then begin
      sum := 0;
      for i:=0 to 8 do
        sum := sum + StrToInt(INN[i+1])*factor1[i];
      sum := sum mod 11;
      sum := sum mod 10;
      Result := StrToInt(INN[10]) = sum;
    end
    else if Length(INN) = 12 then begin
      sum := 0;
      for i:=0 to 9 do
        sum := sum + StrToInt(INN[i+1])*factor2[i];
      sum := sum mod 11;
      sum := sum mod 10;
      sum2 := 0;
      for i:=0 to 10 do
        sum2 := sum2 + StrToInt(INN[i+1])*factor3[i];
      sum2 := sum2 mod 11;
      sum2 := sum2 mod 10;
      Result := (StrToInt(INN[11]) = sum) and
                (StrToInt(INN[12]) = sum2);
    end; //
  except
    Result := False;
  end; // try
end;


Вернуться к списку функций

Наверх ▲