Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   swissqr generator (https://www.delphipraxis.net/203814-swissqr-generator.html)

dtpfl 27. Mär 2020 13:18

swissqr generator
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich bin derzeit auf der suche nach einer Bibliothek für Delphi 5, welche einen SWISSQR(Siehe Anhang) erzeugen kann. Am besten im Bitmap-Format.

Vielleicht hat jemand schon Erfahrung gemacht und kann mir da eine empfehlen.

Danke im Voraus!

himitsu 27. Mär 2020 13:28

AW: swissqr generator
 
https://www.delphipraxis.net/203147-...er-delphi.html
Falls es dich nicht stört, wenn das Logo in der Mitte fehlt.

Rolf Frei 27. Mär 2020 16:57

AW: swissqr generator
 
Zitat:

Zitat von dtpfl (Beitrag 1460619)
Hallo,
ich bin derzeit auf der suche nach einer Bibliothek für Delphi 5, welche einen SWISSQR(Siehe Anhang) erzeugen kann. Am besten im Bitmap-Format.

Vielleicht hat jemand schon Erfahrung gemacht und kann mir da eine empfehlen.

Danke im Voraus!

Siehe Link von himitsu. Das Bild in der mitte musst du aber selber formatieren und drauf platzieren. Die Komponente unterstützt das leider nicht und auf meine Bitte hat der Author der Komponentet leider nie geantwortet. Wir nutzen dafürt vorerst noch die teure HanSoft Komponente, nur ist da der Sourcecode lieder nicht dabei, was eingentlich ein NoGo ist. Auf die schnelle hatten wir aber keine andere Altenative. Die verlinkte Komponente hier im Forum, gab es zu dem Zeitpunkt, wo wir den SwissQRCode eingebaut haben, leider noch nicht.

Nur so als Info: Das CH-Kreuz kannst du einfach im Zentrum über den erzeugten QR-Code in der richtigen Grösse platzieren. Wegen der Fehlerkorrektur macht das nichts. Warum man da aber nur wegen dem doofen Kreuz den QRCode eigenlich "kaputt" machen muss, ist mir ein Rätsel. Da hat wohl einer gedacht das sei super cool, wenn es da ein CH Kreuz in der Mitte hat.

EDIT:
Habe eben gesehen, dass du was für Delphi 5 suchst. Die verlinkte Komponente benötigt aber leider eine neuere Version von Delphi, da dort Generics verwendet werden. Ob du das eventuell selber "downgraden" kannst, musst du halt schauen. Gibt noch 2-3 andere Lösungen.

Z.B. https://www.delphipraxis.net/143986-...i-zint-13.html Ob das mit Delphi 5 funktioniert, weiss ich nicht.

jaenicke 27. Mär 2020 23:05

AW: swissqr generator
 
Zitat:

Zitat von Rolf Frei (Beitrag 1460653)
Das Bild in der mitte musst du aber selber formatieren und drauf platzieren. Die Komponente unterstützt das leider nicht und auf meine Bitte hat der Author der Komponentet leider nie geantwortet.

Da QR-Codes mit Bildern in der Mitte quasi kaputt sind und nur wegen der Fehlerkorrektur funktionieren, gilt dafür auch die freie Lizenzierung nicht. Deshalb sollte man mit solchen Ideen sehr aufpassen, wenn man nicht in eine teure Kostenfalle laufen möchte...
Frei verwendbar sind ganz explizit nur QR-Codes, die exakt dem Standard entsprechen!

HolgerX 28. Mär 2020 04:56

AW: swissqr generator
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm..

Schau Dir mal diese Komponente an:

https://www.delphipraxis.net/173262-...qrbarcode.html

Mit 2 Anpassungen (ReplaceText mit StringReplace getauscht, const aus der Class ins implementation verschoben) läuft diese bei mir mit Delphi 6, sollte somit dann auch bei Dir laufen.
Das Kreutz kannst Du dann als 'Overlay' Bitmap angeben und es wird in den QR-Code platziert.

Leider kann die Größe des eingefügten Bildes nicht angepasst werden, und es ist im Vergleich zum SwissQR etwas größer.
Mit Anpassungen am beigelegtem Demo konnte ich dann Mehrzeiligen Text (notwendig für die SwissQR Datenzeilen) und das Kreuz im QRCode erzeugen und unser 2D-Barcode Scanner auf der Arbeit konnte die Daten lesen...

Den angehängten QR-Code habe ich mit Mülldaten gefüllt, also nicht wundern.
Leider konnte ich das bmp nicht anhängen (trotz nur 178x178 pixel bei 5 kb Größe), somit könnte das JPG vielleicht nicht gescannt werden.


Mal sehen, ob ich Lust habe diese Komponente etwas zu überarbeiten ;)

himitsu 28. Mär 2020 11:39

AW: swissqr generator
 
Zitat:

