Zum Inhalt springen
  • 0

Crystal Reports Barcode 128


lum

Frage

Hey liebe IT-Freunde :),

Ich habe ein Problem mit Crystal Reports bzw eher mit einem Script in der Crystal-Syntax. Ich sollte einen Barcode 128 mit 13 Stellen "Generieren" bzw es so anstellen, dass wenn ich es einscanne, dass mir die 13 Stellige ISBN Nummer auf dem Scanner angezeigt wird. Leider ist es gerade so, dass nur 12 Zeichen angezeigt werden und die letzte Zahl abgeschnitten wird. Hier ist einmal ein Bild von der Syntax. Ich hoffe ihr könnt mir da weiter helfen.

Mfg

Sucuk.PNG

Link zu diesem Kommentar
Auf anderen Seiten teilen

5 Antworten auf diese Frage

Empfohlene Beiträge

  • 0

Dem Code nach nutzt Du die Methode mit Fonts zur Barcodeerzeugung. Siehe z.B. http://www.idautomation.com/barcode-faq/code-128/

Steht denn alles als Barcode zu druckende (inkl. Checksumme) in Deiner "barcode"-Variablen drin?
Evtl. kann man am Scanner auch die Prüfsumme deaktivieren, etc..

Wenn Du den Code kopierbar mit Beispieldaten (TmpDruck_Buchlaufkarten.ISBN) eingestellt hättest, hätte evtl.jemand das probieren können. Tja..  :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

stringvar barcode := '';
stringvar belegnr := '';
numbervar p0 := 0;
numbervar p1 := 0;
numbervar p2 := 0;
numbervar p3 := 0;
numbervar p4 := 0;
numbervar p5 := 0;
numbervar p6 := 0;
numbervar p7 := 0;

//belegnr := LEFT('000', (13 - LENGTH(totext({TmpDruck_Buchlaufkarten.ISBN}))))+ totext({TmpDruck_Buchlaufkarten.ISBN});
belegnr :=  '0'+{TmpDruck_Buchlaufkarten.ISBN};
p0 := tonumber(MID(belegnr, 1, 2));
p1 := tonumber(MID(belegnr, 3, 2));
p2 := tonumber(MID(belegnr, 5, 2));
p3 := tonumber(MID(belegnr, 7, 2));
p4 := tonumber(MID(belegnr, 9, 2));
p5 := tonumber(MID(belegnr, 11, 2));
p6 := tonumber(MID(belegnr, 13, 2));
p7 := Remainder((105 + (p0*1) + (p1*2) + (p2*3) + (p3*4) + (p4*5) + (p5*6) + (p6*7)), 103);
barcode := 'Í';

if p0 = 0 THEN barcode := barcode + 'Ï'
else if p0 >= 95 THEN barcode := barcode + chr(p0 + 100)
else barcode := barcode + chr(p0 + 32);

if p1 = 0 THEN barcode := barcode + 'Ï'
else if p1 >= 95 THEN barcode := barcode + chr(p1 + 100)
else barcode := barcode + chr(p1 + 32);

if p2 = 0 THEN barcode := barcode + 'Ï'
else if p2 >= 95 THEN barcode := barcode + chr(p2 + 100)
else barcode := barcode + chr(p2 + 32);

if p3 = 0 THEN barcode := barcode + 'Ï'
else if p3 >= 95 THEN barcode := barcode + chr(p3 + 100)
else barcode := barcode + chr(p3 + 32);

if p4 = 0 THEN barcode := barcode + 'Ï'
else if p4 >= 95 THEN barcode := barcode + chr(p4 + 100)
else barcode := barcode + chr(p4 + 32);

if p5 = 0 THEN barcode := barcode + 'Ï'
else if p5 >= 95 THEN barcode := barcode + chr(p5 + 100)
else barcode := barcode + chr(p5 + 32);

if p6 = 0 THEN barcode := barcode + 'Ï'
else if p6 >= 95 THEN barcode := barcode + chr(p6 + 100)
else barcode := barcode + chr(p6 + 32);

if p7 = 0 THEN barcode := barcode + 'Ï'
else if p7 >= 95 THEN barcode := barcode + chr(p7 + 100)
else barcode := barcode + chr(p7 + 32);

barcode := barcode + 'Î';

barcode;

 

Das wäre der komplette Code.

Wir haben an sich schon alles versucht was wir konnten, sind auch so weit gekommen, dass die Komplette ISBN angezeigt wird, nur mit einer führender 0 am Anfang, die wir dort einfach nicht weg kriegen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

Anscheinend codiert die Funktion in Code128C - zu sehen z.B. an der "105" in

p7 := Remainder((105...

Bei Code C werden Zahlen immer paarweise kodiert: Z.B. "00", "90", "66", etc. - das bedeutet bei ungerader Stellenzahl entweder vorn oder hinten aufgefüllt werden muss.

Andere Möglichkeiten:

- Bei Code128 vor der 13. Stelle einen Wechsel auf eine andere Tabelle machen - wie das geht steht z.B. in dem idautomation-Link. Beachte, dass auch die Prüfsummenberechnung angepasst werden muss.

- Bei Code128 gleich eine andere Tabelle (A oder B ) nutzen - der erzeugte Code muss nicht unbedingt länger werden)

- Anderen Barcode verwenden (EAN13?)

Hth & Guten Rutsch!

Ripper

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

Hey, Dankeschön für die guten und schnellen Antworten.

Das Problem hat sich soweit geklärt. wir haben bei unseren MDE-Geräten einfach die Prüfsummen deaktiviert... Ja, manchmal denkt man einfach viel zu kompliziert :lol: 

Mfg :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...