PDFs zusammenführen mit iTextSharp

Im Rahmen unserer Lösung zum Erstellen von DHL-Versandetiketten benötigen wir eine Lösung, mit der wir mehrere PDF-Dokumente zu einem zusammenführen können, um dieses dann in einem Rutsch auszudrucken. Mit Bordmitteln kommen wir nicht weiter, aber es gibt ja eine Reihe von Bibliotheken, die man sich etwa als NuGet-Paket ins Projekt holen kann. In diesem Fall nutzen wir die Bibliothek iTextSharp. Diese kann noch einiges mehr, aber wir wollen erst einmal nur PDF-Dokumente zusammenführen.

Weiterlesen

InputBox im Eigenbau

Wer von Access/VBA kommt, kann unter WPF die “MsgBox”-Anweisung leicht mit den Funktionen der Klasse “MessageBox” ersetzen. Allerdings sucht man vergeblich nach einem Pendant zur InputBox-Funktion, die ja ein einfaches Eingabefenster für die Eingabe eines Textes zur Verfügung stellt. Doch das ist kein Problem: Unter C#/WPF können Sie ja eigene Fenster erstellen. Warum dann nicht ein Fenster mit Titel, Text, Eingabefeld und OK/Abbrechen-Schaltflächen bauen und dieses bei Bedarf aufrufen

Weiterlesen

Objektorientierte Programmierung: Interfaces

Interfaces beziehungsweise Schnittstellen bezeichnen in der Computerwelt eine Menge verschiedener Dinge. Es gibt eine Benutzerschnittstelle, Softwareschnittstellen, Maschinenschnittstellen und mehr. Uns interessiert das Interface, wie es in der objekt-orientierten Programmierung genutzt wird. Schnittstellen dienen dort als zuverlässige Definition der verfügbaren Methoden, Eigenschaften oder Ereignisse für eine oder mehrere Klassen, welche diese tatsächlich definieren.

Weiterlesen

C#-DLL für COM/VBA erstellen

Das .NET-Framework bietet im Vergleich zu VBA eine schier unendliche Menge nutzbarer Bibliotheken mit Objekten, Methoden und Eigenschaften für die verschiedensten Anwendungsfälle. Wer noch nicht komplett auf eine .NET-Anwendung umsteigen möchte, mag sich aber vielleicht die Möglichkeiten des Frameworks unter VBA erschließen. Dazu programmieren Sie eine DLL-Bibliothek, welche die benötigen .NET-Elemente enthält und für externe Anwendungen wie etwa eine Access-Datenbank bereithält. Der vorliegende Artikel erklärt, wie dies funktioniert.

Weiterlesen

Delegates

Delegates sind Typen, denen Sie eine Methode zuweisen, die sie dann über das Delegate ausführen können. Ein Delegate legt dabei nur fest, welchen Rückgabewert und welche Parameter die zu verwendende Methode nutzt – Sie können dem Delegate zur Laufzeit dann beliebige Methoden zuweisen, die dieser Signatur entsprechen. Delegates benötigen Sie aber auch, wenn Sie Klassen mit benutzerdefinierten Ereignissen programmieren möchten. In diesem Fall nutzen Sie ein Delegate, um die beim Eintreten des Ereignisses auszuführende Methode festzulegen.

Weiterlesen

Objektorientierte Programmierung: Grundlagen II

Im ersten Teil dieser Artikelreihe haben wir uns die Grundlagen zur objektorientierten Programmierung mit C# angesehen – zum Beispiel die Klasse Program, das Erstellen neuer Klassen, die Verwendung von Eigenschaften und von Methoden. Dies greifen wir im zweiten Teil auf und gehen auf verschiedene Arten der Eigenschaftsdefinition, Kontruktoren, aufgeteilte Klassen, Objektreferenzen, Überladung von Methoden und verschiedene Parameter-Techniken ein.

Weiterlesen

Objektorientierte Programmierung: Vererbung I

Eines der wichtigsten Merkmale der objektorientierten Programmierung ist die Vererbung. Dank der Vererbung kann man für ein Objekt eine Basisklasse erstellen, die grundlegende Eigenschaften und Methoden für dieses Objekt bereitstellt. Benötigen Sie nun ein weiteres Objekt, das auf dem ersten Objekt aufbaut, aber weitere oder geänderte Eigenschaften und Methoden enthält, müssten Sie ohne Vererbung die gleiche Klasse nochmal erstellen und nach ihren Wünschen anpassen. Dank Vererbung brauchen Sie in der Klasse für das neue Objekt jedoch nur die Erweiterungen und Änderungen zu definieren. Den Rest verwenden Sie von der ersten Klasse – und brauchen eine Menge Code nur an einer Stelle zu warten.

Weiterlesen

Objektorientierte Programmierung, Teil 1

Wer mit VBA programmiert, nutzt eigentlich schon eine Reihe der Elemente der objektorientierten Programmierung – zum Beispiel, wenn er Objekte auf Basis der Klasse Database oder Recordset erstellt und dann mit deren Methoden und Eigenschaften durch die Daten einer Tabelle navigiert. Auch benutzerdefinierte Klassen lassen sich mit VBA erstellen. Unter C# erhalten Sie jedoch Zugriff auf den kompletten Umfang der objektorientierten Programmierung. Dieser Artikel liefert einen Einstieg in die objektorientierte Programmierung mit C#.

Weiterlesen