{********************************************************}
{*   EMS Advanced Import Component Suite                *}
{*                                                      *}
{*   Copyright (C) 2001 - 2006 EMS Corporation          *}
{*                                                      *}
{********************************************************}

05-12-2006
Version 2.40

1. Fixed the bug with XML Import editor  file filtering in Open File Dialog 
   was incorrect: .dbf instead of .xml
2. ADO_Import2Wizard.  The SkipLines value was neither saved nor restored 
   when importing from TXT file. Fixed now.
3. Import2Wizard and ADO_Import2Wizard. With the Show Error Log after import 
   flag on the error log file was not shown. Fixed now.
4. Import2Wizard  ADO_Import2Wizard. The repeated load of the template 
   file (without closing the ImportWizard) caused the duplication of the values 
   in the Replacements list. Fixed now.
5. Import2Wizard and ADO_Import2Wizard.  With AutoLoadTemplate and 
   AutoSaveTemplate options on there were some problems with loading and 
   writing of the template. Fixed now.
6. Now it is possible to log the errors caused by incorrect field formats. 
7. QImport2XLS. When not all fields were mapped it caused error "List Index out of bounds" 
   during opening the Map component editor in design time mode. Fixed now.
8. QImport2DBF. When importing from DBF using an FPT file, the lengths of 
   MEMO type fields were calculated incorrectly. 
9. The new custom date-string parser allows to recognize dates in any format 
   including the initial zeros, i.e. either 7/3/2000 or 07/03/2000.
10. Significant improvements related to working with TQImportFieldFormat.NullValue 
    and TQImportFieldFormat.DefaultValue options, including the correct saving of 
    them into a template file.
11. Added new AllowDuplicates feature that optionally allows to create duplicates 
    during the import modes: Insert All, Update or Insert, Delete or Insert.
12. Delphi 2006 support.
13. EMS Quick Import Component Suite renamed to EMS Advanced Import Component Suite!

08-01-2005
Version 2.30

1. Fixed the bug that caused shift of data in XLS files if they had several 
   empty cells when property SkipRowsCount = 0. (QImport2XLS)
2. Fixed the bug that caused duplicating of data during import of text 
   files in "Insert New" mode. (QImport2ASCII)
3. Added ability to import data from MS Access Databases secured with 
   password. (ADO_QImport2Access)
4. Now import of DateTime fields from Paradox tables works correctly. 
5. Now "Replacements" finds all entries of substring and replaces them all 
   unlike the previous versions.  
6. Decreased processor loading while executing long import operations. 

12-28-2004
Version 2.20

1. Delphi 2005 support.
2. Now Quick Import can use several languages in one project. By default, it   
   works with resources that are linked into .BPL file. If you need            
   multi-language support in your project, make several language DLLs          
   and switch to particular language by this code:                             
                                                                              
   uses QImport2;                                                              
                                                                              
   QImportLocale.LoadDll('QIEnglish.dll'); // load English resources           
   ...                                                                         
   QImportLocale.UnloadDll; // unload resource DLL and use default resources   
                                                                              
   To make the DLL, run MakeDll.bat file in this folder, or MakeAll.bat file   
   in the LANGUAGES folder to make DLLs for all languages.                     

3. We have tried to solve the problem with importing Date/Time fields. 
   As a result we have improved the TQImport2.StringToField method where 
   you will be able to find new functions: TryStrToDateTime, FormatStrToDateTime.   

4. Also new event handler OnImportRowComplete was added to the base class TQImport2.
   This event takes place when the import of row is complete.
   
5. Some small improvements and bugfixes.

08-12-2003
Version 2.10

1. We have added the OnDestinationLocate event to all components of the 
   suite including the TQImport2Wizard and TADOQImport2Wizard components. 
   This event can be used when it is necessary to find a row by key values in the 
   TDataset or TDBGrid destinations and allows you to control defining 
   of the search condition parameters.

2. We have added the WriteOnFly property in the TQImport2XML component. This 
   property determines how the source xml file will be read and imported. If 
   WriteOnFly is set to false then the source file will be read and parsed 
   completely, and after that the prepared data will be imported to the 
   destination object (e.g. TDataSet, TDBGrid etc.). If WriteOnFly is set to true 
   each tag will be read, parsed and imported separately without temporary saving 
   to memory. Corresponding options are added in the TQImport2Wizard and 
   TADO_QImport2Wizard components.

3. We have improved the Excel Map Editor in the TQImport2Wizard and 
   TADO_QImport2Wizard components. Now you have a possibility of selecting one
   or more columns or rows by one click. Press the Ctrl key and click on any column header
   to select a whole column or click on the row number to select a whole
   row. Use the Shift key to select a range of columns or rows.

4. The Formats property editor available from the TADO_QImport2Wizard component now.

5. A bug with displaying the SkipCols and SkipRows values in the Excel Map 
   Editor in the TQImport2Wizard and TADO_QImport2Wizard components is fixed 
   now.

6. Some small improvements and bugfixes.

06-17-2003
Version 2.00

1. We have added a possibility of importing data from different Excel sheets. 
   You can import data from a single Excel sheet or from several Excel sheets
   at once.

2. Now it is possible to import formulas from Excel. You can add cells 
   containing formulas to an imported range and get the formula result in your
   import destination.

3. We have added a possibility of defining relative ranges in the Map property 
   of the TQImportXLS component. This feature allows to define import 
   ranges without linking to certain cell numbers e.g.:

   Field1=[Sheet 1]A-ColFinish;
   Field2=[Sheet 1]B-ColStart;

   You don't have to know where exactly your data start or finish. 

