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 ×

TxTranslationc#classdatawinformswpfxml★★★★★★
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”

FieldLogc#classdata★★★★★
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.

ViewModelKit.Fodyc#classwpf★★★★★
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.

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.

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.

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

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.

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

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.

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

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.

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

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

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

Summary

34 items, ca. 55 620 lines of code, estimated development costs: 110 000 €
Show archived contents