Feedback

C# - Barcodestring Code128B berechnen

Veröffentlicht von am 03.05.2007
(1 Bewertungen)
Mit Hilfe dieser Methode wird ein übergebener String in einen "Barcodestring" (inkl. Start-, End- und berechnetem Prüfzeichen) umgewandelt. Dieser kann dann mit Hilfe einer Code128 TTF (einfach google'n) ausgegeben werden.
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

VB.NET Aufbau

Sie verfügen nach der Schulung über fundierte Kenntnisse in der Arbeit mit objektorientierten Modellen in VB.NET und können wiederverwendbare Komponenten eigenständig erzeugen.

public static string GetCode128BString(string textToConvert)
        {
            /* Diese Methode wandelt den übergebenen String in einen String um, welcher mit Hilfer einer Code128-Schrift 
             * ausgegeben werden kann. Es wird ein Start- und Endzeichen eingefügt und die erforderliche Prüfsumme 
             * berechnet. */

            char[] convertCharArray = textToConvert.ToCharArray();
            char startSign = (char)204, endSign = (char)206;
            string barcodeString = startSign.ToString();
            int index = 1; // Multiplikator zum Berechnen der Prüfsumme
            int checkDigitValue = 104; // Code 128B erfordert einen Startwert von 104

            /* Inhalt des zu codierenden Strings zeichenweise wieder zum Ergebnisstring hinzufügen und dabei die 
             * Prüfsumme mitberechnen. Enthält der zu codierende String ein Zeichen, welches sich nicht im gültigen
             * ACSII-Bereich befindet, wird der Vorgang abgebrochen und ein leerer String zurückgegeben. */

            foreach (char c in convertCharArray)
            {
                if (((int)c < 32) || ((int)c > 126)) return string.Empty;

                barcodeString += c.ToString();
                checkDigitValue += ((int)c - 32) * index;
                ++index;
            }

            // Das Prüfzeichen bei Code128B setzt sich aus dem Rest der Division durch 103 zusammen.
            checkDigitValue = checkDigitValue % 103;

            if (checkDigitValue > 94) checkDigitValue += 100; else checkDigitValue += 32;

            // Prüfzeichen und Endzeichen zum Ergebnisstring hinzufügen
            barcodeString += ((char)checkDigitValue).ToString() + endSign.ToString();
            return barcodeString;
        }
Abgelegt unter Barcode, Code128B.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!