Source Codes

Hardware runs the world. Software controls the hardware. Code generates the software. Have you coded today?

This is the hub for code snippets, useful functions, classes and components that have proven useful in many applications and can make repeating tasks a lot easier.

You can filter the list by tags or sort it with the following controls. Particularly interesting items are highlighted in yellow.

async c# c++ class console data gui interop javascript math media network pascal php powershell reflection sec userscript winforms wpf xml ×

Simple yet powerful translation and localisation library for .NET applications. Supports XAML binding, language fallbacks, count-specific translations, placeholders, and number and time formatting.

Natural sorting of stringsc#classdata★★★★★★
Sorts strings that contain numbers, not character-wise (lexical) but regarding the numeric value: “a1” < “a2” < “a10” < “a11” < “a20”

Fast and comprehensive logging tool for .NET applications. Designed for high-performance, storage-efficient, always-on logging and comes with a useful log viewer application.

AsyncTcpClient & AsyncTcpListenerasyncc#classnetwork★★★★★
An asynchronous variant of TcpClient and TcpListener for .NET Standard. Allows implementing TCP clients or servers with just a few callback methods.

A minimal yet complete MessagePack implementation for JavaScript.

Makes WPF ViewModel classes smart by default. Implements INotifyPropertyChanged and DelegateCommands for auto properties, recognises dependent properties, connects property changed handlers.

ColorMath classc#classmathmedia★★★★★
Functions for blending of multiple colours, conversion between HSL and RGB colour space, greyscale conversion and more helper functions for handling of colours.

MultiSelectTreeView controlc#classdatawpf★★★★★
A WPF TreeView control with support for multiple selection.

ViewModelBase classc#classreflectionwpf★★★★★
Base class for ViewModels by the MVVM pattern, with several simplifications for derived classes.

DelayedCall classasyncc#class★★★★
Very easy asynchronous delayed function calls. Typesafe invocation of nearly any method through generic parameters. Delayed calls can be cancelled, pulled forward or repeated later.

ValidatingTextBox controlc#classguiwinforms★★★★
Pimped up TextBox with input validation features and support for common hotkeys for text editing.

DelegateCommand classc#classwpf★★★★
Simplifies commands for ViewModels by the MVVM pattern. Provides an ICommand implementation which relays the Execute and CanExecute method to the specified delegates.

ProgressSpinner controlc#classguiwinforms★★★★
Graphical animated display of an activity and progress indicator, in a single control.

ViewCommand patternc#classwpf★★★★
Describes a method for the MVVM design pattern to control a View from a ViewModel with commands.

SettingsAdapterFactory classc#classdatareflectionxml★★★★
Generates a dynamic implementation of an interface with properties that binds to a settings store and implements INotifyPropertyChanged.

PowerShell build frameworkpowershell★★★★
Automated, local building of Visual Studio solutions and calling external tools like unit tests, source code commit, obfuscation, digitally signing, file publishing and transfer.

coati JavaScript libraryasyncguijavascript★★★★
All-in-one JavaScript library for all useful functions on a web page. DOM access with events, AJAX, animations, colour maths and more complex UI effects like for images presentation.

ColorButton controlc#classguimediawinforms★★★★
A button that displays a colour field instead of a text label. It allows selecting a colour from multiple graphic displays in a drop-down view.

ColorSelector controlc#classguimediawinforms★★★★
Selection of a colour from a pallette or by adjusting the RGB and HSL components with several graphical displays.

ColorWheel controlc#classguimediawinforms★★★★
Selection of a colour using a colour wheel, an intuitive graphical visualisation of the HSL colour space, as known from Paint Shop Pro.

EasyXml classc#classdataxml★★★★
Simple read and write access to XML documents through XPath expressions. Automatically creates missing XML elements when writing with XPath.

Animation classc#classwinforms★★★
Provides methods for smooth resizing and moving of controls/windows and for fading windows in and out.

JobList classasyncc#class★★★
Works off tasks (jobs) in parallel in the background with a specified number of worker threads to optimally use the computing power of multi-core processors.

Shaped image text flowmediaphp★★★
Lets text on HTML pages flow around the real shape of an image. Analyses the image transparency and generates corresponding HTML code. Fast access through file caching.

InfoLabel controlc#classguiwinforms★★★
Displays highlighted clickable text messages with an icon in a window on which the user can perform some action or open a menu with further options.

MouseFilter componentc#classgui★★★
Provides methods to change the mouse behaviour in applications.

CollectionDictionary classc#classdata★★★
A Dictionary implementation that stores multiple values for each key.

