Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Barcode EAN 128 und Fast Report (https://www.delphipraxis.net/157580-barcode-ean-128-und-fast-report.html)

smallxx 17. Jan 2011 12:23

Barcode EAN 128 und Fast Report
 
Hallo zusammen,

Ich stelle meine Frage mal auf zwei völlig verschiedene Arten:

#################################
ERSTE ART MEINE FRAGE ZU STELLEN
#################################

ich hätte mal eine Frage: Ich teste gerade (mit CodeGear RAD Studio 2009) Fast Reports 4.

Funktioniert alles ganz gut, aber die Barcodes machen Probleme. Wir haben Testmaterial vorliegen (Ausdrucke, die künftig mit Fast Report laufen müssten). Dort ist auch ein Barcode vorhanden. Lt. Kunde EAN 128. Ein Test mit bcTester 4.8 (so ein Barcode Testprogramm) bestätigt dass dieser Code ok ist (d.h. gibt den Text wieder und ist auch EAN 128). Der Testausdruck war auch ein "echtes" Dokument, sprich eine Kopie davon ist im Lager beim Kommissionierens gescannt worden.

Problematisch mit Fast Reports: Dort kann man in der Barcode-Komponente ja auswählen:
EAN128A
EAN128B
EAN128C
(Nur "EAN128" gibts nicht).

Bei mir fängt da die Frage schon an, ob ich A oder B oder C nehme. Aber egal was ich nehme: Der Code bei Fast Report sieht einfach anders aus als der auf dem Testbeispiel.

Prüfziffern sind schon berechnet, sprich in dem Text bereits integriert.

Ein Konkurrenzprodukt (List & Label) stellt genau "EAN128" (ohne A B oder C) bereit, und der Barcode entspricht exakt dem Testbeispiel. Nur, irgendwie scheint der Ausdruck bei Fast Report auch korrekt zu sein; denn BCTester sagt auch hier "EAN128" und gibt den Text entsprechend wieder. Aber dieser Code sieht einfach ganz anders aus. Er scheint viel mehr Informationen zu enthalten, es sind viel mehr "Streifen" als bei dem Testausdruck.

Weiß jemand was ich falsch mache oder wie ich dem Generator das beibringen kann, ein ganz normales GS1 128 (UCC/EAN-128) Barcode zu erzeugen, der genauso aussieht, wie bei eigentlich jedem Onlinebarcode-Generator, oder eben auch (leider) bei Konkurrenzprodukten? Ich denke nicht, dass das nicht geht, aber ich mache wohl etwas falsch.

#########################################
### Zweite Art meine Frage zu stellen ###
#########################################

Was muss ich tun, um folgendes hinzubekommen:

Ich möchte, dass mir die FastReport4.0 Barcode-Komponente den selben Barcode generiert, wie der Onlinegenerator auf folgender URL:
http://barcode.tec-it.com/?LANG=de
Dort gebe ich ein:
Feld Strichcode (Combobox): GS1 128 (UCC/EAN-128)
Feld Daten: 010403402234259115100516105325082109847
Feld Modulbreite: Auto / Default
Sonst alles wie voreingestellt


Wie man merkt, habe ich nicht sooo viel Ahnung wie genau ein Barcode funktioniert. Aber: Kann ein Standard-GS1 128 (UCC/EAN-128) mit Fast Report überhaupt generiert werden?

Grüße

Patito 17. Jan 2011 13:54

AW: Barcode EAN 128 und Fast Report
 
Dafür habe ich mich auch schon interessiert. Mit Delphi 2009 gieng das soweit ich weiss am Anfang erst mal gar nicht.

Anfang 2010 habe ich in den Foren von FastReports gelesen, dass es einen
Fix gab um den nötigen FNC1-Charakter für die GS1-Codes erzeugen zu können.

Falls Du eine alte Installation von Fast Reports hast, könnte Dir mit ein wenig Glück ein Update oder Bug-Fix der Komponenten weiterhelfen.

Ich generiere meine Barcodes mit Delphi 7 und RaveReports. Dort kann kann ich den Code128 Barcode generieren, und den nötigen FNC1-Code über einen "n mit Tilde" - Charakter einfügen...

Vielleicht hilft Dir aber auch die Wikipedia zum Thema Code128 oder GS1-128 weiter um herauszufinden welchen Code Du wirklich brauchst. GS1 ist so eine Art Spezialfall von Code128. In Code 128 gibt es A, B und C Codes, die können aber soweit ich weiss innerhalb eines Barcodes gemischt auftreten...

smallxx 17. Jan 2011 14:21

AW: Barcode EAN 128 und Fast Report
 
Danke für die schnelle Antwort,

Zitat:

Anfang 2010 habe ich in den Foren von FastReports gelesen, dass es einen
Fix gab um den nötigen FNC1-Charakter für die GS1-Codes erzeugen zu können.
Ich weiß nur nicht so richtig auf welche Art ich das in den String einbauen müsste (hab schon ein paar erfolglose Versuche gemacht...
n mit Tilde, hab ich bereits versucht, leider ohne Erfolg. Aber wenn ich das nutzen würde, wäre wohl nicht EAN128, sondern "nur" Code128 der Fall, weil aus Code128 + FNC1 = EAN128 wird oder?

Bin ansonsten schon einen Schritt weiter...
Es sieht so aus als wäre mein gesuchter Code EAN128C, mit leider einer Einschränkung...

FastReport erzeugt exakt den gleichen Barcode wie die im Eingangsthread genannte URL, aber nur wenn man eine gerade Anzahl an Zeichen (Ziffern) eingibt und vergleicht. Mein Barcode ist aber ungerade. In dem Fall klatscht FastReport eine "0" ganz vorn ran, und schon passt es nicht mehr.

Danke bis hierhin

Patito 17. Jan 2011 15:49

AW: Barcode EAN 128 und Fast Report
 
Hm. im ChangeLog von FastReports gibt es zu Version 4.9 den Eintrag
+ added ability to inseret FNC1 to "code 128" barcode

hab aber leider nicht raus ob und wie man das macht.

Dieses EAN128(A,B,C) von FastReports sind vermutlich nur Code128(A, B oder C) mit einem festen FNC1 vorne dran. Ich hoffe mal für Fast Reports, dass das nicht schon alles in Richtung FNC1 war...

Ich habe in den FAQ von www.gs1-germany.de noch folgendes gefunden:
Zitat:

8. Meine Druckersoftware erlaubt nur die Wahl eines bestimmten Zeichensatzes innerhalb des GS1-128 bzw. Code 128 (A, B oder C). Welchen soll ich wählen?

Insbesondere bei einer ungeraden Anzahl von Ziffern oder bei alphanumerischen Zeichen ist die Nutzung nur eines Zeichensatzes suboptimal. Die Wahl der optimalen Zeichensatzfolge (zur Datenverschlüsselung in kürzestmöglicher Form) inkl. der Start-, Code- und Umschalt-Zeichen sollte von der Drucksoftware automatisch vorgenommen werden. Darüber hinaus sollten entsprechende Softwarepakete den Druck des FNC 1-Zeichens am Anfang des Symbols sowie als Trennzeichen bei der Verknüpfung von Dateninhalten variabler Länge vorsehen. Ist Ihre Druckersoftware zu all dem nicht in der Lage, erhöht sich Ihr manueller bzw. programmiertechnischer Aufwand. Es ist zu prüfen, ob die Anschaffung einer entsprechend leistungsfähigen Software letztendlich nicht doch günstiger ausfällt.
Soviel also zu Deiner Frage A, B oder C...
Rein gefühlsmäßig lasse ich von Fast Reports erst mal die Finger... vielleicht bringt die angekündigte Version 5 noch Verbesserungen in die Richtung, ansonsten wird man wohl mit ein paar seltsamen Einschränkungen leben müssen...

Ackerjan 20. Jan 2011 14:06

AW: Barcode EAN 128 und Fast Report
 
Ich muss ein Reportingtool für unsere Zwecke finden. Spätestens nachdem sich T. Pfister von Rave Reports in seinem Blog verabschiedet hat, ist Rave Report keine Alternative mehr. Denn es ist keine Aktivität mehr bei http://www.nevrona.com/ zu erkennen.

List and Label ist schön, aber auch etwas teuer!

FastReports wäre das Tool meiner Wahl, denn unsere kleine Firma muss folgendes abdecken konnen:

- Ein Designer für den Endbenutzer muss enthalten sein.
- Matrixdrucker müssen unterstützt werden. Es müssen (ESC/P)-Steuerzeichen an den Nadeldrucker geschickt werden können.
- Und es müssen Etiketten erstellt werden können. Unter anderem mit einem EAN128 C - Barcode.

Zitat:

Zitat von Patito (Beitrag 1075306)
Dieses EAN128(A,B,C) von FastReports sind vermutlich nur Code128(A, B oder C) mit einem festen FNC1 vorne dran. Ich hoffe mal für Fast Reports, dass das nicht schon alles in Richtung FNC1 war...

Dieser Vermutung bin ich ebenfalls nachgegangen und habe in der frxBarCode.pas entdeckt, dass eine einfache Codetabelle verwendet wird, die jeweils zwei Zahlen in einen DatenCode umwandelt. Somit kommt Fastreport nicht wirklich mit ungeraden EAN128-Codes klar. Da Fastreport allerdings sonst gut passt stellt sich mir die Frage, ob dieser mitgelieferte Code angepasst werden kann und das FastReport Projekt neu erstellt werden kann?

Hat da jemand damit seine Erfahrung gemacht?

Oder kennt jemand eine Möglichkeit FastReport Code128 mit Startcode C; FNC1 und ungeraden Datensegmenten beizubringen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz