Добрый день!
Возникла необходимости проверки корректности шрихкодов с помощью компонента BarCode.
Пример: 887961380016 - неверный штрихкод EAN13, после установки этого значения в поле Code компонента BarCode мы получаем некий пересчитанный штрихкод 0887961380019.
Собственно вопрос: есть у компонента метод, который пересчитывает штрихкод и по checksum определяет его корректность или инкорректность, что-то вроде BarCode1.IsCodeValid?
Проверка валидности штрихкода
Re: Проверка валидности штрихкода
Здравствуйте.
На данный момент мы пересчитываем контрольную сумму и перезаписываем её.
Вот наш код, который отвечает за контрольную сумму. Можете использовать его для проверки.
Спасибо.
На данный момент мы пересчитываем контрольную сумму и перезаписываем её.
Вот наш код, который отвечает за контрольную сумму. Можете использовать его для проверки.
Код: Выделить всё
#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