SoftwareSphere Home

Problems and solutions

We have developed many solutions for technical problems of programming for different kinds of applications. Here is a sample of problems with short descriptions of our solutions. See also the page about some computational problems.

Drawing and printing graphs

The Graphs library, which is based upon the Page framework for printing and print preview with WYSIWYG quality. It provides different node shapes, arrow styles, and some algorithm to layout the graph.

Displaying an interactive geographical map

The Map library, it creates a view of a map and draws the polygons of the continents or regions. It imports files of ESRI ShapeFile format. It provides zoom, centering, coordinate calculations.

Displaying and printing in WYSIWYG mode

The Page library, which provides an abstraction layer upon the Windows GDI, to compose pages with text, lists, tables, pictures and boxes, with very good printed quality and WYSIWYG display.

Composing and printing multi-page reports or booklets

The PML library uses a simple HTML-like format and produces a set of printable pages, with text, tables, lists and pictures. It manages the chapters, paragraphs and subparagraphs headings and table of contents. It automatically splits content into pages. It supports standard page sizes and custom sizes.

Maintain a tree of simple data

The DataTree library provides classes for creating a tree of simple data in memory, and to read and write it from a binary file. Data items can be of some basic types or custom types. It is extensible with derived data types.

Search files and folders of the file system

The File package contains classes to make searches of the file system, search by file name, extension, file times, search in subfolders.

Do batch operations on the file system

The File package provides functions and classes to make some common tasks in file systems, like copy a set of files, move a set of files, create child directories, verify that a directory exists and so forth.

Collect basic file statistics

The FileStat library provides classes to collect simple file statistics, like number of files, file lengths, file times, number of lines in text files. It provides also classes to calculate the distributions of this parameters.

Read and write HDF5 files

The HDF5View application provides many examples of use of the NCSA HDF5 C++ library, and some additional C++ classes that wrap some parts of the file structure. It is useful to collect data from HDF5 files, compare file structures, check structures.

Parse an HTML file and extract links

The HtmlSpider library parses HTML files and extracts links and references to images and frames. It is based upon our custom XML parser.

Update a remote folder with the new or modified files from a local folder through FTP

Updator is an application that scans a local folder and compares it with a previously created index, then updates a remote folder through FTP by uploading the new or modified files and creating the needed subfolders.

Create and maintain a documentation of a C/C++ source code set

The CodeInfo library and application defines a model for the documentation of a C/C++ source code set. It loads and saves data from an XML like file, it provides a user interface to edit the documentation. It can generate HTML files and complied HTML (CHM) files.

Create a diagram of the structure of a relational database

DBSchema library and application provides easy classes for creating the diagram of a relational database, with boxes with multiple rows for tables and connectors for database constraints.

Read the Microsoft Outlook Express files and extract email messages stored

EmailCopier library imports email messages from Microsoft Outlook Express files (dbx) and exports them in text format, or in mime format, or in the format used by Mozilla Thunderbird and other email clients.

Build a communication protocol based on serial ports

LIS library and applications are a complete example of a communication protocol that uses the serial port.

Calculate the parameters of mathematical functions for data fitting with non linear models

Fitt library contains many non linear models and the procdures to calculate the parameters to fit the model to a series of data. It provides LogLogit 3, 4 and 5, Exponential, Polynomial, and other models. It is completely object oriented.

Generate time statistics

The Time package provides classes and algorithms to calculate time intervals, series of time slots, time histograms, and calendars. It can create the time slots for days, weeks, months, years and so on.