Проверка валидности штрихкода

Обсуждение Stimulsoft Reports.NET
Ответить
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Проверка валидности штрихкода

Сообщение Леонид »

Добрый день!

Возникла необходимости проверки корректности шрихкодов с помощью компонента BarCode.

Пример: 887961380016 - неверный штрихкод EAN13, после установки этого значения в поле Code компонента BarCode мы получаем некий пересчитанный штрихкод 0887961380019.

Собственно вопрос: есть у компонента метод, который пересчитывает штрихкод и по checksum определяет его корректность или инкорректность, что-то вроде BarCode1.IsCodeValid?
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Проверка валидности штрихкода

Сообщение HighAley »

Здравствуйте.

На данный момент мы пересчитываем контрольную сумму и перезаписываем её.
Вот наш код, который отвечает за контрольную сумму. Можете использовать его для проверки.

Код: Выделить всё

#region Calculate Ean13 check digit
      int[] dig = new int[12];
      for (int tempIndex = 0; tempIndex < 12; tempIndex++)
      {
        dig[tempIndex] = int.Parse(code[tempIndex].ToString());
      }
      int sum = (dig[1] + dig[3] + dig[5] + dig[7] + dig[9] + dig[11]) * 3 +
        dig[0] + dig[2] + dig[4] + dig[6] + dig[8] + dig[10];
      int checkDigit = 10 - (sum % 10);
      if (checkDigit == 10)
      {
        checkDigit = 0;
      }
      code = code.Substring(0,12) + (char)(checkDigit + 48);
      #endregion
Спасибо.
Ответить