crc для штрих-кода
- From
- Alex Astafiev (2:5000/228.16)
- To
- Artem Anisimov
- Date
- 2002-12-09T19:54:51Z
- Area
- RU.ALGORITHMS
А что ты слышал про распределенные вычисления folding@home, дорогой Artem?
AA> Есть штpих-код из десяти цифp от 0 до 9. Одна цифpа отведена под
AA> контpольную сумму. Подскажите, как лучше ее считать.
когда-то писалось мной в коммерческой софтине.
function DKEanCrc (const Code: string): string;
var
I, M, N: Integer;
begin
try
N := 0;
M := 0;
for I := length (Code) downto 1 do
begin
if Odd (I) then N := N + StrToInt (Code [I])
else M := M + StrToInt (Code [I]);
end;
M := ((M * 3) + N) mod 10;
if M <> 0 then M := 10 - M;
Result := IntToStr (M);
except
on E: Exception do
raise EEanCrcError.Create ('Ошибка при формировании контрольного разряда'+
' кода Ean '+CR+'Неверные входные параметры:'+CR+Code);
end;
end;
---
* Origin: Фидонет - сеть друзей. Будьте дружественнее! (2:5000/228.16)