AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Bibliothek] Barcode für Delphi (Zint)

[Bibliothek] Barcode für Delphi (Zint)

Ein Thema von chaosben · begonnen am 27. Nov 2009 · letzter Beitrag vom 24. Okt 2020
Antwort Antwort
Seite 6 von 14   « Erste     456 78     Letzte » 
Benutzerbild von chaosben
chaosben
Registriert seit: 27. Apr 2005
Geschichte & Hintergrund
Ende 2009 entstand hier und im TUO-Repository die TZintBarcode-Komponente. Das war ein Compilat der Zint-Bibliothek als 32bit-Windows-DLL und die dazu passenden Delphi Wrapper-Klassen und Komponenten.
Zint ist ein C-Projekt von Robin Stuart, einem sehr netten Entwickler aus UK.
Nach einer Weile starb das original Zint-Projekt (und damit auch die Weiterentwicklung unserer Komponente) weil Robin das Projekt nicht mehr unterstützte.
Ende Mai 2012 kam wieder frischer Wind in das Zint-Projekt, auch durch den Fork (was auch gleichzeitig der aktuelle Stand der Dinge ist) von Ismael Luceno auf github.
Da wir externe Abhängigkeiten(in diesem Fall die zint.dll) nicht gern haben, entschieden wir uns (nach Absprache mit Robin), den originalen C-Code nach Pascal zu übersetzen.
Dabei gelten 2 Regeln:
  1. So nah wie möglich am originalen C-Code bleiben, damit Bugfixes und Features möglichst einfach übernommen werden können
  2. So Pascal wie möglich, damit auch die FreePascal-Gemeinde (und damit möglichst viele Plattformen) etwas davon hat.
Und damit sind wir im Heute angekommen. Die Übersetzung ist vollständig erledigt und nun warten wir auf euer Feedback.

Was es ist
Dies ist eine native Pascal-Implementation der Zint-Bibliothek zur Erstellung von verschiedenen 1D- und 2D-Barcodes.

Download
Den Code gibts per SVN.
Lizenz
Apache License 2.0

Was im Moment geht
Zur Zeit sind folgende Codes verfügbar:
  • 2of5Matrix, 2of5Industrial, 2of5Interleaved, 2of5IATA, 2of5Datalogic
  • Deutsche Post Leitcode, Deutsche Post Identcode
  • EAN128, Code128, Code128B, NVE18, ITF14, EAN14
  • Datamatrix
  • Maxicode
  • Code 11, Code 39, Pharmacentral (PZN), Extended Code39, Code93
  • Pharmacode, 2-Track-Pharmacode, Codabar, Code32
  • Australia Post Code, Australia Post Reply Code, Australia Post Route Code, Australia Post Redirect Code
  • Aztec, Azrunes
  • Code16k
  • Code49
  • Composites: EAN128
  • QR-Code, MicroQR-Code
  • Gridmatrix
  • Plessey, MSI-Plessey
  • EAN13, EAN5, EAN2, UPCA, UPCE, ISBN
  • Telepen,
  • [Korea|Dutch|Japan]Post
  • GS1-Databar
Folgende Rendering-Ziele werden im Moment unterstützt:
  • TCanvas (Delphi, FMX, Lazarus)
  • TMetafile (Delphi)
  • TlmfImage (Lazarus)
  • TBitmap (Delphi, FMX, Lazarus)
  • SVG nativ (Delphi, FMX, Lazarus)

Was noch fehlt
  • Firebird-UDF (man darf doch mal träumen, oder?)

Danke für die Mitarbeit (Ideen, Bugs, ...)
Fragen, Anregungen, Issues
Falls ihr dergleichen habt, schreibt sie bitte in den Issue-Tracker oder auch in diesen Thread (falls eine akute Google-Allergie besteht ). In der Regel sollte sich eine Lösung finden lassen.
Wünsche, die in Form einer PayPal-Zahlung ankommen, werden bevorzugt bearbeitet.

Viel Spass!
Angehängte Grafiken
 
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)

Geändert von chaosben ( 9. Feb 2014 um 08:45 Uhr)
 
Moehre

 
Delphi 5 Enterprise
 
#51
  Alt 3. Sep 2013, 11:17
Na, das passt ja prima Ich stelle grade meine Software von D7 auf XE2 um und war auf der Suche nach einer Barcode-Compo, weil die alte nicht mehr unterstützt wird

