AW: [Bibliothek] Barcode für Delphi (Zint)
Hallo
Ich wollte soeben voller Erwartung ZINT auch mal ausprobieren. Leider fehlt mir aber zum compilieren die "zint_metafile.pas" Viele Grüße... 0815achim |
AW: [Bibliothek] Barcode für Delphi (Zint)
Major UPDATE
ab heute wird's wohl nicht mehr funktionieren ;-) - aber zumindest compiliert es Wir haben den Code jetzt insoweit angepasst, daß er jetzt keinerlei AnsiString und AnsiChar Code mehr enthält. Das heißt alle "Strings" sind intern jetzt 0-basierende Byte oder Char Arrays. Das liegt näher am C Code und sollte jetzt kompatibel mit den mobilen Plattformen sein. Es wäre nett, wenn das jemand verifizieren könnte (iOS oder Android) - auch, ob sich diese erstellten Barcodes auch scannen lassen (nicht alles was dicke und dünne Striche hat ist ein lesbarer Barcode ;-) ) Außerdem werden jetzt die Gs1 Composite Barcodes unterstützt (zumindest EAN128) http://www.dlsoft.com/barcode_types/...de_symbols.htm schönes Wochenende Marco PS @ achim - das zint_metafile war deprecated... in der aktuellen revision ist es nicht mehr dabei ... war noch eine Leiche .. danke fürs bescheid geben |
AW: [Bibliothek] Barcode für Delphi (Zint)
OK!
Danke für die schnelle Antwort. Gruß... 0815achim |
AW: [Bibliothek] Barcode für Delphi (Zint)
Hallo
Ich schon wieder. Erst mal mein Lob für die klasse Arbeit und die Muhe. Ich habe beim rumprobieren noch einen kleinen Fehler entdeckt. Beim erzeugen von DataMatrix wird in der generierten Grafik immer ein "@" angehängt. Den Fehler selber habe ich im zint_dmatrix.pas Teil gefunden. Dort steht in Zeile 479 "while (sp <= inputlen) do". Richtig wäre aber "while (sp < inputlen) do". Viele Grüße... 0815achim |
AW: [Bibliothek] Barcode für Delphi (Zint)
uuuuuuuuuuuuuuuuuuuuuund gefixt :-)
und als Belohnung für's Fehlerfinden gibts jetzt gratis den QR Code encoder obendrauf Gruß Marco |
Update 27.08.13: wer hat einen Scanner der Gridmatrix lesen kann?
Seit heute sind folgende neue Codes verfügbar: MicroQR und Gridmatrix. Außerdem haben wir intern (TEncoding, StrtoArrayOfByte, ...) ein wenig auf-/umgeräumt. Hoffentlich läuft es jetzt noch auf allen System sauber. :roll: |
AW: [Bibliothek] Barcode für Delphi (Zint)
Update 28.08.13: Neue Codes und ein paar Helper
Neu hinzugekommen sind EAN-Codes, einige Plessey's und ein paar Helper um die Optionen eines Symbols besser zu setzen (TZintSymbol.???Options) |
AW: [Bibliothek] Barcode für Delphi (Zint)
Zitat:
Und falls ihr wider erwarte nicht pixelgenau rendert (also die Strich- und Zwischenraumdicken auf pixel herunterrechnet und ggf. anpasst), dann garantiere ich euch, das eure Barcodes nicht immer lesbar sind (genaugenommen nur mit hochauflösenden Druckern). :stupid: Und leider bzw. gott-sei-dank gibt es auch bei Scannern gute und schlechte (wobei die schlechten nach Spec decoden, was ja nicht gerade 'schlecht' ist) und die guten eine Art Fuzzy Logic haben ('sieht am ehesten nach EAN aus, ist zwar außerhalb der Spec, aber lesbar') Nur die 'guten' lesen auch schlecht gerenderte Barcodes (d.h. nicht pixelgenau) und das auch nicht immer. Leider. Ich kenne ein Gerät von SICK, welches neben dem Lesen auch eine Analyse der Barcodegüte ausspuckt. Aber das kostet ne Ecke. Das war mein Senf zum Donnerstag. |
AW: [Bibliothek] Barcode für Delphi (Zint)
[QUOTE=Furtbichler;1226571]
Zitat:
|
AW: [Bibliothek] Barcode für Delphi (Zint)
Also,
um der, zu befürchtenden Diskussion ("Ihr malt eure Barcodes ja schlimmer als ein Kleinkind mit dem Fuss") hier mal den Wind aus den Segeln zu nehmen: Wir (besser gesagt zint) rendert den Barcode, so genau es die entsprechende Canvas zulässt. Das ist im Falle eines Bitmaps/Printers Pixelgenau, bei WMF/LMF/SVG etc. Fließkommagenau! Zu meiner Aussage Zitat:
Gruß Marco |
AW: [Bibliothek] Barcode für Delphi (Zint)
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 |
AW: [Bibliothek] Barcode für Delphi (Zint)
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.
|
AW: [Bibliothek] Barcode für Delphi (Zint)
@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...
|
AW: [Bibliothek] Barcode für Delphi (Zint)
|
AW: [Bibliothek] Barcode für Delphi (Zint)
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. |
AW: [Bibliothek] Barcode für Delphi (Zint)
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 ;-)
|
AW: [Bibliothek] Barcode für Delphi (Zint)
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. |
AW: [Bibliothek] Barcode für Delphi (Zint)
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. |
AW: [Bibliothek] Barcode für Delphi (Zint)
Na hoppla ... das scheint wohl ein Missverständnis zu sein. Ich habs im Code angepasst. Jetzt sollte es für dich nutzbar sein. :)
|
AW: [Bibliothek] Barcode für Delphi (Zint)
Herzlichen Dank für die schnelle Reaktion! Wird am Montag gleich ausprobiert ;-)
|
AW: [Bibliothek] Barcode für Delphi (Zint)
Wie ich das verstanden habe, kann man mit ZInt Barcodes erstellen.
Ich könnte aber ein Leseprogramm dafür gebrauchen, sofern eine gewöhnliche Webcam zum Lesen genügt oder ein Handscanner nicht teurer ist als so eine Webcam. Was gibt es da? Testweise ZInt runterladen scheitert an dem Unstand das ich hier jede .pas Datei einzeln holen muss. Was, wenn diese Bibliothek dann wirklich nur die Codes erstellen kann, ohne sie auch lesen zu können. Wenn es passendes gibt, interessiert mich ein Link zu einer Datenbank mit den Zuordnungen zu den Artikeln, die mit dem Barcode codiert sind. Und zwar für Asien. Wer kann mir einen Link senden? |
AW: [Bibliothek] Barcode für Delphi (Zint)
Zitat:
Zitat:
|
AW: [Bibliothek] Barcode für Delphi (Zint)
@chaosben: Ich hab zwei Tage gebastelt um Zint testweise in unser System zu integrieren. Ich muss mich da korrigieren, das mit den Start-Stop-Chars stimmt doch. Unsere Scanner (Psion EP10) scheinen diese Zeichen aber schon vor dem Tastaturpuffer wegzufiltern (scheinbar über die Firmware vom Scannermodul), darum sieht man in den gelesenen Rohdaten keine Start-Stop-Zeichen.
Insofern muss ich mich entschuldigen, du solltest das wieder auf den Ausgangszustand zurück ändern. |
AW: [Bibliothek] Barcode für Delphi (Zint)
@Codehunter: kein Problem. Ich habs wieder rückgängig gemacht. Und danke für die Rückmeldung. :)
|
AW: [Bibliothek] Barcode für Delphi (Zint)
Eventuell wäre eine etwas präzisere Fehlermeldung an der Stelle sinnvoll. Nicht einfach nur "Invalid characters" sondern etwas das dediziert auf die fehlenden/falschen Start-Stop-Zeichen hinweist.
Tatsächlich gibt es keine technische Notwendigkeit für diese Zeichen, sondern es ist einfach eine Festlegung der Unternehmen, welche die Codierung einsetzen. Aber an der Stelle mal dickes Lob bzgl. des WMF-Exports: Ein durchschnittlicher Druckauftrag für Etikettenbögen ist jetzt vom bisherigen Volumen von ca. 23 MB auf 870 kB zusammengeschrumpft. Das hat ganz konkrete Auswirkungen auf den Arbeitsfluss. Ich denke, im nächsten großen Release wird Zint die alte Barcode-Komponente ablösen. Was aber noch sehr wünschenswert wäre: Eine Delphi-Komponente, welche die native Zint-Bibliothek kapselt. Im Moment ist es mehr ein Copy&Paste-Programmieren aus der Demo heraus. |
AW: [Bibliothek] Barcode für Delphi (Zint)
Die Fehlermeldung habe ich angepasst. Sie war eben im original-Code so. Theoretisch besteht da noch viel Anpassungsbedarf.
Es gibt eine VCL-Komponente im SVN. Falls noch andere Wünsche bestehen, musst du einfach Bescheid sagen. |
AW: [Bibliothek] Barcode für Delphi (Zint)
noch mal zu Codabar ,
ich habe gerade mal die Einstellungen meines Scanners durchgelesen da gibt es verschiedene "Geschmacksrichtungen" die Start/Stop Codes sind alternativ ABCD/ABCD ABCD/EN*T oder auch Kleinbuchstaben abcd/abcd abcd/en*t http://en.wikipedia.org/wiki/Codabar |
AW: [Bibliothek] Barcode für Delphi (Zint)
Zitat:
|
AW: [Bibliothek] Barcode für Delphi (Zint)
Habs jetzt noch mal angepasst. Man kann nun ABCDTN*E als Start/Stop-Zeichen nehmen.
Ich hoffe, das ist nun der Weisheit letzter Schluss. :-) |
AW: [Bibliothek] Barcode für Delphi (Zint)
Hallo
Ich bekomme beim Demo Projekt für FMX keine Ausgabe (Ich arbeite mit XE2). Das Demo Projekt für VCL funktioniert einwandfrei. |
AW: [Bibliothek] Barcode für Delphi (Zint)
Hallo Achim,
ich habe eben mal die demo compiled und mit ins SVN gestellt... bringt die Exe bei dir auch keine Ausgabe? Die Quellen sind aktuell. |
AW: [Bibliothek] Barcode für Delphi (Zint)
Hallo
Auch die von dir compilierte EXE erzeugt bei mir keine Ausgabe. Meine erste Vermutung das etwas mit meinem Delpi oder Treibern nicht stimmt hat sich leider nicht bewahrheitet. Sobald ich eine BMP "von Hand" imgResult lade wird dieses auch angezeigt. Gruß... 0815achim |
AW: [Bibliothek] Barcode für Delphi (Zint)
Ich noch mal
Es scheint doch irgendwie an meinem Rechner zu liegen. Bei einem anderen Rechner geht die von dir erzeugte Exe. Der zweitrechner hat allerding noxh winXP drauf im gegensatz zu meinem Arbeitsrechner mit Win7. Keine Ahnung ob das was zu sagen hat. Ich werd auf jeden Fall mal bischen weiter testen. Gruß... 0815achim |
AW: [Bibliothek] Barcode für Delphi (Zint)
So und jetzt zum dritten mal
Ich habe nochmals an mehreren Rechnern getestet. An 3 win7 Rechnern -> keine Ausgabe. An 2 winXP Rechnern -> ordentliche Ausgabe. An 1 Win2k Rechner -> Exception. Scheint also doch irgendwie mit dem Betriebssystem zusammen zu hängen. Es wurde doch mal irgendwan eine "eigene Render Engine" implementriert. Ist da evtl. die Ursache zu suchen? Gruß... 0815achim |
AW: [Bibliothek] Barcode für Delphi (Zint)
Die Demo funktioniert bei mir unter Windows 7 64 Bit ohne Probleme.
Tolle Arbeit! :thumb: |
AW: [Bibliothek] Barcode für Delphi (Zint)
Kann ich bestätigen: Win 7 x64 ohne Probleme. Ich könnte mir aber vorstellen, dass der Metafile-Export die Ursache sein könnte. Die Demo basiert ja darauf und die VCL wiederum bedient sich bei Windows wenn es um Metafile geht. Jetzt weiß ich aber nicht, ob sich Grafiktreiber auch um die Metafiles kümmern oder ob das höher im Betriebssystem angesiedelt ist.
|
AW: [Bibliothek] Barcode für Delphi (Zint)
Aaaaalso,
hier kommt der Erklärbär : die Exception
Code:
kommt wenn ich versuche die Druckerliste zu bekommen und es dabei knallt - ich hab keine Ahnung warum das auf einigen Systemen passiert - aber das ist auch nicht Aufgabe unseres Projektes ;-) - ich hab die Exception jetzt abgefangen.
Fehler bei der Bereichsprüfung
Die Darstellung ist anscheinend von System zu System unterschiedlich. Bei manch einem OS (z.B. Win Server 2008) ist es kein Problem, daß ich die Canvas nicht mit BeginScene und EndScene behandle. Nun mache ich es gemäß Lehrbuch und hoffe es funktioniert überall gut. Gruß Marco |
AW: [Bibliothek] Barcode für Delphi (Zint)
Danke!
Jetzt gehts ohne Probleme. Gruß... 0815achim |
AW: [Bibliothek] Barcode für Delphi (Zint)
Hallo,
ich hab die alte Zint Compo durch die neue ersetzt. Leider hab ich bei der Ausgabe auf ein TImage über den wmfrenderer den gleichen Effekt den ich auch bei der OriginalKompo hatte. Wenn ich foregroundcolor mittels einer Colorbox setzen will dann bleibt mein Image weis und zeigt nichts mehr an.
Delphi-Quellcode:
Nachdems auch schon im alten Zint das Problem gab, evtl ist das mit rüber portiert worden.
InitRenderTarget(rt);
rt.ForegroundColor:=barcodefarbe.color; rt.backgroundcolor:=colorbox1.Color; try Symbol.Render(rt); imgResult.Picture.Graphic:=wmf; finally Evtl kann das mal jemand testen, reproduzieren. meine Umgebung: Win7 32Bit Delphi XE2 Enterprise |
AW: [Bibliothek] Barcode für Delphi (Zint)
Hi matashen,
ich kann es leider nicht bestätigen. Ich habe mal Farbauswahlboxen in die VCL Demo reingebaut. Wäre schön, wenn du die Demo mal bei dir builden könntest. Gruß Marco |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 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