automatisierte Datenversorgung mit Pseudo-APIs

APIs oder vollständig ausgesprochen Application Programming Interfaces sind schon eine wirklich feine Sache. Sie können relativ einfach in bestehende Programme eingebunden werden und stellen über eine vordefinierte und stabile Schnittstelle die Datenversorgung zu einem bestimmten fachlichen Sachverhalt sicher. Ebenso vorteilhaft ist, dass APIs ihre Antworten einem nicht in Form von undefinierbarem Datenbrei vor die Füße werfen, der erstmal aufwändig geparst werden muss, sondern fein säuberlich als einfach verdauliche XML / JSON Datenstrukturen.

Doch was tun wir, wenn es in der fachlichen Domäne, in der wir uns bewegen, keine bestehende API gibt? Müssen wir in solchen Fällen auf automatisierte Datenversorgung verzichten? Nicht immer. Je nach Sachverhalt gibt es Möglichkeiten, sich eine eigene Pseudo-API zu bauen.

Continue reading „automatisierte Datenversorgung mit Pseudo-APIs“

SEPA Generator DLL

Als ich mein erstes Girokonto Anfang der 2000er Jahre eröffnet habe, war die Bankenwelt eine ganz andere. Um einen Betrag zu überweisen, musste ich am Bankenschalter in den altehrwürdigen Hallen der örtlichen Sparkassenfiliale vorstellig werden und das Überweisungsformular mit Durchschlag ausfüllen. Ausfüllhilfen gabs nicht – mit meiner Sauklaue hatte ich mich besonders ins Zeug zu legen, damit das angewiesene Geld dort landete, wo ich es hinüberweisen wollte. Bei jeder weiteren Überweisung ging die Schönschriftübung wieder von vorne los. Kontoauszüge gabs damals auch nur bei der Bank, im Mini A5-Format auf blassrosa Thermopapier. Aus Ausgleich hierzu gab es allerdings recht üppige Guthabenzinsen auf dem Girokonto.

Ein paar Jährchen später stieg ich auf das Onlinebanking um – Features wie Vorlagen oder die Möglichkeit, neue Überweisungen aus bestehenden Umsätzen heraus zu erstellen, mochte ich seitdem nicht mehr missen. Auch die Sache mit den Kontoauszügen ist bequemer geworden, da sie im Onlinebanking als PDF-Dateien zur Verfügung standen. Nach und nach kamen weitere Features hinzu – so ist es beispielsweise seit einigen Jahren möglich, Aufträge elektronisch in Form von SEPA XML Dateien direkt bei der Bank einzureichen. Die Erstellung solcher XML Dateien greife ich als Thema in diesem Beitrag auf und stelle meinen SEPA Generator vor.

Continue reading „SEPA Generator DLL“

Nebenkostenabrechnung mit Access

Wir alle kennen das Bild von einem Engelchen mit einer Harfe und Teufelchen mit einem Dreizack, die auf unseren Schultern sitzen und uns bei Entscheidungen in bestimmte Richtungen zu lenken versuchen. Auf den Schultern von uns Wirtschaftsinformatikern liegt oft doppelte Last, denn da machen sich zwei weitere Akteure breit.

Während auf der einen Schulter ein Kapuzenpulli tragender Nerd mit einem 23-Tage Bart und einer dampfenden Tasse Kaffee lässig hockt, nimmt auf der anderen Schulter ein adrett gekleideter Erbsenzähler mit Seitenscheitel und einem Aktenkoffer Platz. Wie man sich gut vorstellen kann, sehen die beiden die Welt mit absolut unterschiedlichen Augen. Die eine Seite würde am liebsten alles selbst programmieren und eine Anwendung, die nicht aus eigener Feder stammt, nicht mal mit einer Kneifzange anfassen. Die andere Seite brabbelt unentwegt von Projektplänen, Break-Even-Analysen und Kostenreduzierungen.

Bei einem Kundenauftrag sind beide Seiten wichtig – es geht ja darum, eine vernünftige Qualität zu liefern und dabei die Kosten nicht ausufern zu lassen. Bei einem privaten Projekt, ähnlich dem, um den es in diesem Beitrag geht, ist es anders. Der Termindruck ist nicht da und der Kostengesichtspunkt ist eher zweitrangig völlig egal, sodass ich mich darauf freuen kann, dem OverEngineering zu frönen und die Anwendung hier und da mit sprichwörtlichen goldenen Wasserhähnen und Marmorböden auszustatten. Doch die Rechnung habe ich ohne den Erbsenzähler auf der Schulter gemacht, der seine Nase immer wieder in die IT-Angelegenheiten steckt und sowohl den Entwicklungsprozess als auch den Lesefluss dieses Beitrags unterbricht. Doch genug der Vorrede – legen wir mit der Implementierung des Programms zur Wohnungsverwaltung und Nebenkostenabrechnung los und versuchen dabei, das Gezanke auf den Schultern auszublenden.

