Original MCHTXT by Paul Onstad	CompuServe ID 70641,3236
For additional information, contact:

	Paul W. Onstad
	PRIORI Systems
	10168 Parrish Ave NE
	Elk River, MN 55330

	CompuServe: 70641,3236 / Internet:70641.3236@compuserve.com

Delphi demo by R. Curzon, Solid Systems Inc., Toronto
 	CompuServe ID 71371,2521    ssi@interlog.com
--------
This upload is a collaboration between
Paul Onstand and Richard Curzon.

Try it free!  If you or your clients need AI, register:

This software can be registered through CompuServe's software registration
service, SWREG.  #10470 price $35.00 US. per installation.  Please
contact for rates for more than one installation.


How to TRY AI in 3 easy steps:
------------------------------

* Unpack all files in an empty directory.

* run DEMO.EXE (Delphi demo)
   - flexible sandbox for showing off the DLL
* run CALLNAMM.EXE (Borland Pascal demo)
   - simulates typical application use, using WINCRT

notes:
Both demos run under Win3x or Win95, source provided.
TRIAL.TXT, PROOF.TXT are part of the demo.
MTCHTEXT.TXT will be created as the matched output of CALLNAMM demo.
READMENM.TXT explains the DLL calls in detail.

This software can be registered through CompuServe's software registration
service, SWREG.  #10470 price $35.00 US. per installation.  Please
contact for rates for more than one installation.

USING WITH DELPHI AND DATABASES
-------------------------------

Here's quickie sample code to load  proof data from a Foxpro DBF file.
(using the Apollo database engine).

MODIFY THE FIELDS for your data table!  Translate it easily to use BDE
and Paradox tables.  

Substitute this for the procedure TForm1.LoadFromFile in MAIN.PAS of
the supplied demo:

-----
procedure TForm1.LoadFromFile(rstrFileName: String);
 {indifferent re DLLMode}
var
  fldLastName : TStringField;
  fldFirstName : TStringField;
  astrTemp: String;
  astrzTemp: String;
begin
  With Table1 do
    try
      begin
        DatabaseName := '..\';  {up one level}
        TableName := 'Names.dbf';
        Open;
      end;
    except
      ShowMessage ('failed to setup Table1');
    end;
  try
    MemHdl := 0;
    if Apollo1.FLock then
      begin
        Apollo1.SetTurboRead (True);
        while not Apollo1.EOF do
          begin
            fldLastName := TStringField(Table1.Fields[2]);
            fldFirstName := TStringField(Table1.Fields[3]);
            astrTemp := fldLastName.Text + ', ' + fldFirstName.Text;
            astrzTemp := astrTemp + #0; {make usable as asciiz string}
            lstProof.Items.Add(astrTemp);
            Apollo1.Skip(1);
          end;
        Apollo1.SetTurboRead (False);
      end;
  except
    ShowMessage('Failed to assign field');
  end;
  if Table1.Active = True then Table1.Close;
end;
----
