Ropley IT develops and supports a number of software products. These products are all written in .NET and are currently Microsoft platform hosted. Some are licensed commercially, others are free-licensed binaries with source code IP kept within the company. One or two products are published with source code under the MIT licence, and are available to download or access from GitHub.
PDF Projector is a tool that manages the presentation of slides held in a PDF file on a second monitor or projector attached to a Windows PC. The tool has a main window on the PC itslef, with a separate full screen view of the currently selected slide on the projector/second monitor. A suite of annotation tools are available on the main tool window for annotating the corrently displayed page, the annotations appearing immediately on the projected image of the page as they are made. The tool remembers the annotations painted over each page so that if you return to that page the annotations represent themselves. The tool also allows you to create any number of blank slides on which you can draw your own slides while presenting. These annotated blanks are also remembered by the tool and can be returned to later by selecting them from a list of favourite slides in the tool's main window. There are many other features built into the tool. This product is not currently available as source code. If you would like to try it out, please contact us.
The Use Case Editor is a tool used by business analysts and requirements engineers for capturing and organising functional and non-functional requirements. Specifically it captures and formally documents use cases using an automated document template, captures logical data models, and automatically generates activity diagrams from use case primary and alternative path specifications. The tool is available for download by selecting the file UCEditorInstaller.msi from the download page. Documentation giving instructions on its installation and use can be found here.
The GLR parsing suite ParseLR is a tool that generates and provides the runtime for .NET hosted generalised LR grammar parsers, as well as generating C# state machines from formal state machine descriptions. Similar in purpose to Bison or Yacc, this tool also incorporates the state-splitting algorithms used to extend it into a GLR parser. The tool takes an input grammar, and converts it into a C# source code parsing engine that is then incorporated into an application that needs a parser. The source code is made available on GitHub at this URL along with several runnable examples and copious documentation on a GitHub Wiki.
The parser can act as a compile-time tool generating fixed source code for a parser for a specific grammar. Alternatively it can operate dynamically, allowing the grammar rules to be specified or changed dynamically at run-time, with a new state machine parser being generated and launched as and when the grammar changes.
Note that the parser also incorporates the ability to call condition-testing functions at each shift or reduction. It is this that enables it to also implement complex finite state machines driven by grammar rules.
The DynamicCSharp library is a .NET Core library that makes it possible to read C# source code from a string or a file in a running program, to compile it to an assembly, to load that assembly back into the same running program, and to invoke the methods and classes of the dynamically generated assembly. This project is released under the MIT licence, and is available together with its documentation from its Github repository as source code, or from nuget.org as a NuGet package.
The VSClean utility is a tool for cleaning out all but the bare essential files from a C# solution and its project sub-folders. When Visual Studio is run to build and run automated tests for an application, a huge overhead in binary folders and test data folders gets created. Combine this with the download and installation of packages from repositories such as NuGet, and your solution folder becomes too big to zip up and attach to emails, or to put on a USB key. VSClean strips all these unnecessary files out, leaving the bare minimum files needed to reconstruct the product later.
VSClean uses a filter file that itself uses the same filter specification as used in Git's .gitignore files. Because of this, it is possible to configure VSClean to clean files from folders for other languages and development environments than its default C# filter set.
VSClean is available at source code level together with its documentation at its own GitHub repository.
The ImagePacking application is a tool written in C# for shrinking images from one folder into another, while preserving the maximum quality in the images achievable for the output image size. So often poeple upload images onto web servers and web sites that are way bigger than the small rectangle in which they are displayed, leading to slow page downloads and unnecessary server disk use. ImagePacking allows you to identify maximum width height and file size in kilobytes for each image file, then shrinks all images from an input folder to smaller versions in a selected output folder, while preserving image aspect ratio in each case.
The ImagePacking suite is made available on Github under the MIT license.
Other legacy resources
Assorted sample programs for the .NET Framework can be obtained by downloading the file DotNETSamples.zip
The demonstration software for the now retired Learning Tree International course 323 on Object Oriented Analysis and Design using UML may be found by downloading the file 323xmpl.zip
The course exercises and specimen solutions for retired Learning Tree course 302 on Win32 Systems and Network Programming may be obtained by downloading the file cse302.zip
Some course exercises and specimen solutions for an example enterprise Web site using ASP.NET may be obtained by downloading the zip file cse506.zip
Back to top