Continue reading „Nebenkostenabrechnung mit Access“

Zeilenumbrüche in Textdateien (Windows, Linux und Apple)

Man sollte meinen, dass Zeilenumbrüche in Textdateien ein so triviales Thema ist, dass sich fast die Frage aufdrängt, ob es sich überhaupt lohnt, darüber zu schreiben. Wie man’s nimmt – in einer idealen Welt, in der sich die Hersteller von unterschiedlichen Betriebssystemen auf gemeinsame Standards einigen oder zumindest bereits bestehendes berücksichtigen würden, wäre es in der Tat eine elementare Sache, die keiner Erwähnung bedürfte. Die IT-Realität sieht jedoch anders aus. Viele Hersteller kochen oft ihr eigenes Süppchen – daher erlaube ich mir, ein paar Zeile darüber zu Papier zu bringen.

Continue reading „Zeilenumbrüche in Textdateien (Windows, Linux und Apple)“

DLL-Registrierung mit PowerShell

Es war ein mal…. eine Junior-Softwareengineer-Stelle, die ich nach meinem Traineeprogramm angetreten habe. Eine Stelle, in der ich rund 3,5 Jahre lang unterwegs war und in der ich vor allem im technischen Bereich sehr viel mitgenommen habe, unter anderem in der Shellprogrammierung mit der Bash.

Continue reading „DLL-Registrierung mit PowerShell“
Klasse für die Übergabe von Parametern an Access Formulare und Berichte

mehrere Parameter in Access Formularen übergeben

Die Softwareentwicklung ist eines der vielen Betätigungsfelder, wo man eigentlich nie sagen kann, dass man eine Programmiersprache oder Technologie in sämtlichen Facetten zu 100% beherrscht. Wenn ich mal ein Projekt, an dem ich vor einer Weile gearbeitet habe, hervorkrame, den Staub und Spinnenweben weg puste, dann fallen mir oft Stellen im Quellcode auf, die ich nicht optimal umgesetzt habe. In der Regel einfach deswegen, weil ich zum damaligen Zeitpunkt weniger Erfahrung hatte. Oder auch, weil der gedankliche und zeitliche Abstand manchmal ganz gut tut, um auf bessere Lösungsansätze zu kommen.

Um genau so eine Verbesserung geht es in diesem Beitrag, nämlich um die Art und Weise, wie ich mehrere Parameter in Access Formularen übergeben kann.

Continue reading „mehrere Parameter in Access Formularen übergeben“

Programmierung dynamischer Fragebögen

Kürzlich habe ich eine Anfrage eines Unternehmens bekommen. Es sollte ein Tool zur Benutzerführung entwickelt werden. Der Fachverantwortliche des Kunden soll dabei zu einem bestimmten Prozess die einzelnen Fragen und die möglichen Antworten definieren, sowie festlegen, in welcher Reihenfolge die Fragen anzuzeigen sind. Ebenso soll auch die gewählte Antwort einen Einfluss drauf haben, welche Frage dann als nächste angezeigt werden soll.

Die so zusammengestellte Benutzerführung oder besser gesagt interaktive Arbeitsanweisung soll dann einem Sachbearbeiter ermöglichen, einen ihm unbekannten Prozess mit Unterstützung durchlaufen zu können.

Continue reading „Programmierung dynamischer Fragebögen“
MNIST-Ziffer

MNIST mit VBA einlesen und umformen

Befasst man sich mit der Entwicklung von künstlichen neuronalen Netzen, stolpert man unweigerlich über den MNIST Datensatz. Dieser hat sich mittlerweile zu einem Quasi-Standard entwickelt, wenn unterschiedliche neuronale Netze hinsichtlich ihrer Erkennungsqualität miteinander verglichen werden sollen.

In diesem Tutorial gehe ich auf die Besonderheiten vom relativ sperrigen MNIST Format ein und stelle eine Klasse vor, die den MNIST mit VBA ausliest und diesen mit einer einfach zu nutzenden Schnittstelle zur Verfügung stellt.

Continue reading „MNIST mit VBA einlesen und umformen“

Chemische Formeln mit VBA formatieren

Die Sprache VBA ist vielseitig einsetzbar (hat jemand wirklich eine andere Aussage auf einem VBA-Blog erwartet?) und erlaubt neben der klassischen Automatisierung von wiederkehrenden Abläufen, auch die Umsetzung von regelbasierten Formatierungen.

Continue reading „Chemische Formeln mit VBA formatieren“

Singleton mit VBA

Die Programmiersprache VBA wird zwar von Microsoft selbst als objektorientiert bezeichnet, unterstützt aber bei weitem nicht alle Aspekte der Objektorientierung. Das Singleton Pattern ist eines der wenigen Pattern, die sich in VBA umsetzen lassen. Dieser Beitrag soll den Praxiseinsatz des Singletonpatterns in meinem VBA-Projekt etwas näher erläutern.

Continue reading „Singleton mit VBA“