logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • Articles
  • Customer panel Wsparcie techniczne
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • W jaki sposób generować kod kreskowy ITF (przeplatany, przemysłowy, macierzowy) w środowisku Delphi / Lazarus / C ++ Builder
  • Tworzenie kodu kreskowego CODE 39 i rozszerzonego CODE 39 w środowisku Delphi / Lazarus

    23 października 2020

    CODE 39 jest kodem kreskowym opracowanym przez Intermec Corporation w 1975 roku. Kod kreskowy może

    read more
  • Instalowanie Fastreport w Lazarus

    17 marca 2021

    W ramach programu edukacji akademickiej postanowiliśmy stworzyć kilka artykułów wsparcia dla studentów. Jeśli tworzysz oprogramowanie biznesowe

    read more
  • Praca z wykresami i wykresami w FastReport VCL

    22 marca 2021

    Nadal publikujemy artykuły pomocnicze dla studentów w ramach programu edukacyjnego Akademii. Każdy programista w pewnym

    read more
  • Podłączenie raportu do danych z FastReport w Lazarusie

    26 marca 2021

    W poprzednim artykule o pracy z wykresami i wykresami, poznaliśmy już grafikę biznesową i kody

    read more
  • Jak utworzyć plik PDF z Delphi / C ++ Builder / Lazarus

    14 maja 2020

    Dość często potrzebujesz uzyskać dokument PDF z aplikacji Pascal - albo Delphi lub Lazarus.Zazwyczaj zaleca

    read more

W jaki sposób generować kod kreskowy ITF (przeplatany, przemysłowy, macierzowy) w środowisku Delphi / Lazarus / C ++ Builder

11 listopada 2020

Trochę teorii dotyczącej kodów kreskowych

Trudno wyobrazić sobie dzisiaj nasze życie bez kodów kreskowych, szczególnie teraz, gdy spotykamy je na każdym kroku. Idziemy do kina, a na naszych biletach widnieje ten „czarno-biały rysunek z kreskami”, idziemy do supermarketu i każdy produkt posiada informację w postaci kodu kreskowego. Możemy sobie tylko wyobrazić, jakie byłyby kolejki, gdyby kasjer wprowadzał identyfikatory produktów ręcznie, bez użycia skanera. Ponadto, istniałoby duże ryzyko popełnienia błędu przy wpisywaniu ciągu liczb. Obecnie zajmiemy się niewielką częścią różnego rodzaju kodów kreskowych. 

Kod kreskowy ITF (Przeplatany Dwa z Pięciu) lub „przeplatany 2 z 5”  - to dwu paskowy kod numeryczny lub numeryczny kod kreskowy o dużej gęstości, który może zakodować tylko pary liczb (kod kreskowy musi mieć parzystą liczbę cyfr!). Każdy wzór kodu kreskowego koduje nieparzystą cyfrę w układzie kresek i parzystą cyfrę we wzorze odstępów między kreskami. Aby zakodować nieparzystą liczbę cyfr, należy uzupełnić ostatnią (najbardziej znaczącą) cyfrę z lewej strony zerem.
Kody kreskowe mogą mieć różną długość i zwykle nie używają sumy kontrolnej, chociaż w niektórych sytuacjach używany jest znak kontrolny modulo 10. Możliwe jest częściowe skanowanie, ponieważ kod kreskowy przeplatany 2 z 5 nie jest samosprawdzalny, a pola danych o stałej długości są często używane, aby uniknąć tego problemu.

W skrócie:

- Koduje dane liczbowe;
- Długość jest zmienna, ale musi mieć parzystą liczbę cyfr;
- Suma kontrolna jest funkcją opcjonalną.

ITF to kod kreskowy o bardzo dużej gęstości danych, dlatego posiada następujące  cechy:

  • Rozmiar etykiety może być mniejszy niż w przypadku innych kodów z tymi samymi cyframi.Wygodne jest drukowanie kodów kreskowych na małych powierzchniach.
  • Gdy rozmiar etykiety jest taki sam, można w tym kodzie zawrzeć więcej danych w porównaniu z innymi kodami. (Liczbę cyfr można zwiększyć.)
  • Możliwa jest większa szerokość kreski, przy takim samym rozmiarze etykiety i tej samej liczbie cyfr.

Jeśli szerokość kreski w kodzie jest większa, to czytnik kodów kreskowych będzie mógł go łatwo odczytać. Można również wykonywać odczyty kodów z dużej odległości.

Porównanie  ITF, CODE 39 i Codabar

 

Chociaż ITF posiada wiele zalet, ma również tę wadę, że może „pomijać odczyt” ze względu na swój skład. Pomijanie odczytu oznacza, że kod kreskowy „3852” jest nieprawidłowo odczytywany jako „38”, a niektóre cyfry są pomijane.


Wada ITF

Kody kreskowe ITF-14 i GTIN-14 są generowane przy użyciu symboliki „Przeplatany 2 z 5”. ITF-14 jest używany na pojemnikach transportowych i jest oparty na kodzie UPC. Zwykle kody kreskowe przeplatane są drukowane na opakowaniach z tektury falistej, w których znajduje się towar do dostawy i mają następującą budowę: 


