Как создать штрих-код Code 11 из FastReport VCL с помощью Delphi / Lazarus / С++ Builder

Code 11, также известный как USD-8, представляет собой дискретную символику высокой плотности, которая в основном используется для маркировки телекоммуникационного оборудования.

Символ состоит из следующих элементов:

Code-11

Первым и последним элементом каждого символа является полоса. Одномодульный межсимвольный пробел добавляется для отделения символов друг от друга.

Этот символ поддерживает цифры (0–9) и символ дефиса (-). Code 11 получил свое название от этих 11 символов.

Из-за естественной плотности кода 11 дефекты печати могут привести к неправильному считыванию символов сканерами. Чтобы компенсировать это ограничение, Code 11 поддерживает использование одной или двух необязательных цифр контрольной суммы. Для ввода данных, содержащих менее 10 цифровых символов, используется одна цифра контрольной суммы, а для 10 или более цифр используются две цифры контрольной суммы. Первая цифра основана на алгоритме по модулю 11, а вторая основана на алгоритме по модулю 9.

 

Как создать Code 11 из дизайнера FastReport VCL

Добавляем на отчет компонент obCatBarcode и выбираем именно Code 11.

Code-11

 

Далее мы переходим в редактор штрих-кода:

Редактор штрих-кода

Code - область для написания числового значения штрих-кода;

Type of Bar - тип штрих-кода можно изменить сразу в редакторе, не добавляя на отчёт новый компонент;

Calc CheckSum — это контрольная сумма. Это свойство имеется у всех линейных штрих-кодов. Помните про “пропуск считывания”? С этим надо как-то бороться! Свойство определяет, надо ли считать контрольную сумму автоматически. Если оно отключено, контрольная сумма должна присутствовать в тексте объекта;

Zoom - задает масштабирование штрих-кода и используется только вместе со свойством "Авторазмер";

Text - включение/отключение отображения текста под штрих-кодом;

Rotation - позволяет задать поворот объекта на один из фиксированных углов – 0, 90, 180, 270 градусов.

Нажав на значок F(x), вы попадете в большой редактор выражений.

Code-11

Переходим в свойства компонента obCatBarcode.

То, что будет написано в редакторе штрих-кода в поле Code будет перенесено в поле Expression. Если Expression пустое, то отображается текст из поля Text.

Иначе говоря, в Text записывается статический текст, а в Expression содержится вычисляемое выражение, в том числе значение из источника данных.

 

Создаём штрих-код Code 11 из кода Delphi / Lazarus / С++ Builder

uses frxBarcod;
procedure TForm1.Button1Click(Sender: TObject);
var bc: TfrxBarcodeView;
begin
 bc := TfrxBarcodeView(frxReport1.FindObject('BarCode1'));
 {Устанавливаем тип штрихкода}
 bc.BarType := bcCode11;
 {Устанавливаем фиксированное значение штрихкода}
 bc.Text := '123456';
 {Устанавливаем вычисляемое значение штрихкода}
 //bc.Expression := '<YourDatasetName."FieldName1"> + <YourDatasetName."FieldName2">';
 {Устанавливаем, нужно ли подсчитывать контрольную сумму и добавлять её в конец штрихкода}
 bc.CalcCheckSum := False;
 {Устанавливаем масштаб, в котором будет отображаться штрихкод}
 bc.Zoom := 2;
 {Устанавливаем угол поворота штрихкода. Может принимать значения 0, 90, 180, 270}
 bc.Rotation := 0;
 {Устанавливаем, нужно ли устанавливать ширину штрихкода в зависимости от его содержимого.}
 {При значении False Zoom будет принимать такое значение, чтобы ширина штрихкода оставалась фиксированной}
 bc.AutoSize := True;
 {Устанавливаем цвет фона штрихкода}
 bc.Color := clNone;
 {Устанавливаем цвет линий штрихкода}
 bc.ColorBar := clBlack;
 {Устанавливаем, нужно ли отображать текст внизу штрихкода}
 bc.ShowText := True;
 frxReport1.ShowReport();
end;

Богатый функционал FastReport VCL пополнился этим несложным штрих-кодом. Хоть он и не получил широкую популярность из-за своей плотности, тем не менее некоторые наши клиенты с удовольствием используют его в своих отчётах. Подписывайтесь на наши новости, чтобы не пропускать новые статьи о новых особенностях наших продуктов!