4. We have implemented import from XML format. You can import data from XML 
   files created via our QuickExport component suite 
   http://www.ems-hitech.com/quickexport
   or via the SaveToFile method of the TClientDataSet component.

5. Now it is possible to import data into an user defined destination. 
   You should set the ImportDestination property to qidUserDefined and call the 
   Execute method. In this case you should use the OnUserDefinedImport event to 
   manipulate imported data according to your purpose.

6. Some new published properties are added to the Wizard components:
   - property TXTViewRows: integer;
   - property CSVViewRows: integer;
   - property ExcelViewRows: integer;
   - property ExcelMaxColWidth: integer;

   These properties allow flexible tuning of the wizard appearance. Using the
   first three properties you can define how many records are shown in the 
   corresponding viewer. The last property defines the max width of the columns
   in the Excel viewer.

7. We have added the OnLoadTemplate event to the Wizard components. This event 
   allows to perform any actions with the template file before it is loaded.

8. A possibility of defining case insensitive replacements is implemented. Use
   the CaseIgnore property of the TQImportReplacement object in all components 
   of the suite.

9. The appearance of the Import Wizards is improved significantly. We hope 
   you will like its new interface.

10. Some other improvements and bugfixes.


04-29-2003
Version 1.80

1. The ShowErrorLog and the ErrorLogFileName properties are added to each
   component of the set.

2. A possibility of starting import process from the Map page in ImportWizard
   is added. Now you can execute import immediately after the accordance
   between destination and source columns is defined.

3. The GoToLastPageAfterLoadTemplate property added to the Wizard components.
   Now you can skip several wizard steps after the import template loaded.

4. The CloseAfterImport property is added to the wizard components. Set this
   property to true to close Import Wizard when import process is finished.

5. A bug with importing Date type data from Excel is fixed.

6. Some small improvements and bugfixes.

03-03-2003
Version 1.70

1. A possibility of importing data to different destination is added.
   Now you can import your data to TDataSet, TDBGrid, TListView, TStringGrid
   or any decendants of them.

2. A possibility of defining the importing mode is added. You can define how
   the records from source file will be imported in the destination. You can
   add all records from source file or new records only, update or delete
   existing records. Use the ImportMode property for this purpose. Some modes
   need to define the KeyColumns property.

3. The SkipDeleted property is added to the TQImportDBF component. Use this
   property to define if records, which marked as deleted, will be imported
   or not. The default value of this property is true.

4. Some small improvements and bugfixes.

12-15-2002
Version 1.65

1. The DateSeparator and TimeSeparator properties are added to
   TQImportFormats class. Use these properties for tuning regional
   date and time formats.

2. A bug with import from dbf with memo fields but without
   corresponding memo file is fixed.

3. The Wizard appearance is improved.

4. Some small improvements and bugfixes.

10-29-2002
Version 1.6

1. A possibily of defining the replacement list is added.
   Use FieldFormats.Replacements to define replacement list for the field.

2. The ImportToCSV method is added.
   procedure ImportToCSV(Stream: TStream; ListSeparator, Quote: char);
   This method allows you to convert your import data to csv format using
   ListSeparator and Quote and direct them to the Stream.

3. The AddType property is added.
   This propery allows you to define method for adding data to DataSet.

4. Some small improvements and bugfixes.

09-25-2002
Version 1.5

1. Delphi 7 support.

2. The new component TQImportDataSet is added.
   This component allows you to import your data from any TDataSet compatible
   data set.

3. The bug with loading templates for csv files is fixed.

4. Some small improvements and bugfixes.

08-07-2002
Version 1.4

1. The new component TQImportAccess is added.
   This component allows you to import data from MS Access database to any
   TDataSet descendant. Also there is the new wizard component
   (TADO_QImportWizard) for this purpose.

   Please note that these features require the Borland ADO components
   (included in Delphi 5 or higher Enterprise edition) for getting access to
   MS Access databases.

2. The Import Wizard form interface has been improved. We hope you'll like the new version as well.

3. The bug occured during importing dates from a dbf file is fixed.

4. Some small improvements and bugfixes.


05-28-2002
Version 1.25

1. Support of C++ Builder 5 and 6 is added.

2. A possibility of automatically saving/restoring templates in TQImportWizard
   component is added.
   Now you can determine a template file which will be saved/loaded automatically
   when QImportWizard finished/started. Use the TemplateFileName,
   AutoLoadTemplate and AutoSaveTemplate properties for this purpose.

3. Two new methods are added to all components in the suite:
     procedure LoadConfiguration(const FileName: string);
     procedure SaveConfiguration(const FileName: string);

4. Some small improvements and minor bugfixes.


05-08-2002
Version 1.20

1. A possibility of saving/restoring templates in TQImportWizard component
   is added.
   Now you can save the most frequently used import settings: the source file,
   the field correspondence, the format options, etc. to the template,
   and load this template in the next import session.

2. A possibility of setting the field correspondence automatically is added.
   This feature allows you to set the correspondence between the source table
   columns and the dataset fields by one cIick. It is very useful if the
   source file and the result table have similar structure.

3. Properties SkipFirstCols and SkipFirstRows were added to the TQImportXLS
   component.

Also in this version we have made some small improvements and minor bugfixes.

04-09-2002
Version 1.11

Small improvements and bugfixes.

03-25-2002
Version 1.10

Now the following features are available:
  - defining autoincrement values;
  - defining constant values;
  - defining default values;
  - defining quotation actions;
  - defining char case;
  - defining char set.
You can get access to these new features through the FieldFormats property
in the each component of the suite.

Also in this version we have made some minor corrections and fixes.

03-11-2002
Version 1.02

First bugfixes, some small improvements.

03-04-2002
Version 1.01

First public commercial release!