Budowa kodu przeplatanego

Kod kreskowy Industrial 2 of 5 został opracowany przez firmę Identicon Corp. and Computer Identics Corp. w 1970 roku i był szeroko stosowany w przemyśle. Jednak obecnie nie jest juz używany (z wyjątkiem niektórych zastosowań logistycznych). Kod kreskowy Industrial 2 of 5 wygląda tak i stosuje się w nim 5 kresek, by oznaczał jeden znak. Kod ten przypisuje dane tylko do kresek (nie do odstępów), dlatego ma bardzo małą gęstość danych:


Budowa kodu Industrial 2 of 5

Matrix 2 z 5 jest generatorem rodziny symboli Code 2 of 5 o większej gęstości, który został opracowany po raz pierwszy w 1968 roku. Był używany głównie do sortowania w magazynach i do wykańczania zdjęć. Symbol „2 z 5” wywodzi się z faktu, że z pięciu elementów (kresek i  odstępów) używanych do kodowania każdego znaku, dwa są szerokie, a trzy wąskie.

Budowa Matrix

Precyzyjne ustawienie kodów kreskowych w środowisku Delphi i Lazarus do druku

FastReport VCL umożliwia korzystanie ze wszystkich trzech typów kodów kreskowych. Zobaczmy, jak to zrobić.

W kreatorze FastReport VCL dodać komponent obCatBarcode do raportu i wybrać typ kodu kreskowego z listy:

FastReport VCL

Następnie, przejść do edytora kodów kreskowych:

Edytor kodów kreskowych

Code – obszar wartości numerycznej kodu kreskowego;
Type of Bar – rodzaj kodu kreskowego można od razu zmienić w edytorze bez dodawania nowego komponentu do raportu;
Calc CheckSum – suma kontrolna. Wszystkie liniowe kody kreskowe mają tę właściwość. Należy pamiętać o „pominiętym odczycie ”? Musimy z tym zjawiskiem walczyć! Właściwość ta określa, czy suma kontrolna powinna być obliczana automatycznie. Jeśli ta funkcja jest wyłączona, suma kontrolna musi być obecna w tekście;
Zoom – funkcja ta ustawia skalę kodu kreskowego i jest używana tylko w połączeniu z funkcją „Autosize”;
Text – włączenie / wyłączenie wyświetlania tekstu pod kodem kreskowym;
Rotation – umożliwia ustawienie obrotu kodu pod jednym ze stałych kątów – 0, 90, 180, 270 stopni.


ITF Bar Code Example

Należy sprawdzić spójność wygenerowanego kodu kreskowego (na szczęście, aparat i program do skanowania kodów kreskowych są już dostępne we wszystkich nowoczesnych smartfonach).

Tworzenie kodu kreskowego z kodu w środowisku  Delphi / Lazarus

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
uses frxBarcod;
 
procedure TForm1.Button1Click(Sender: TObject);
var bc: TfrxBarcodeView;
begin
bc :=TfrxBarcodeView(frxReport1.FindObject('BarCode1'));
{Ustawić typ kodu kreskowego}
bc.BarType := bcCode_2_5_interleaved;
{Ustawić stałą wartość kodu kreskowego}
bc.Text := '123456';
{Ustawić obliczoną wartość kodu kreskowego}
//bc.Expression := '<YourDatasetName."FieldName1"> + <YourDatasetName."FieldName2">';
{Jeśli jest to konieczne, ustawić, aby obliczyć sumę kontrolną i dodać ją na końcu kodu kreskowego}
bc.CalcCheckSum := False;
{Ustawić skalę, w jakiej kod kreskowy będzie wyświetlany}
bc.Zoom := 2;
{Ustawić kąt obrotu kodu kreskowego. Można wybrać następujące wartości: 0, 90, 180, 270}
bc.Rotation := 0;
{Ustawić, jeśli można, szerokość kodu kreskowego w zależności od jego zawartości.}
{Jeśli ustawiono na False, Zoom zostanie ustawiony tak, aby zachować stałą szerokość kodu kreskowego}
bc.AutoSize := True;
{Ustawić kolor tła kodu kreskowego}
bc.Color := clNone;
{Ustawić kolor linii kodu kreskowego}
bc.ColorBar := clBlack;
{Wybrać, czy wyświetlać tekst na dole kodu kreskowego}
bc.ShowText := True;
frxReport1.ShowReport();
end;

W tym momencie nasza wiedza o kodach kreskowych ITF jest szersza  i możemy ich używać w naszych raportach, etykietach i wielu innych zastosowaniach.

about product pobierz zamów
avatar
Ekaterina Voytenko
Design and Marketing
Fast Reports Team: Ekaterina Voytenko - Design and Marketing at Fast Reports
VCL Lazarus Barcode FastReport 6 Delphi

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Extended licensing
  • Kontakty

© 1998-2022 by Fast Reports Inc.

  • Poufność