Table Scanner V3.00 Trial-Run Beta Build 1.07 - Released 08/24/98
Copyright(c) 1997-1998 by Demian

Hello,

I'm releasing this beta version in order to receive suggestions, criticisms and
bug reports before releasing the final version. If you do take the time to test
the program, please send your opinions/comments to demian@bhnet.com.br
(See 'Reporting a bug' at the end of this file).

Current version key features:
- Table restructure at the field level (add/drop/move/rename fields);
- Table checking, with repairing only when necessary;
- Table renaming supported;
- BDE callbacks, for progress display during lengthy operations;
- Table handling routines (TblScn.dll) separated from table definition routines;
- Paradox self-referencing referential integrity supported;
- Enhancements in the program interface;
- Sample project included.

Package contents:
- Scanner.exe (the code generator);
- Scanner.hlp (help file);
- TblScn.dll (DLL containing table handling routines);
  Note: Delphi 1 users should use TblScn16.dll.
- Sample.zip (a sample project)
- Readme.txt (this file)

Installation:
- Decompress Scanner.zip to a directory of your choice;
- Move TblScn.dll to a directory where Delphi can find it: BDE directory,
  Windows directory or any directory in PATH environment variable.
  Note: TblScn.dll is not needed by Table Scanner itself, but must be present
        when running the code generated by the program.

CAUTION:
- This is a beta version not fully tested yet, so always use databases that
  can be disposed of in case of trouble. YOU WERE WARNED: I will not be held
  responsible for any direct or indirect damage resulting from the use of
  this program. USE IT AT YOUR RISK!
- This is a trial-run version, so Delphi must be running in order to use either
  the code generator (Scanner.exe) or its companion DLL (TblScn.dll).
- Delphi 1 users only: always check 'Smart callbacks' in project's option
  when compiling a project which contains code generated by Table Scanner.


V3.00Beta History:
Build 1.07 - added DLL version checking;
           - added parameters checking;
           - adopted open array parameters for all procedures;
           - eliminated PackTables procedures;
Build 1.06 - not released;
Build 1.05 - added help file;
           - fixed invalid path bug
Build 1.04 - fixed memory leaks;
           - fixed bug in long file names; 
           - released 16bit version for use with Delphi 1;
Build 1.03 - fixed bug in Sample Project (Status.pas);
           - fixed bug in Paradox descending indexes;
Build 1.02 - disabled 'Aligned records fields' Project/Option;
           - discovered a nasty BDE bug concerning Paradox tables
             located in 'deep' directory's tree (wait for Help File
             for a complete description);
Build 1.01 - fixed bug when scanning tables in 'deep' directory's tree;
           - added table level preservation;
Build 1.00 - first released.

General tips:
- Table Scanner cannot scan corrupted tables. As a rule-of-thumb, any table
  that cannot be opened by Database Desktop cannot be opened by Table Scanner
  either.
- 'Build Special Source Code' option should be used only when applying changes
  at the field level to a table's structure (add/drop/move/modify/rename fields)
  or when changing a table's name.
- Before applying any modification to a table's structure, make a backup of
  the database. Table Scanner needs to compare the two databases (old and new)
  in order to generate code for restructuring its tables;
- During the comparison between the two databases, you may be prompted to
  input some information concerning its table's structures. Take the time to
  read the dialog box carefully. Any incorrect information you input, may lead
  to unpredictable results (including data loss!) when running the code
  generated by Table Scanner;
- Take a look at Sample Project (Sample.zip) to see how to use the code
  generated by Table Scanner. There are only one public procedure in the
  code: CheckTables.
  IMPORTANT (Delphi 1 only): Compiler Option 'Smart Callbacks' must be enabled (or else GPF)!

Reporting a bug:
Please, send to demian@bhnet.com.br, including the following information:
- Detailed bug description;
- Operational System (Windows 95 or NT);
- RAM memory available;
- Disk space available;
- BDE version;
- Delphi version running in the background;
- If running the code generated by Table Scanner, values for the following
  Project/Options/Compiler tab: Code Generation, Runtime errors, Sintax options.

Thank you for cooperating!
