Der CODE 128 ist ein Barcode, der 1981 von der US-amerikanischen Computer Identics Corporation entwickelt wurde. Mit CODE 128 lassen sich alle 128 ASCII-Codezeichen abbilden (Zahlen, Buchstaben in Groß-/ Kleinschreibung, Symbole und Steuercodes). Da es alle Zeichen (außer dem japanischen Kanji, Hiragana und Katakana) darstellen kann, die auf einer Computertastatur vorhanden sind, handelt es sich um einen computerfreundlichen Barcode. Der Code-128 kann durch «Doppelverpackung» der Daten sehr kompakt werden, in dem zwei Zahlen in ein Barcode-Modul geschrieben werden.
Der Code-128 besteht aus 107 Zeichen. Davon sind 103 Datenzeichen, 3 Startzeichen und 1 Stoppzeichen. Es gibt drei Code128-Zeichensätze, um alle 128 ASCII-Zeichen zu kodieren - A, B und C, die in einem Barcode verwendet werden können.
Spezifikationen für Code-128-Symbologien, Symbologiewerte, Kodierung der Datenzeichen, Größen, Dekodieralgorithmen, die Anwendungsparameter, Präfix-Zeichenfolgen und die Symbologiekennung sind weltweit in ISO/IEC 15417: 2007 “Information technology - Automatic identification and data capture techniques - Code 128 bar code symbology specification" geregelt.
Die grundlegende Struktur lautet:
1) Startcode
2) Prüffziffer (Modulus 103)
3) Stoppcode
Der Code128 ist ziemlich einfach aufgebaut. Der Barcode besteht aus 6 Bereichen:
- weißer Bereich;
- Startzeichen;
- Kodeinformation;
- Prüfziffer;
- Stoppzeichen;
- weißer Bereich.
Ein Zeichen des Codes 128 wird mithilfe von 3 Balken und 3 Zwischenräumen (insgesamt sechs Elementen) dargestellt. Die Balken und Zwischenräume sind modular mit einer Breite von einem bis 4 Modulen aufgebaut (1 Modul = 0,33 mm). Das Zeichen ist elf Module breit. Das Stoppzeichen ist aus 13 Modulen mit vier Strichen und 3 Zwischenräumen aufgebaut.
Übrigens wird in diesem Barcode „Modulus 103“ als Prüfziffer verwendet. Gemäß der Code 128 Zeichentabelle ist jedem Zeichen ein entsprechender Wert zugewiesen. Anschließend wird jedem Zeichen mit Ausnahme des Stoppzeichens und der Prüfziffer Gewichtungsfaktor 1, 2, 3,…,n zugewiesen. Dabei wird dem Starteichen und dem ersten darauf folgenden Zeichen ein Gewichtungsfaktor von 1 zugewiesen. Die Prüffziffer wird als Summe der Produkte der Gewichtsfaktoren mit den entsprechenden Werten Modulus 103 berechnet. Die Prüffziffer befindet sich zwischen dem letzten Datenzeichen und dem Stoppzeichen.
Der Code-128 kann die Codierungsart in einem Barcode ändern. Die folgende Abbildung zeigt den Wechsel von Code-C zu Code-A.
1] mit CODE-C beginnen
2] zu CODE-A wechseln
Wird der CODE-C verwendet, können zweistellige Zahlen über ein vorgegebenes Balkenmuster, so genannte «Doppelverpackung» der Daten dargestellt werden. Damit ist eine sehr hohe Datendichte möglich. Das obige Beispiel stellt genau diesen Fall dar.
Ein Barcode mit 12 oder mehr Ziffern fällt daher in CODE 128 kleiner aus als in ITF und EAN-128.
Da der CODE 128 4 Arten von Balkengrößen verwendet, sind Drucker mit hoher Druckqualität erforderlich. CODE 128 ist weder für den Druck mit Punkt-Matrix- oder Tintenstrahldruckern noch für Flexodruck auf Wellpappe geeignet.
CODE 128 wird in den folgenden Branchen verwendet:
- Bekleidungsindustrie in den USA.
- Lebensmittelverarbeitende Industrie in den USA.
- Arzneimittelbranche und medizinische Geräte in den USA.
- Lebensmittelindustrie in Australien und Neuseeland.
- Arzneimittelbranche und medizinische Geräte in Europa.
Einzelverpackung | Versandverpackung | Logistikverpackung |
Heidelbeersaftflasche, 3 L, Glasflasche | 6 St., Karton | 24 St, Palette |
4611234567893 | 14611234567899 | (02)14611234567890(37)24 |
EAN-13 Barcode | ITF-14 Barcode | Barcode Code-128 |
461 innerhalb jedes Barcodes wird als regionaler Code der nationalen GS1-Mitgliedsorganisationen (z.B., 460-469 werden in Russland vergeben) (000-139 werden in den USA vergeben) | 1 (an der ersten Stelle) kennzeichnet die Verpackungsebene des bestimmten Kartons. Dieses einstellige Präfix kann von 0 bis 8 variieren. (z.B., 1 für Karton, 2 für Kiste usw.). |
(02) - GTIN der Handelseinheiten, die in einer Transporteinheit enthalten |
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 32 33 34 35 36 37 38 39 40 41 42 |
uses frxClass, frxBarcode, frxBarcod, frxDBSet, Printers; var DataPage: TfrxDataPage; Page: TfrxReportPage; Band: TfrxBand; Barcode: TfrxBarcodeView; begin { Löschung des Berichts } frxReport1.Clear; { Hinzufügen der Seite "Daten" } DataPage := TfrxDataPage.Create(frxReport1); { Hinzufügen der Seite } Page := TfrxReportPage.Create(frxReport1); { Erstellen eines einmaligen Namens } Page.CreateUniqueName; { Einstellen von Standard-Seitenrändern, des Papierformats und der Ausrichtung } Page.SetDefaults; { Ändern der Papierausrichtung } Page.Orientation := poLandscape; { Hinzufügen des report title } Band := TfrxReportTitle.Create(Page); Band.CreateUniqueName; { für das Band legen Sie einfach die Top-Koordinate und die Höhe } { Beide Koordinaten sind in Pixel angegeben } Band.Top := 20; Band.Height := 40; { Erstellen des Barcode-Objektes } Barcode := TfrxBarcodeView.Create(Band); { Festlegen des Barcode-Typs } Barcode.BarType := bcGS1Code128; { Festlegen der Zahlenkombination für die Codierung } Barcode.Text := '(02)14611234567890(37)24'; { Festlegen der Position und der Größe des Objektes } Barcode.Top := 0; Barcode.Left := 10; Barcode.Height := 40; { Einstellen der Textanzeige am unteren Rand des Barcodes } Barcode.ShowText := True; { Anzeige des Berichts } frxReport1.ShowReport; end; |
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 |
//Erstellen eines Berichtsobjekts Report report = new Report(); //Erstellen einer Berichtsseite ReportPage page = new ReportPage(); //Hinzufügen einer eindeutigen ID page.CreateUniqueName(); //Hinzufügen zur Sammlung der Berichtsseiten report.Pages.Add(page); //Erstellen eines Datenbands DataBand dataBand = new DataBand(); //mit der eindeutigen ID dataBand.CreateUniqueName(); //und derer Hinzufügen zur Band-Sammlung page.Bands.Add(dataBand); //Erstellen eines Barcode-Objektes FastReport.Barcode.BarcodeObject barcode = new FastReport.Barcode.BarcodeObject(); //Festlegen des Barcode-Types barcode.Barcode = new FastReport.Barcode.Barcode128(); //Festlegen der Zahlenkombination für die Codierung barcode.Text = "(02)14611234567890(37)24"; //Platzierung des Barcodes auf der Seite barcode.Parent = dataBand; //Einstellen der Objektgröße barcode.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 3); //Anzeige des Berichts report.Show(); |
Jetzt wissen Sie etwas mehr über den Code-128 und seine Varianten A, B, C.