Zitat von jaenicke (Beitrag 1460667)
Frei verwendbar sind ganz explizit nur QR-Codes, die exakt dem Standard entsprechen!

Kaputter Code ist teurer als Funktionierender?

Rolf Frei 28. Mär 2020 12:35

AW: swissqr generator
 
Zitat:

Zitat von HolgerX (Beitrag 1460674)
Hmm..

Schau Dir mal diese Komponente an:

https://www.delphipraxis.net/173262-...qrbarcode.html

Diese Komponente geht nicht, da man da keine Fehlerkorrekturstufe angeben kann. Wir benötigen hier den ECC-Level "M".
Zitat:

Im Moment wird nur 8-bit-Encoding und ECC-Level H unterstützt.
Der Swiss QRCode gibt genau vor wie dieser auszusehen hat, welche Grösse, welchen Fehlerkorrektur, etc zu verwenden ist. Dass da eine CH-Kreuz in der Mitte platziert werden muss, ist leider auch vorgegeben. Siehe Kapitel 5: https://www.paymentstandards.ch/dam/...qr-bill-de.pdf

Das sind die verlangten Eckdaten:
- Fehlerkorrektur "M"
- Grösse : 46x46 mm
- Das CH-Kreuz muss genau 7x7 mm gross sein und soll den QRCode in der Mitte überlagern

HolgerX 28. Mär 2020 16:31

AW: swissqr generator
 
Hmm..

Zitat:

Zitat von Rolf Frei (Beitrag 1460696)
Das sind die verlangten Eckdaten:
- Fehlerkorrektur "M"
- Grösse : 46x46 mm
- Das CH-Kreuz muss genau 7x7 mm gross sein und soll den QRCode in der Mitte überlagern

Wer das vorgegeben hat, sollte sich mal anschauen, wie QRBarcodes funktionieren!

1. Barcodes 'wachsen', je mehr Daten damit kodiert werden müssen, somit ist eine feste Größe von 46x46 schon mal nur durch Verkleinerung erreicht werden, da die Printdarstellung nicht unbegrenzt verkleinert werden kann (Physikalische DPI des Druckers), kann der Code von Scannern irgendwann nicht mehr gelesen werden, da Punkte verschwinden.

2. Wenn das CH-Kreuz 7x7 mm groß sein muss, dann würde bei steigendem Text immer mehr Informationen 'verdeckt' werden, dass irgendwann die Fehlerkorrektur auch hier nichts mehr korrigieren kann oder der Code muss größer werden und kann die 46x46 nicht mehr einhalten, was uns dann wieder zu 1. führt.

3. Fehlerkorrektur "M" erlaubt bis zu 15% Schaden am Barcode. Fehlerkorrektur "H" sogar bis zu 30%..
Somit macht diese zwar den Barcode größer, aber erlaubt auch mehr 'Schaden'..

Bin mal gespannt, ob Du eine kostenlose Komponente findest, welche das kann..
Eventuell hast du mit ZINT eine Chance...

Zitat:

Zitat von jaenicke (Beitrag 1460667)
Da QR-Codes mit Bildern in der Mitte quasi kaputt sind und nur wegen der Fehlerkorrektur funktionieren, gilt dafür auch die freie Lizenzierung nicht. Deshalb sollte man mit solchen Ideen sehr aufpassen, wenn man nicht in eine teure Kostenfalle laufen möchte...
Frei verwendbar sind ganz explizit nur QR-Codes, die exakt dem Standard entsprechen!


Das ist wohl der Grund, wieso das SwissQRCode heißt!
Es handelt sich nicht mehr um einen originalen, Standard-QRCode... ;)

Rolf Frei 30. Mär 2020 13:19

AW: swissqr generator
 
Die haben sich da schon was überlegt und funktioniert ja so auch. Der Swiss QRCode hat maximal 970 Zeichen und damit ist auch ein "voller" QRCode mit den Vorgaben gut lesebar. Das ist also kein Problem.

Die Freeware Komponente von Redeemer sollte eigentlich problemlos nutzbar sein, da diese alle Anforderungen erfüllt. Die Fehlerkorrektur "M" kann da angeben werden. Problem für den OP ist allerdings, dass diese eben nicht D5 kompatibel ist.

HolgerX 30. Mär 2020 14:20

AW: swissqr generator
 
Hmm..

Hab mir die Komponente von Redeemer herunter geladen und sie mir mal (Quick&Dirty) an mein D6 angepasst (Austausch der Generics/Definition von TBytes und RawByteString/Verwenden des alten PNGObject aus dem Netz) und schon konnte ich mir die QRCodes mit D6 funktionierend generieren lassen.

Somit sollte dies wohl auch mit D5 möglich sein, da der Unterschied zu D6 noch nicht so Groß ist.. ;)

Wenn Redeemer hier mitlist, könnte er mir ja erlauben diese Änderungen zu veröffentlichen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr.
Seite 1 von 2  1 2      

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