Swiss QR Code in C# und VBA erzeugen

Swiss QR Code in C-Sharp und VBAHeute begeben wir uns einmal etwas mehr ins geschäftliche Umfeld. Seit Ende April hat die SIX die Spezifikation für den neuen Swiss QR Code nach ISO 20022 herausgegeben. Der Swiss QR Code ist integraler Bestandteil des neuen Schweizer Einzahlungsschein, der sogenannten QR-Rechnung, die bis spätetens Mitte 2018 durch alle Unternehmen umgesetzt werden soll. Der Swiss QR Code wird im sogenannten “Zahlteil mit QR Code” der QR-Rechnung platziert.
Im folgenden soll es darum gehen, wie der Swiss QR Code mittels C# oder VBA erzeugt werden kann. Dazu nutzen wir die kostenfreie QRCoder-Bibliothek, welche ich vor knapp 4 Jahren entwickelt und kürzlich um den Swiss QR Code erweitert habe. Gezeigt wird nur die Implementierung des QR Codes, nicht aber […]

.NET Core – gdiplus.dll nicht gefunden unter Ubuntu

Die Tage kam es zu einer Fehlermeldung in meinem QrCoder-Projekt. Es wurde gemeldet, dass der Code nicht unter Linux laufen würde, da es zu folgender Fehlermeldung käme:

Unhandled Exception: System.TypeInitializationException: The type initializer for ‘System.Drawing.KnownColors’ threw an exception.
—> System.TypeInitializationException: The type initializer for ‘System.Drawing.GDIPlus’ threw an exception.
—> System.DllNotFoundException: Unable to load DLL ‘gdiplus.dll’: The specified module could not be found.
(Exception from HRESULT: 0x8007007E)
at System.Drawing.GDIPlus.GdiplusStartup(UInt64& token, GdiplusStartupInput& input,
[…]

Die Fehlermeldung hatte ihren Ursprung jedoch nicht in meinem QrCoder, sondern in dem Zusammenspiel des .NET Core Frameworks mit der GDI Plus Bibliothek. Das .NET Core Framework versucht beim Zugriff auf “System.Drawing.GDIPlus” auf die “gdiplus.dll” zuzugreifen, welche es unter Linux einfach nicht gibt.
Erster Lösungsansatz
Zuerst sollte sichergestellt werden, dass GDI+ überhaupt installiert ist. Dies lässt sich mit folgendem Shell-Befehl nachholen:

sudo apt-get install libgdiplus

Wenn libgdiplus installiert ist, fehlt jedoch noch ein weiterer wichtiger Schritt…
libgdiplus für .NET Core verlinken
Da das .NET Core Framework, unabhängig vom […]

SSL/TLS-Zertifikate in C# herunterladen

SSL-TLS Zertifikate in C-Sharp downloadenIn diesem Artikel soll es darum gehen wie man SSL/TLS-Zertifikate beliebiger Server in C# herunterladen bzw. speichern kann. Zwar lassen sich Zertifikate heutzutage auch recht einfach aus dem Webbrowser heraus speichern, jedoch ist dies immer mit recht vielen Klicks verbunden. Und spätestens, wenn man Zertifikate von Mail-Servern, etc. speichern möchte, also Systemen die nicht direkt im Webbrowser angesprochen werden können, ist eine programmatische Lösung, wie in diesem Beitrag gezeigt, der einfachere Weg.
Insgesamt möchte ich heute zwei Varianten vorstellen. Eine Variante, die nur für HTTPS-Verbindungen funktioniert und eine Variante, die für sämtliche TCP-Verbindungen (also auch Mailserver, etc.) funktioniert.
HTTPS/SSL-Zertifikate in C# herunterladen
Die erste angesprochene Lösung funktioniert nur für HTTPS-Verbindungen und basiert auf der HttpWebRequest-Klasse, welche auch unter der WebClient-Klasse liegt. Erstellt man ein […]

How to: Poker Hand Evaluator in C# implementieren

Pokerhand Evaluator CsharpDas Thema Poker habe ich nun schon in dem ein oder anderen C#-Artikel als Aufhänger genommen, um tiefer in verschiedene Programmierthematiken einzusteigen. So gab es bereits einen Artikel zur Bildanalyse, einen zur Berechnung der Gewinnwahrscheinlichkeit und einen, in dem die beiden eben genannten kombiniert wurden.
Alle drei Artikel haben eines gemeinsam. Sie basieren auf einer Bibliothek, die ermitteln kann, welche Pokerhand in einem direkt Vergleich der Gewinner ist. Solch eine Bibliothek nennt man auch “Hand evaluator”, da sie zwei Pokerhände evaluieren kann. Und genau hier wollen wir heute ansetzen.
In diesem Artikel wollen wir Schritt für Schritt eine eigene C#-Bibliothek zum Vergleich zweier Pokerhände erstellen. Hierzu arbeiten wir uns nach und nach zum Ziel. Beginnen werden wir mit den Datenstrukturen für Spielkarten und Pokerhände. […]

Online-Poker automatisieren mit C#.NET

KartenDetektor mit GewinnwahrscheinlichkeitKommen wir heute zum dritten Teil der C#-Casino-Reihe. Wer gerade erst in die Serie einsteigt, sollte sich zuvor die ersten beiden Teile durchlesen. In Teil 1 ging es um die Berechnung der Gewinnwahrscheinlichkeit einer Pokerhand in C# und in Teil 2 ging es um das Erkennen von Spielkarten und deren Werten mittels maschinellem Sehen mit Hilfe der AForge-Bibliothek. Wir haben bisher also auf spielerische Art und Weise sowohl das Feld der Statistik, die Verwendung von externen Bibliotheken als auch die Grundlagen der Bildverarbeitung mittels C# bearbeitet.
Im heutigen, dritten Teil, soll es um die Verknüpfung der Ergebnisse der ersten beiden Artikel gehen. Wir wollen also für die analysierten Karten aus Teil 2 direkt die Gewinnwahrscheinlichkeit (wie in Teil 1) berechnen.
Vorbereitungen
Bevor es losgeht, solltet ihr […]