RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Nach diesem Thread hab ich mir überlegt, dass es seltsam ist, dass Leute 3 Seiten mit DLLs rumeiern, statt so'n Ding einfach mal eben selbst zu schreiben. Also hab ich Donnerstag und Freitag nach Feierabend mal schnell eine nahezu komplette Klasse aus dem Boden gestampft. 100% Delphi. Es fehlt an sich nichts Wichtiges:
Delphi-Quellcode:
Es ist auch eine Klasse enthalten, mit der man allgemein Bitfelder zeichnen kann.
var
QR: TRedeemerQR; begin QR := TRedeemerQR.Create(); try QR.LoadFromString(AnsiString(Edit1.Text), TQRECLevel(ComboBox1.ItemIndex)); Image1.Picture.Assign(QR); finally QR.Free(); end; Zur Implementation genutzte Informationen: - http://www.swetake.com/qrcode/qr1_en.html (allgemeines Verfahren) - https://www.thonky.com/qr-code-tutorial/introduction (Maskenbewertung und die meisten Konstanten) - https://en.wikiversity.org/wiki/Reed...al_information (einige weitere Konstanten und Infos über das Interleaving mehrerer auch unterschiedlich großer Reed-Solomon-Blöcke) GITHUB-PROJEKT DOWNLOAD (enthält auch eine EXE-Demo und deren Sourcecode) |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Das finde ich jetzt einen interessanten Zufall. Vorgestern hatte ich die Idee, als kleines Gimmick in einem Projekt einen QR-Code anzeigen zu lassen (nichts wildes, nur eine URL), und -schwupps- kommt hier der Code dafür. :thumb:
Aber eine Frage dann: Über eine kurze Suche bin ich bereits über dieses Topic in der DP auf dieses Projekt gestoßen, was ja gegen Ende auch in dem von dir verlinkten Topic verlinkt wird. Kannst du (da du dich mit der Materie jetzt auskennst) kurz die Unterschiede bzw. Vor- und Nachteile erläutern? Eine dll scheint man in beiden Fällen nicht zu benötigen. (Bisher ist das bei mir nur eine spinnerte Idee, viel Aufwand möchte ich in diese Funktion nicht reinstecken ...) |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Wichtig wäre noch eine Lizenzangabe. Die Zint Bibliothek verwendet z.B. die Apache Lizenz, die andere hier in der DP vorgestellte Bibliothek (die wir aktuell nutzen) die MPL. Beide Bibliotheken können also auch kommerziell bzw. in Projekten mit der gleichen Lizenz eingesetzt werden.
Wie sieht das hier aus? Ansonsten sieht das Projekt gut aus und der Quelltext recht übersichtlich. |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Zitat:
Zitat:
Dadurch, dass es schon was Vergleichbares gibt, ist natürlich der Sinn des Projekts geringer, aber ich finde es gerade sehr interessant, dass ich im ZINT-Quelltext immer wieder Stellen finde, die meinem Ansatz sehr ähnlich sehen, obwohl ich mir bis jetzt noch nie Quelltext über QR-Codes angesehen habe und somit einfach so von mir aus programmiert habe, wie ich die Doku verstanden habe. Da meinem Quelltext nichts zugrunde liegt, veröffentliche ich ihn hiermit unter WTFPL. |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Hallo Janni
ich möchte mich an dieser Stelle für deinen Code bedanken :thumb: Hat mir viel Arbeit gespart, und macht für unsere Zwecke alles perfekt. Das Feierabendbierchen hast Du dir redlich verdient :cheers: Gruss, Jörn |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Schönes Projekt.
Allerdings würde ich bei Veröffentlichung immer Kommentare mit emotional geprägter Wortwahl vorher elemenieren. ;-) |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Wäre das für dich ein grosser Aufwand, wenn man da in der Mitte noch ein Bild platzieren könnte? (siehe Swiss QRCode)
|
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Wie ich ja weiter oben schon schrieb, wollte ich in einem Projekt eine QR-Code-Anzeige einbauen. Der Code hier funktioniert soweit einwandfrei, und die Lizenz ist sogar offiziell kompatibel zur GPL. :-D
Eine Anmerkung vielleicht: Ich nutze in dem Projekt VCL-Styles, und da primär dunkle Themes. Wenn ich dort nun das TRedeemerQR-Bild einem Image zuweise, dann erkennt das mein QR-Code-Scanner nicht - dem fehlt anscheinend ein weißer (bzw. heller) Rahmen um den hier generierten QR-Code herum. Wenn ich den hinzufüge, klappt es ohne Murren.
Delphi-Quellcode:
(Ist vielleicht nicht optimal gelöst, aber bei einer Anwendung, die ohnehin 100 MB und mehr frisst, geht ein derartiges Umkopieren eines kleinen Bildchens wohl in Ordnung.)
var QR: TRedeemerQR;
QRBitmap: TBitmap; // ... QR.LoadFromString(AnsiString(s), ecHigh); QRBitmap := TBitmap.Create; try QRBitmap.Width := QR.Width + 2; QRBitmap.Height := QR.Height + 2; QRBitmap.Canvas.Draw(1,1, QR); imgQRCode.Picture.Assign(QRBitmap); finally QRBitmap.Free; end; Ein weißes TShape im Hintergrund hilft auch, oder eben das Abschalten des VCL-Styles für diese Form bzw. den Teil der Form. Weißt du vielleicht, ob der helle Rahmen drumherum Teil des QR-Standards ist, oder ist mein Scanner einfach Murks in der Hinsicht? Auf jeden Fall danke dafür. Ist ein schönes Stück Code, dass sehr einfach zu verwenden ist! :thumb: |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Un Barcodes drumrum muß immer ein gewisser Abstand sein.
auch bei den einfachen 2D-Strichcodes ist davor/dahinter ein gewisser Abstand von nöten, ähnliche Farbe wie der Strichzwischenraum. |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Ich habe eben ein Problem mit deiner QRCode Komponente gefunden. Das +-Zeichen wird da falsch encoded und liefert beim Zurücklesen des QR-Codes mit einem Reader den ASCII HEX Wert A8 retour anstatt dem +-Zeichen. Ob da noch andere Zeichen davon betroffen sind, kann ich leider nicht sagen.
Nehme ich das Testprogramm und gebe da als Text "+++" ein und erstelle den QR-Code, wird der erstellte QR-Code von einem Reader falsch ausgelesen, oder besser gesagt, der erzeugte QR-Code macht aus dem + ein falsches Zeichen. EDIT: Anscheinend ist das ein Eisntellungproblem bei meinem QR-Code Reader. |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Hi Redeemer,
ich habe mir die QR-Code-Komponente angeschaut und muss sagen....... Respekt. Funktioniert super. Danke für deine Arbeit. Gerd |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Ja möchte ich nur bestätigen! Wir nutzen die Konponente nun für unserere Swiss-QR Rechnungen und das funktioniert bestens. :thumb:
|
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Hallo Redeemer,
danke für dieses tolle Projekt. Könntest du uns aber noch einen kleinen Gefallen tun? Könntest du das bitte bei Github oder einer anderen Open Source Plattform einstellen? Es scheint ja, dass du das bisher als Open Source veröffentlicht hast. Dadurch wird das nämlich noch sichtbarer und evtl. können andere Leute Erweiterungen etc. beitragen. Wenn du Lust hast krame ich auch das Formular reus, mittels dem man es bei GetIt einreichen könnte... Grüße TurboMagic |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Das Projekt ist jetzt auf Github.
|
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Super! Danke für's Onlien stellen. Kann man vielleicht mal gebrauchen.
Du könntest es, um seine Verbreitung zu fördern, auch nich hier einstellen: https://getitnow.embarcadero.com/submit/ Einfach Formular ausfüllen und in den darauf folgenden Tagen sollte es Online sein... ...ich hab' da schon drei Sachen drin... Grüße TurboMagic |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Hi zusammen.
Diese Klasse ist super. :thumb: Leider bin ich mit meiner Software noch auf Delphi 2006 unterwegs und habe deshalb natürlich Probleme, die Klasse zum Laufen zu bekommen. Meine Frage wäre, was alles getan werden muss, um sie auch mit älteren Delphis zum Laufen zu bekommen? Danke Michael EDIT: Bin jetzt dabei, eine DLL für den Aufruf aus meinem Programm zu bauen. Der Aufruf funktioniert auch soweit ich die DLL mit Delphi 10.4 Version 27 aufrufe. Beim Aufruf aus Delphi 2006 bekomme ich eine Zugriffsverletzung beim Aufruf der Funktion. |
AW: RedeemerQR: QR-Code-Encoder-Klasse für Delphi
Das Problem hatte ich auch:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 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