Erstellung der Barcode CODE 39 und CODE 39 Extended mit Hilfe von Delphi / Lazarus

CODE 39 ist ein 1975 von der Intermec Corporation entwickelter Barcode, der 43 Zeichen enthalten kann, einschließlich des englischen Alphabets, der Zahlen, des Leerzeichens und einiger Symbole, nämlich 0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ -. $ / +%. Da CODE 39 Briefe unterstützt, ist es für industrielle Anwendungen wie Automobil und Elektronik unverzichtbar. In Deutschland wird es beispielsweise für pharmazeutische Produkte verwendet, aber hauptsächlich für die Lagerung. In Russland wird CODE 39 durch GOST 30742-2001 (ISO / IEC 16388-99) „Automatische Identifizierung. Strichcode. Code 39-Symbologiespezifikation (Code 39) “ bestimmt.

Ein Beispiel für eine Zeichencodierung

CODE 39 Struktur

CODE 39 wird aufgrund seiner Struktur aus Spalten und Leerzeichen so benannt, wobei 3 von 9 Spalten und Leerzeichen breit sind. Der Barcode sieht folgendermaßen aus:

Intercharakter Pause

Intercharakter Pause

Diese Tabelle beschreibt die CODE 39-Spezifikation. Der jedem Zeichen zugewiesene numerische Wert (außer Start / Stopp) wird im Prüfsummenalgorithmus verwendet.

Code 39 Zeichen (und prüfsummenwerte)

 

CODE 39 wird manchmal mit einer zusätzlichen Prüfziffer mod 43 verwendet, der Prüfziffercode sieht aus wie "CODE 39 mod 43"

Und hier ist der Algorithmus zur Berechnung der Prüfsumme:

  1. Nehmen Sie den Wert (0 bis 42) jedes Zeichens im Barcode mit Ausnahme der Start- und Stoppcodes.
  2. Fügen Sie die Werte hinzu.
  3. Teilen Sie das Ergebnis durch 43.
  4. Der Rest ist der Wert des hinzuzufügenden Prüfsummenzeichens.

CODE 39 Beispiel

Code 39 Extended ist eine erweiterte Version von Code 39, die den ASCII-Zeichensatz unterstützt. Damit können Sie 128 Zeichen codieren: 0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ! # $% & '() * +, -. / :; <=>? @ [\] ^ _ `{|} Abcdefg hijklmnopqrs tuvwxyz, das sind 26 Großbuchstaben Buchstaben (AZ), 26 Kleinbuchstaben (az) und Sonderzeichen zusammen mit einem Leerzeichen.

Wichtig ist, dass Extended Code 39-Zeichen ungefähr doppelt so lang sind wie Standardcode 39-Zeichen. Gemäß ISO 646 werden diese Zeichen durch Kombinieren von zwei Zeichen angezeigt. Das erste Zeichen kann eines von vier $ +% / Zeichen sein, gefolgt von einem von 26 Buchstaben. Wenn der Decoder mit dem vollständigen ASCII-Zeichensatz programmiert ist, wird nur das ASCII-Äquivalent übertragen, nicht die Zeichenkombination.

CODE 39 Extended kann auch mit einer Prüfsumme verwendet werden, das Modul 43 berechnet wird, und der Code mit der Prüfziffer sieht aus wie „CODE 39 EXTENDED mod 43 ”.

Code 39 Erweitertes Beispiel

Nebeneinander Vergleich von CODE 39 und CODE 39 Extended

Vergleichen wir die gleichen Sätze in verschiedenen Barcodes. In beiden Fällen sehen wir keinen Unterschied in der ersten Spalte. Aber warum gibt es keinen Unterschied? Dies liegt daran, dass die Zeichen 0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ -. $ / +% In zwei Barcodes werden auf die gleiche Weise codiert, es lohnt sich jedoch, Großbuchstaben durch Kleinbuchstaben zu ersetzen, wenn Änderungen auftreten.

Code 39 und Code 39 erweitertes Beispiel

Auch in CODE 39 Extended werden Zeichen durch Kombinieren von zwei Zeichen angezeigt. Das erste kann eines von vier Zeichen $ +% / sein, gefolgt von einem von 26 Buchstaben. Code 39 und Code 39 erweitertes Beispiel

Erstellen vom Barcode in Visual Designer

Mit FastReport VCL können Sie beide zuvor beschriebenen Barcode-Typen in Ihren Reporten verwenden. Mal sehen, wie das funktioniert.

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

 obCatBarcode

Als nächstes gehen wir zum Barcode-Editor:

Barcode editor

Code - Bereich zum Schreiben des numerischen Werts des Barcodes;

Art des Balkens - Der Typ des Barcodes kann sofort im Editor geändert werden, ohne dass dem Bericht eine neue Komponente hinzugefügt werden muss.

Calc CheckSum 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 - Legt die Skalierung des Barcodes fest und wird nur in Verbindung mit der Eigenschaft "Autosize" verwendet.

Text - Aktiviert / Deaktiviert die Anzeige von 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.

Klicken Sie auf das Symbol F (x) und rufen Sie den Editor für große Ausdrücke auf.

Weitere Details finden Sie selbst im FastReport VCL-Designer oder in der Dokumentation. link 1 und link 2

Ausdrucks Editor


Einstellung

Und weiter gehen wir in die Komponenten Eigenschaften obCatBarcode.

Was im Barcode-Editor im Feld Code geschrieben wird, wird in das Feld Ausdruck übertragen. Wenn Ausdruck leer ist, wird der Text aus dem Feld Text angezeigt.

Kurz gesagt, Text ist ein statischer Text, und Ausdruck enthält den auszuwertenden Ausdruck, einschließlich des Werts aus der Datenquelle.

So erstellen Sie einen Barcode aus Delphi / Lazarus-Code

CODE 39
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
30
31
uses frxBarcod;
 
procedure TForm1.Button1Click(Sender: TObject);
var bc: TfrxBarcodeView;
begin
 bc :=
TfrxBarcodeView(frxReport1.FindObject('BarCode1'));
{Barcodes Typ bestimmen}
bc.BarType := bcCode39;
{Fixierten Wert des Barcodes bestimmen}
 bc.Text := '123456';
{Set the calculated barcode value}
{Kalkulierten Wert des Barcodes bestimmen}
 //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 können wir den Barcode des CODE 39-Standards in unseren Geschäftsanwendungen verwenden (nicht nur numerische, sondern auch alphabetische Zeichen codieren), beispielsweise fürs Verwenden in den Etiketten (z. B. im ZPL-Format).

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