Software Development
C# / VB .NET

The Computer Room

Through the MSDN (Microsoft Software Developer Network) we have had access to the .NET Framework and development kits since the beta testing days. It was clear from the start that .NET was a revolution in the way software could be developed, reused and released. Our recent experience in .NET development projects supply anecdotal evidence that development time is reduced to at least half of what it was in the C++/MFC days. This reduction applies to both Windows applications and ASP.NET development. The development time is perhaps close to that of creating a VB6 application, but the thanks to the new Framework the results are far neater and elegant.

The .NET Framework has blended the best features of traditional Windows development and the Java language and package structure. We are familiar with all of these technologies, thereby getting a long head-start over most developers. The so-called "advanced" features of .NET such as threading, reflection, events, remoting and web services are well understood and used appropriately in our development projects.

We can use the Visual Basic or C# languages interchangeably, but prefer C# where possible because the verbosity of VB tends to slow things down slightly.

Some .NET project examples:

Despatcher
 

A commercial client-server desktop application that collects and prints schedules for delivery drivers. The application uses Remoting with callbacks to asyncronously update all clients upon database update. Features include: customise dialogs, data filtering, printing, smart window resizing, logging, shortcut keys, quick data entry and licensing. An advertising web page for Despatcher can be found at www.skproactive.com (click on the Despatcher Link). Popup screen shots:


Despatcher Client
(792 x 610)

Despatcher Server
(598 x 440)
   
SafeT-Man
 

A sophisticated forms application that downloads data via the COM ports from an electrical testing device. The data is stored in a database for reporting and test scheduling. The application internally uses many advanced .NET programming techniques such as multi-threading, complex custom controls and pluggable components via dynamic assembly loading. Popup screen shot:


Safet-T-Man
(848 x 654)
   
Document Navigator
 

A Forms applications that browses and cross-references thousands of TIFF images on a CD-ROM. The application is designed to autorun when the CD is inserted. Despite being written in one week for a local government department, the application has a background threaded loading process, custom controls, standard menus and window behaviour. The image preview pane on the right can scale, rotate and launch images.


Document Navigator
(751 x 521)
   
Onyx
 

An MP3 tagging application available for download on Greg's hobby web site. Onyx was written purely in C# and performs detailed bulk editing of the Tag metadata in MP3 files. Additionally, the underlying file I/O library that implements the ID3 V2.3.0 standard is available as a complete project with source code. See: Onyx Home Page. Popup screen shots:


Main Window
(742 x 533)

Picure Editor
(556 x 446)

Frame Editor
(666 x 521)
   
Open Source Projects
 

I have made many of my utility libraries and applications available as open source to assist other developers. The links from this summary list will take you to my personal web site under the Computers section. Many of the projects use advanced techniques that may be of interest to newcomers to .NET development - Greg

NTag - A C# library that use a plug-in provider technique to edit the tags in multimedia files. NTag currently supports most of the ID3 standard and can read ASF (WMA) tags.

Onyx5 - A forms application that uses NTag to bulk edit tagged files in a convenient grid format.

csutylib - A C# library of miscellaneous utility methods, classes and Forms custom controls.

ResourceLib - A library and driver Forms application that uses Interop to parse the resources from Win32 PE images. A bulk icon extractor is included as an example.

snklib - A library that can parse and load SNK (Strong Name Key) files with a driver application to use the library to generate digitally signed licences.

FolderExplorer - A Forms Custom Control that simulates the appearance and behaviour of the Windows Explorer folder view.

ngrep - A console program that searches for regular expressions in files, with many processing options.

rextract - A console program to extract resources from resx files.

resxupdate - A console utility to auto-update resx files, designed for use in project pre-build events.

duplib - A library and driver application that searches the file system for duplicate files.

randplot - For lovers of random numbers, a Forms application that plays with different types of random number generator algorithms and plots their lattice structure.

stringhash - Also for maths hobbyists, a Forms application that plots the behaviour of the String GetHashCode function.

   

 

 

Last Updated: 13-Oct-2007 7:50
Copyright © 2003-2004 Orthogonal Programming