Автор Тема: Как добавить контрольное число в штрих код?  (Прочитано 2214 раз)

Шумко Дмитрий

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 745
Многие спрашивают как добавить контрольное в штрих код?

Для этого нужно подправить форму квитанции, добавить расчет контрольного числа.

например
нам нужно чтобы в  штрихкод входил лицевой счет, сальдо
и все это должно состоять из 9 цифр. 10ая должна быть контрольная..

настраиваем формат штрих кода [ЛИЦЕВОЙ]~5~0~^[СУММА]~4~0~

Алгоритм который нам предлагают:
100044644К(где К -контрольная цифра)
1*1+0*2+0*3+0*4+4*5+4*6+6*7+4*8+4*9=155
( в окончании стоит цифра 5) ,кц=5, те 1000446445...


procedure BarCode1OnBeforePrint(Sender: TfrxComponent);
var
  s : string;
  i,j,t,l : Integer;
begin
  // Сформируем штрихкод
  s := GEN_BARCODE(<АБОНЕНТЫ."ЛИЦЕВОЙ">,<АБОНЕНТЫ."САЛЬДО">,<АБОНЕНТЫ."УНИКАЛЬНЫЙ_НОМЕР_АБОНЕНТА">,<АБОНЕНТЫ."УЛИЦА">,<АБОНЕНТЫ."N_ДОМА">,<АБОНЕНТЫ."КВАРТИРА">,<АБОНЕНТЫ."ФАМИЛИЯ">+' '+<АБОНЕНТЫ."ИМЯ">+' '+<АБОНЕНТЫ."ОТЧЕСТВО">);
  BarCode1.Text := s;
 
  //  Считаем полученные циферки кода
  s := BarCode1.Text;
  l := length(s);
  t := 0;                   
  // посчитаем сумму
  for i := 1 to l do begin
    try j := StrToInt(s[i]);  except j := 0; end;
    t := t+ i*j;                             
  end;
  // Выделим из суммы последнюю цифру
  j := t mod 10;
  // добави ее в штрихкод
  BarCode1.Text := BarCode1.Text + IntToStr(j);                                                 
end;
« Последнее редактирование: Ноября 17, 2011, 15:06:37 от Шумко Дмитрий »