Environment data for PHPclassphp★★★
Environment functions for compatibility with different server environments and to query information about the client (browser).

GeoIP queryclassphp★★★
Looks up location data for an IP address from a portable, compact database. Uses data from MaxMind GeoIP or GeoLite.

GetRelativePath (C#)c#★★★
Determines the relative path of a file name to a reference directory.

IPv6 address formattingnetworkphp★★★
Expands or shortens IPv6 addresses in short or extended notation.

CommandLineParser classc#classconsole★★
Provides methods for reading and accessing of command-line parameters and options.

ErrorHandling classc#class★★
Logs much error data into a file on (unhandled) application failures which can be helpful for developers (crash dump) and displays a general error message.

ObservableCollectionAdapter classc#classdatawpf★★
Adapts an ObservableCollection of a type for use as an ObservableCollection of a base type where covariance doesn’t work.

OpLock classc#class★★
Lightweight, non-threadsafe locking mechanism to mutually lock methods from executing the same operation.

SeparatorLabel controlc#classguiwinforms★★
Combines a Label with a horizontal line, to be used as separator and caption. That looks more simple than a GroupBox with a surrounding border.

UCrypto classc#sec★★
Securely encrypts strings and data for the logged in user or the local computer with the Windows API. A separate key is not required.

ColorFader controlc#classguimediawinforms★★
Selection of a blend colour between two specified colours or of a colour hue with graphical display.

Markup parserclassdataphp★★
Converts texts with a simple plain-text formatting to HTML. With emphases, hyperlinks, lists, tables and other format features.

MyEnvironment classc#class★★
Provides information about the operating system, system architecture, user account or the own assembly.

TaskHelper classasyncc#class★★
Functions to start tasks in the background and synchronise them with the UI thread, as well as to wait for the WPF dispatcher.

Arguments parserconsolephp★★
Provides direct access to individual command-line parameters in PHP CLI applications.

AtomFeed classclassdataphpxml★★
Creates an Atom 1.0 newsfeed.

ConsoleHelper classc#classconsole★★
Functions for comfortable input and output in console applications. Includes environment checks, a progress bar, cursor movement, and line wrapping output.

Provides MFC-like string support, without MFC.

Display MSDN content in Englishjavascriptuserscript★★
Redirects regional MSDN websites to the en-US original site to prevent annoying translation elements to appear. They also have more current (fixed) content there.

Line controlc#classguiwinforms★★
Displays simple lines in a window just like good old VB6’s Line control (and later WPF’s Line shape), also with dashed or 3D style.

Settings classc#classdataxml★★
Stores data such as program settings in an XML file and takes care about easy access, safe storage, change notification and control binding.

SystemSound classc#classmedia★★
Allows for playing back of system sounds that are configured in the control panel.

Unix timestamp/DateTime conversionc#math★★
Provides simple conversion methods between UNIX timestamps and .NET DateTime values.

UpdateCheck classc#classnetworkxml★★
Provides simple methods to check from an XML file on the web whether a program is available in a newer version, and to open the website.

Advanced BBCode Parserdataphp
Complete BBCode parser with configurable tags, styles, smileys and syntax validation.

Resolves and creates shell links.

BackgroundWorker classasyncc#class
Implements the .NET 2.0 class for the .NET 1.1 framework and offers the possibility to customise it also in newer frameworks.

GetRelativePath (C++)c++
Determines the relative path of a file name to a reference directory.

MaidenheadLocator classc#classmath
Converting between Maidenhead locator (used in amateur radio) and latitude/longitude, and calculating of distance and bearing.

TEMPer classc#classinterop
Reads measured values from USB TEMPer thermometers and hygrometers.

Locator distance calculationmathpascal
Computes the distance between two Maidenhead Locators, in two different versions.

Gets file (application, DLL, …) version information.

Gets the path to the system special folder that is identified by the specified parameter value.

Number system conversionmathpascal
Converts numbers between arbitrary number systems (binary, octal, decimal, hexadecimal, etc.).

Takes a screenshot and saves it to a bitmap image.

Reads and writes text from and to the Windows clipboard.

Returns the system description for the specified error code.

Gets the Windows operating system version.

Gets the local path that is currently mapped to the specified UNC path.

Ping classc#classnetwork
Performs an ICMP ping to the specified host and measures the time or returns an error message.

Runs an application and waits for it to return.

Shows a shell BrowseForFolder dialog box with an initial path set.

PalmDatebook classc#classdatainterop
Reads the calendar database of the Palm Desktop application.


70 items, ca. 67 780 lines of code, estimated development costs: 140 000 €