Ошибка в Tbarcode компоненте, код Ean13

отредактировано 09:46 Раздел: FreeReport
В дизайнере ставлю в отчет штрихкод, связываю с полем таблицы и ставлю тип кода EAN13. Появляется ошибка преобразования строки в число.
В дизйнере не выполняется вычисление выражений и соответственно передается не значение кода а само выражение.
Пришлось добавить несколько строк в код. Теперь мой TBarcode.Code_EAN13 выглядит так
function TBarcode.Code_EAN13:string;
var
        i, j, LK: integer;
        tmp : String;
begin
// ADDED BY ZENYK
// Проверяется возможность преобразования и в случае неудачи код ставится '0000000000000'. 
   try
      StrToFloat(FText);
   except
      FText:='0000000000000';
   end;
// ADDED BY ZENYK
        if FCheckSum then
        begin
                tmp := '0000000000000'+FText;
                tmp := getEAN(copy(tmp,length(tmp)-11,12)+'0');
        end
        else
                tmp := Ftext;

        LK := StrToInt(tmp[1]);
        tmp := copy(tmp,2,12);

        result := '505';   // Startcode

        for i:=1 to 6 do
        begin
                case tabelle_ParityEAN13[LK,i] of
                        'A' : for j:= 1 to 4 do
                                                result := result + tabelle_EAN_A[tmp[i], j] ;
                        'B' : for j:= 1 to 4 do
                                                result := result + tabelle_EAN_B[tmp[i], j] ;
                        'C' : for j:= 1 to 4 do
                                                result := result + tabelle_EAN_C[tmp[i], j] ;
        end;
        end;

        result := result + '05050';   // Trennzeichen

        for i:=7 to 12 do
                for j:= 1 to 4 do
                begin
                        result := result + tabelle_EAN_C[tmp[i], j] ;
                end;

        result := result + '505';   // Stopcode
end;

Возможно похожая ошибка и в других типах кодов.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.