************************************************************************** ** Program Name : GENDBC.PRG ** Creation Date: 94.12.01 ** ** Purpose : To take an existing FoxPro 3.0/5.0 database and ** generate an output program that can be used ** to "re-create" that database. ** Parameters : cOutFile - A character string that contains ** the name of an output file. This ** can contain path information and ** an extension. If no extension is ** supplied, one will be provided. ** ** lskipdisplay - Whether to include status ** messages in generated output. ** Modification History: ** ** 1994.12.01 KRT Created program, runs on Build 329 of VFP ** 1994.12.02 KRT Added GetView function and cleaned up all code ** 1994.12.05 KRT Modified some areas and verified run on Build 335 ** 1994.12.06 KRT Added things for international conversion ** 1994.12.08 KRT Added function ADBOBJECTS() to code ** 1994.12.12 KRT Added commands COPY PROCEDURES TO ** 1995.01.04 KRT Added connection properties ** 1995.01.05 KRT Added support for long filenames - thierryp ** 1995.01.05 KRT Added support for RI ** 1995.01.06 KRT Added support for MS-DOS short filenames (NAME clause) ** 1995.01.08 KRT Added status bar line ** 1995.01.26 KRT Fixed a few file bugs and localization bug ** 1995.02.19 KRT Took advantage of AFIELDS() command ** 1995.02.22 KRT Fixed AUSED() bug ** 1995.03.01 KRT Removed ON ERROR problem ** 1995.03.20 KRT Fixed "Exclusive" Error / Procedures created before ** Tables ** 1995.03.22 KRT Allowed user to open database if one is not set current ** / Set SAFETY OFF in resulting code to prevent errors ** when validating rules/triggers that don't exist ** 1995.04.07 KRT Put any database procedures into a seperate file to ** prevent "Program Too Large" errors ** 1995.04.20 KRT Only change SAFETY when appending procedures ** ** 3.0b - Changes/Fixes ** 1995.09.15 KRT Changed ADBOBJECTS() to DBF() in GETTABLE procedure. ** This allows for "real" table names instead of alias' ** 1995.09.15 KRT Take into account CR+LF in comments for fields ** 1995.09.15 KRT Store Source and Object code into external file ** So the code can be executed from the run-time version ** 1995.10.23 KRT Changed DBF(cTableName ) to DBF(ALIAS() ) because ** VFP will automatically add underscores where spaces ** should be and I need to know what it did to the alias ** [Regress] ** 1995.10.25 KRT Added OVERWRITE to append memo's [Regress] ** 1995.10.25 KRT Added support for CR+LF in comments for Table ** 1995.10.25 KRT Close all tables in generated code before adding ** Source and Object code from external file[Regress] ** 1995.10.25 KRT Added warning about filter indices on Unique and ** Candidate keys (Not supported via language ) ** 1995.12.20 KRT Better lookup for adding RI information to database ** 1995.12.20 KRT Added support for filter expressions on CANDIDATE keys ** ** 5.0 - Changes/Fixes ** 1996.03.27 KRT Added "exact match" support for Locate command ** 1996.04.12 KRT Added new properties for Views, Fields and Connections ** 1996.05.14 KRT Adjusted for some logical properties return spaces ** 1996.05.16 KRT Added even more new properties for Views ** 1996.05.16 KRT Add M. in front of all memory variables to prevent ** confusion with table fields and names ** 1996.06.01 KRT Added support for Collate sequence on index files ** 1996.06.26 KRT Added support for ParameterList in Views ** 1996.07.19 KRT Added support for Offline Views ** 1996.08.07 KRT Added support for comments and default values in views ** 1997.10.22 RB Breakup data creation into procedures to eliminate 64K proc limit ** ** 8.0 - Changes/Fixes ** 2002.06.28 DH Added support for auto-incrementing fields and filtered ** primary keys, changed to use INDEX ON ... COLLATE and ** ALTER TABLE ... COLLATE rather than SET COLLATE TO, ** and removed duplicate output of FetchSize property for view **************************************************************************