Eine Frage: ich bin jetzt nicht so firm, was Grafik Programmierung angeht und habe auf den ersten Blick im Source nichts gefunden: Ist auch die Möglichkeit geplant / vorhanden, den Barcode "hochkant" zu erzeugen (also quasi 270 Grad gedreht)?
In einigen Dokumenten (Lieferschein usw) soll der Barcode am linken Rand von unten nach oben angedruckt werden ... oder kann ich das erzeugte WMF irgendwie selber passend auf das Dokument / Canvas kloppen?

Thx und Gruss
Moehre
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

 
Delphi 10.2 Tokyo Professional
 
#52
  Alt 3. Sep 2013, 12:41
Naja es dürfte sicher nicht schwer sein, ein SVG um 270 Grad zu drehen. Wobei es bei den meisten Codes ziemlich egal ist ob 270 oder 90 Grad.
  Mit Zitat antworten Zitat
Moehre

 
Delphi 5 Enterprise
 
#53
  Alt 3. Sep 2013, 13:44
@Codehunter: Das, was ich gefunden habe, war eher komplizierter mit Matrizen, Ändern der CANVAS Ausrichtung usw. Da scheint es mir einfacher, bei der Erstellung das zu berücksichtigen...
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

 
Delphi 10.1 Berlin Professional
 
#54
  Alt 3. Sep 2013, 14:10
vielleicht hilft dir das weiter:

http://www.delphipraxis.net/1216358-post8.html
Marco Warm
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#55
  Alt 13. Sep 2013, 15:38
Update 13.09.13: Großes Etappenziel erreicht!
Heute haben wir das Ziel erreicht, das alle Barcodetypen des Zint-Projektes verfügbar sind.
Außerdem läuft unsere eigene Rendering-Engine nun zufriedenstellend. Alles in allem ein guter Start ins Wochenende.
Im Repository befindet sich jetzt auch eine kompilierte Delphi-Demo.
Benjamin Schwarze
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

 
Delphi 10.2 Tokyo Professional
 
#56
  Alt 13. Sep 2013, 19:08
Erstmal danke und dickes Lob für die viele Mühe! Bei meinem Spezi Codabar klemmts aber anscheinend: Als Daten der Teststring "123456" verwendet liefert die Demo "Illegal characters in data" - wobei seltsamerweise Buchstaben funktionieren und Zahlen nicht. Codabar kann aber sehr wohl auch Zahlen
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#57
  Alt 14. Sep 2013, 13:41
Danke!

Laut Definition muss ein Codabar mit A,B,C oder D beginnen und enden. Dazwischen kannst du Ziffern setzten. So ists im Moment auch implementiert.
Falls es andere Definitionen/Protokolle gibt, müssten wir das noch einbauen.
Benjamin Schwarze
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

 
Delphi 10.2 Tokyo Professional
 
#58
  Alt 14. Sep 2013, 17:52
Ehrlich gesagt, ich habe mich nie mit der Definition befasst. Wir haben hier rein numerische Codabars im Einsatz, die alte Barcode-Komponente machte das auch klaglos mit und die Scanner (basierend auf Psion und Tektronix) lesen das auch problemlos.

Im Gegenteil, ich kann mich erinnern, dass wir mal Probleme hatten einen alphanumerischen bzw. hexadezimalen Codabar zu generieren und das Ding nur numerisch wollte.

Hab grad mal ein bisschen nachgelesen: Scheinbar kann man A bis D nur als Startzeichen oder Stopzeichen verwenden, dürften also nur jeweils am Anfang und am Ende vorkommen. Jedes andere Zeichen, also auch die rein numerischen, dürften theoretisch überall vorkommen (auch als erstes oder letztes Zeichen).

Normalerweise wäre das auch gar kein Problem, da man jeden Scanner auf Stripchars konfigurieren kann. Da es aber bei uns auch rein numerische gibt und die Scanner nicht auf Stripchars eingestellt sind, wäre das inkompatibel.

Ich denke, ein dediziertes Start-Stop-Zeichen ist technisch nicht notwendig sondern eine Festlegung der Unternehmen, die Codabar verwenden (vornehmlich FedEx und US-Bibliotheken).

Bei uns kam Codabar im Lager zum Einsatz, da er sich als robuster erwies als EAN, wenn Etiketten mal beschädigt oder zerkratzt sind ließ sich Codabar deutlich zuverlässiger lesen als EAN.
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#59
  Alt 14. Sep 2013, 20:18
Na hoppla ... das scheint wohl ein Missverständnis zu sein. Ich habs im Code angepasst. Jetzt sollte es für dich nutzbar sein.
Benjamin Schwarze
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

 
Delphi 10.2 Tokyo Professional
 
#60
  Alt 14. Sep 2013, 22:25
Herzlichen Dank für die schnelle Reaktion! Wird am Montag gleich ausprobiert
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf