Microsoft Visual C++ .NET CLR, STL programming projects
Visual C++
is a wonderful IDE that I'll be using to port my old Windows 3.1 Borland projects, for
MSDOS and
OWL, to Windows XP.
The first project, converting the neural network
program, took only about 40 hours (3 days) to completely convert from ObjectWindows to the new version, and that was from a starting
point of knowing absolutely nothing about MS VC++ or .NET.
All the programs should be assumed to be mixtures of managed and unmanaged code.
The zip files do not contain the entire VC++ "solution" directory trees, only the original code files essential for building the projects. There is a help
page with tips for creating solutions and importing the
code.
The Express edition of Microsoft Visual C++ is available free from
Microsoft.
Each link below goes to the project page, which has a more complete description, a code listing, possibly screenshots, and a
download link if the project is large.
Utility functions, classes, headers, and miscellaneous
| my.h |
All my programs #include "my.h". It has typedefs, #defines, function prototypes, and some template functions. |
| mylib.cpp |
Most of my programs also #include this file's library routines. |
| File Array |
Class that holds a list (vector) of file names and provides methods for
retrieving them in sequential or random order. The list can optionally be
built from the names of existing files that match a string containing
wildcards. |
| Descriptive statistics and linear regression
calculator class |
A standard C++ class, tested with VC++ and GNU g++, that accumulates numeric values into an array (vector) and can perform statistical calculations about the array
contents on demand. Provides descriptive statistics, linear regression with 7 data transformations, automatic best-fit
transformation detection, prediction, correlation coefficient,
Student's t significance testing, and some additional unusual capabilities. |
| DoubleRect |
A rectangle class that uses doubles for dimensions and calculations. Useful for zooming such as in a
Mandelbrot application. |
| SDib |
A 256-color palette-like class that supports creation of random palettes with abrupt or gradient color changes,
other palette manipulation functions, and color cycling. |
Programs
|
"Visible" Neural Network |
Multilayer perceptron (MLP) backpropagation neural net program. The
network code is platform independent. The associated Windows forms
application builds a network and graphically displays the nodes while the
network is trained. |
| Color zoom into the Logistic Map Bifurcation Diagram |
Similar to a Mandelbrot exploring program, it allows zooming into the bifurcation diagram.
It has palette rotation color cycling, palette manipulation
functions, random gradient palettes, and an auto-run mode to continuously calculate random regions at random
magnifications at user-specified timed intervals. |
| File print utility |
Utility to print program source code or other text files,
with options for setting tab expansion, lines-per-inch, lines-per-page,
margins, line numbering, and more. |
|
Random music generator |
A platform independent class that facilitates the generation of random
music in 12 keys and a variety of musical modes (scales), and a CLR console
application that uses the class to play music through the PC speaker. |
| Create
or solve alphabet substitution ciphers |
Encipher.cpp creates a substitution cipher from a text file. Decipher.cpp
assists with solving a substitution cipher by providing an interface
where you can easily and quickly swap letter translations and see the
results immediately in the text. |
|