So erstellen Sie mit Delphi einen ITF-Barcode (Interleaved, Industrial, Matrix)

Barcodes. Ein Paar Infos.

Es ist schwer, sich unser Leben ohne Barcodes vorzustellen, besonders jetzt, wenn wir sie bei jedem Schritt treffen. Wir gehen ins Kino und unser Ticket enthält diese „Schwarz-Weiß-Zeichnung von Linien“, wir gehen in den Supermarkt und jedes Produkt hat Informationen darüber in Form eines Barcodes. Man kann sich jetzt nur vorstellen, wie die Warteschlangen aussehen würden, wenn der Kassierer die Produktkennungen manuell eingibt und keinen Scanner verwendet. Darüber hinaus besteht ein hohes Fehlerrisiko bei der Eingabe einer Zahlenfolge. Heute werden wir einen kleinen Teil aller Arten von Barcodes betrachten.

ITF-Barcode (Interleaved Two of Five) ist ein zweizeiliger numerischer Code, d.h. ein Code mit hoher Dichte, der nur Zahlenpaare codieren kann (der Barcode muss eine gerade Anzahl von Ziffern haben!). Jeder dieser Barcoden codiert eine ungerade Ziffer mit einer dunklen Linie und eine gerade Ziffer mit einem Leerzeichen dazwischen. Um eine ungerade Anzahl von Ziffern zu codieren, müssen Sie die am weitesten links stehende (höchstwertige) Ziffer mit einer Null auffüllen.

Barcodes können von variabler Länge sein und verwenden normalerweise keine Prüfsumme, obwohl in einigen Situationen ein Modul 10-Validierungszeichen verwendet wird. Teilweises Scannen ist möglich, da ein 2 von 5 verschachtelter Barcode nicht selbstvalidierend ist und häufig Datenfelder mit fester Länge verwendet werden.

Zusamenfassend:

- Es können nur Zahlen codiert werden.
- Die Länge ist variabel, muss jedoch eine gerade Anzahl von Ziffern haben.
- Prüfsumme ist optional.

Da ITF ein Barcode mit sehr hoher Datendichte ist, weist er die folgenden Eigenschaften auf:

Wenn man die Länge des Codes auf Binärebene mit CODE 39 und Codabar vergleicht, kann man die Besonderheit von ITF feststellen, nämlich seine offensichtlich geringe Länge.

Vergleich von ITF, CODE 39 und Codabar

 

Während ITF viele Vorteile hat, hat sie aufgrund ihrer Struktur auch einen Nachteil mögliches "Sprunglesens", d.h. Lesen Überspringen. Ein Barcode, der "3852" darstellt, wird möglicherweise nicht korrekt als "38" gelesen, da einige Ziffern fehlen.


Nachteil des ITF

Sowohl ITF-14 als auch GTIN-14 werden unter Verwendung eines verschachtelten 2 von 5-Barcodes erzeugt. Dieser Barcode wird für Versandbehälter verwendet und basiert auf dem UPC-Code. In der Regel wird Interleaved auf Wellpappenkartons gedruckt, die Waren zur Lieferung enthalten und folgende Struktur aufweisen:


Verschachtelte Struktur

1970 wurde Industrial von Identicon Corp. entwickelt 1970 und in industriellen Anwendungen eingesetzt, wird jedoch derzeit nicht verwendet (mit Ausnahme einiger logistischer Anwendungen). Industrial "2 of 5" sieht so aus und verwendet 5 Streifen, um ein Zeichen darzustellen. Da dieser Code nur Spalten und keine Leerzeichen zuweist, weist er eine sehr geringe Datendichte auf.


Industrie 2 von 5 Struktur

Matrix 2 von 5 ist ein Mitglied der 2 von 5-Codefamilie, die erstmals 1968 entwickelt wurde. Es wurde hauptsächlich zum Sortieren von Materialien und zum Veredeln von Fotos verwendet. Der Name "2 von 5" kommt von der Tatsache, dass von den fünf Elementen (Balken und Leerzeichen), die zum Codieren jedes Zeichens verwendet werden, zwei breit und drei schmal sind.

Matrix Struktur

Tüchtige Einstellungen vom Druck der Barcode in Delphi и Lazarus

Mit FastReport VCL können Sie alle drei Arten von Barcodes verwenden. Mal sehen, wie man sie benutzt.

Fügen Sie im FastReport VCL-Designer die obCatBarcode-Komponente zum Report hinzu und wählen Sie den Typ aus der vorgeschlagenen Liste aus:

FastReport VCL

Weiter gehen wir in den Barcodes Editor:

Barcodes Editor

Code - Bereich zum Schreiben des numerischen Werts des Barcodes;
Bar-Typ - Der Barcode-Typ kann sofort im Editor geändert werden, ohne dass dem Bericht eine neue obCatBarcode-Komponente hinzugefügt werden muss.
CalcCheckSum ist eine Prüfsumme. Alle linearen Barcodes haben diese Eigenschaft. Erinnern Sie sich daran, das Lesen übersprungen zu haben? Wir müssen das irgendwie bekämpfen! Die Eigenschaft bestimmt, ob die Prüfsumme automatisch berechnet werden soll. Wenn es deaktiviert ist, muss die Prüfsumme im Objekttext vorhanden sein.
Zoom - Llegt die Skalierung des Barcodes fest und wird nur in Verbindung mit der Eigenschaft "Autosize" verwendet.
Text ist ein Text unter dem Barcode.
Drehung - Mit dieser Option können Sie die Drehung des Objekts auf einen der festen Winkel einstellen - 0, 90, 180, 270 Grad.



ITF Bar Code Example

Wir überprüfen die Richtigkeit des generierten Barcodes (zum Glück sind die Kamera und das Programm zum Scannen von Barcodes jetzt in allen modernen Smartphones verfügbar).

Erstellung einen Barcode aus dem Code in 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
uses frxBarcod;
procedure TForm1.Button1Click(Sender: TObject);
var bc: TfrxBarcodeView;
begin
bc := TfrxBarcodeView(frxReport1.FindObject('BarCode1'));
{Barcodes Typ bestimmen}
bc.BarType := bcCode_2_5_interleaved;
{Fixierten Wert vom Barcode einsetzen}
bc.Text := '123456';
{Kalkulierten Wert vom Barcode einsetzen}
//bc.Expression := '<YourDatasetName."FieldName1"> + <YourDatasetName."FieldName2">';
{Wir legen fest, ob die Prüfsumme berechnet und am Ende des Barcodes hinzugefügt werden muss }
bc.CalcCheckSum := False;
{Barcodes Masßtabe einsetzen}
bc.Zoom := 2;
{Rotation Ecke einsetzen. Kann folgende Werte haben: 0, 90, 180, 270}
bc.Rotation := 0;
{Bestimmen der Barcodes Breite gemäß der Barcodes Inhalt}
{Wenn Zoom gleich False ist, soll Barcodes Breite fixiert werden}
bc.AutoSize := True;
{Barcodes Farbe bestimmen}
bc.Color := clNone;
{Barcodes Linien Farbe bestimmen
bc.ColorBar := clBlack;
{Bestimmen, ob der Text hinten des Barcodes angezeigt wird}
bc.ShowText := True;
frxReport1.ShowReport();
end;

Jetzt wissen wir etwas mehr über ITF-Barcodes und können diese Barcoden für unsere Reporte sowie Etiketten verwenden.

Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.
Trustpilot