



To tidy and sort a JP Software 4NT hidden descript.ion file. These files are used by the 4NT DESCRIBE utility to track what your various files are for. See for more information on the 4NT command processor.
DbDesc is designed to fully document SQL Server, Access and Firebird databases. It allows you to completely customize the output using XSL templates. Html, Rtf and Word 2003 templates are included. New report engine with PDF support.
Calculates Canadian sales taxes: GST HST and PST. Works either as an application or as an Applet that needs to run in JDK 1.3+ capable browser.
Cleans up HTML by converting appropriate ampersands to the equivalent !amp; entity.

Mouse
$10 - Canadian Mind Products
In Java, allows you to find out where the mouse in on the
screen, even when it is not over one of your apps. This has
similar function to MouseInfo.getPointerInfo in Java 1.5+.
This class will work in any version of Java.
It uses JNI and a DLL, so it only works on Windows.
You must install the nativemouse.dll somewhere on the path.
Then your programs can find out the x and y position of the
mouse, [(0,0 is the upper left of the screen] at any time by
calling:
Point p = com.mindprod.mouse.Mouse.getWhereMouseIsOnScreen()
Java and C source included.
You can test the program by typing:
java -cp C: com.mindprod.mouse.Mouse
Where C: in where you installed the com/mindprod/mouse
directory.
The nativemouse.dll must be on the path, e.g. in the current
directory. With JDK 1.5, the DLL can be in the jar, so long
as it has no package path.

Base64
$0 - Canadian Mind Products
Base64 is a freeware way of encoding 8-bit characters using
only ASCII printable characters similar to UUENCODE.
UUENCODE embeds a filename where BASE64 does not. You will
see BASE64 used in encoding digital certificates, in
encoding user:password string in an Authorization: header
for HTTP. The spec is described in RFC 2045.
For more details see
Don't confuse Base64 with x-www-form-urlencoded which
is handled by java.net.URLEncoder.encode/decode or
Base64u.
Base64 armouring uses only the characters A-Z a-z 0-9 +/=.
This makes it suitable for encoding binary data as SQL
strings, that will work no matter what the encoding.
Unfortunately + / and = all have special meaning in URLs.
Base64u gets around this problem. It is a variant on Base64
that uses - _ and * in preference to + / and =, so that it
can be used in URLEncoded contexts with or without
URLEncoding.
Use base64 like this:
// Base64 armouring
import com.mindprod.base64.Base64;
...
// sample byte array to encode
byte[] toSend = { (byte)0xfc, (byte)0x0f, (byte)0xc0};
// create encoder object
Base64 base64 = new Base64();
base64.setLineLength( 72 ); // default
// encoding a byte[]
String send = base64.encoder( toSend );
// decoding a byte[]
byte[] reconstituted = base64.decoder( sent );
use Base64u the same way:
// Base64u armouring
import com.mindprod.base64.Base64u;
...
// sample byte array to encode
byte[] toSend = { (byte)0xfc, (byte)0x0f, (byte)0xc0};
// create encoder object
Base64u base64u = new Base64u();
base64u.setLineLength( 72 ); // default
// encoding a byte[]
String send = base64u.encoder( toSend );
// decoding a byte[]
byte[] reconstituted = base64u.decoder( sent );
For an example that starts and ends with a String, see
Example.java
to run:
java.exe com.mindprod.base64.Example

CSVReader/Writer
$0 - Canadian Mind Products
Java classes you can use standalone or embed in your own programs to
Read, write, align and pack comma, tab and semicolon-
separated variable files, commonly known as CSV files.
It consists of a four Java classes CSVReader CSVWriter,
CSVAlign and CSVPack for reading and writing CSV (Comma
Separated Value) formatted files. Also handles
tab-separated and semicolon-separated files. This is the
format use by Microsoft Word and other Microsoft products.
This version does not support # embedded comments.
Note that CSV files are perhaps 10 times slower to process
than binary files. They are for data interchange with other
languages or when human-readibility or editability is
important. If you want speed, use binary format files, e.g.
DataInputStream or possibly the convenient but slower
ObjectInputStream.
CSVAlign aligns the fields in columns for easier
proofreading.
java com.mindprod.csv.CSVAlign somefile.csv
CsVPack removes all unecessary spaces to make
at CSV file as compact as possible.
java com.mindprod.csv.CSVPack somefile.csv

Bulk Emailer
$40 - Canadian Mind Products
The bulk emailer program allows you to send the same email
to a long list of people. Unlike competing products, it does
not require you to run any code on your ISP's server.
The price includes customising the program to your needs.
For more detail see the manual at
To install, Extract the zip download with Winzip, available from
(or similar unzip utility) into any
directory you please, often C: -- ticking off the "user
folder names" option.
You will have to modify the CustConfig.java file, recompile,
and rebuild the jar. Only programmers will feel comfortable
doing this. Most people should contact me at
inquiry@mindprod.com for help in configuring and installing.
You need to copy the *.bat files to a directory on the path.
To use this product you will need two different email accounts,
one for sending your emails and one for relaying them to
your list of recipients.

FileTimes
$10 - Canadian Mind Products
Java class library to get/set file and directory times: Create/LastModified/LastAccessed. For Windows only.
Create time is when the file was first written. Modified
time (sometimes called lastModified) is when the file was
last written. Accessed time is when the file was last read
or written. Checking its date, looking at its attributes or
checking to see if it exists does not count as reading it.
Get/Set Windows File Times Create/LastAccessed/LastModified
with a JNI native code class.
Java and JNI you include in your own code.
You can test with
C:
CD com.mindprod.filetimes
java com.mindprod.filetimes.FileTimes
and ensuring nativefiletimes.dll is on the path, e.g. in the
current directory. In JDK 1.5+ the DLL may be in the jar, so
long is it has no package path name.
See FileTimes.java for the API to use these methods in your
own programs. FileTimes does nothing by itself, other than a
debugging test harness to demonstrate the methods.
Windows keeps file timestamps accurate to 100 nanoseconds
with 10,000 times as much precision as Java's 1 ms. This
means if you copy a file in Java, the new file will not
have the exact same timestamp as the old. This package
retrieves and sets timestamps accurate only to the
millisecond.

Sound
$0 - Canadian Mind Products
Sound lets you mathematically create sounds in Java.
You define your sounds in terms of 16-bit linear code for
the waveform, -- an array of samplings. The U_Law.class will
then convert that to (or from) *.AU mu-law 8-bit encoding
format which you can then play with
AudioPlayer.player.start(bis) in an application or with
Applet.getAudioClip in an Applet.
This is just a sample program. You would insert your own mathematical
functions or cannibalise parts of the code.
Use winzip to extract U_Law.java and Sound.java with
folder names into the commindprodsound directory.
java com.mindprod.sound.Sound
© 2007-2008 Software Institute
Software Institute periodically updates pricing and product information from third-party sources,
so some information may be slightly out-of-date. You should confirm all information before relying on it.