37 KiB
FoxBin2Prg Configuration
Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9
Purpose of this document
This document shows the use of configuration files and the varius setrtings on FoxBin2Prg.
Table of contents
Configuration file
The configuration how to run FoxBin2Prg is stored in configuration files, FoxBin2Prg.cfg for general settings, and Configuration file per table.
It is possible to create a template or a config with all options and comments via
DO FOXBIN2PRG.PRG WITH "-c","template.cfg" &&==> Generates a template for FoxBin2Prg.cfg config file with newest settings
DO FOXBIN2PRG.PRG WITH "-C","config.cfg" &&==> Generates a config file like FoxBin2Prg.cfg with recent settings of path of second parameter
An example of a template is given in Example
See command line.
The config file is used to move local setting to a different comupter or for changes while branching.
The options in the template (or in the config that ships with FoxBin2Prg) are commented out. To activate an option remove the asterix and set appropriate value.
There is a Multi config, that allows to have global settings with specific local settings. If a setting does not follow inheritance, it is mentioned in the table below.
These are the FoxBin2Prg.cfg configuration file settings and their meaning. The second line in the keyword column is the name of the respective property (if there is one) in the settings object returned by get_DirSettings method of the API object. See PEM.
| FoxBin2Prg.cfg keywords Property of settings object |
Value (Default) | Description |
|---|---|---|
| Language | (auto), EN, FR, ES, DE |
Language of templates, shown messages and LOGs. EN=English, FR=French, ES=Espa<70>ol, DE=German, Not defined = AUTOMATIC (using VERSION(3)) |
| DontShowProgress n_ShowProgressbar |
0 | Deprecated. Replaced by ShowProgressbar option from v1.19.40, see below. The values of 0 and 1 are inverted to ShowProgressbar. |
| ShowProgressbar n_ShowProgressbar |
0, 1, 2 | 0=Don't show progressbar, 1=Always show a progress bar, 2=Only show it when processing multiple-files. If set via parameter cDontShowProgress, this is ignored. cDontShowProgress has value "0","1" inverted to the property. |
| DontShowErrors n/a |
0, 1 | 0=show message errors in a modal messagebox. (default) 1=don't show errors If set via parameter cDontShowErrors, this is ignored. There is no inheritance for this setting. First occurance wins. |
| ExtraBackupLevels n/a |
0, 1, n | 0=No backup 1=One backupfile _filename_.BAK (default) n=n levels of backup in style _filename_.n.BAK There is no inheritance for this setting. First occurance wins. |
| Debug n_Debug |
0, 1, 2 | 0=Off 1=Normal 2=Extended By default, don't generate individual <file>.Log with process hints. Activate with "1" to find possible error causes and for debugging, "2" is special logging. If set via parameter cDebug, this is ignored. |
| BackgroundImage c_BackgroundImage |
<cFile> | Backgroundimage for process form |
| HomeDir n_HomeDir |
0, 1 | 0=don't save HomeDir in PJ2, 1=save HomeDir in PJ2. Setting this to 0 prevents the PJ2 file from changing just because two developers have the project in different folders |
| BodyDevInfo n_BodyDevInfo |
0, 1, 2 | 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo, 2 = Don't keep DevInfo or ObjRev. Setting this to 2 prevents the PJ2 file from changing just because two developers built the project on their machines |
| InhibitInheritance n_InhibitInheritance |
0, 1, 2, 3 | This settings is for config file via parameter only. See Multi config. Settings for config file via parameter only0=Allow scanning "regular" config files (file via parameter is just additional default) 1=Only read tree from root of the file given by parameter, not FoxBin2Prg default 2=Only read folder and subfolder of the file given by parameter 3=Read no other file This is like 0 Default | Parameter file | Default near FoxBin2Prg | all other config files 1 Default | Parameter file | Inheritance from root to parent of folder | folder and subdirs 2 Default | Parameter file | folder and subdirs 3 Default | Parameter file |
| XXX_Conversion_Support | n | Defines the conversion operation per filetype |
| For code: 0=No support, 1=Generate Text (Diff), 2=Generate Text and Bin (Merge) |
||
| For complex data: (PJX / DBC / DBF): 0=No support, 1=Generate Header Text only (Diff), 2=Generate Header Text and Bin (Merge/Only Structure!), 4=Generate Text with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data) |
||
| PJX_Conversion_Support .n_PJX_Conversion_Support |
0, 1, 2 | Default value is 2 - Bidirectional ((Merge/Only Structure!), 4=Generate Text with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data) and bin) support activated |
| VCX_Conversion_Support .n_VCX_Conversion_Support |
0, 1, 2 | Default value is 2 - Bidirectional (Text and bin) support activated |
| SCX_Conversion_Support .n_SCX_Conversion_Support |
0, 1, 2 | Default value is 2 - Bidirectional (Text and bin) support activated |
| FRX_Conversion_Support .n_FRX_Conversion_Support |
0, 1, 2 | Default value is 2 - Bidirectional (Text and bin) support activated |
| LBX_Conversion_Support .n_LBX_Conversion_Support |
0, 1, 2 | Default value is 2 - Bidirectional (Text and bin) support activated |
| MNX_Conversion_Support .n_MNX_Conversion_Support |
0, 1, 2 | Default value is 2 - Bidirectional (Text and bin) support activated |
| DBC_Conversion_Support .n_DBC_Conversion_Support |
0, 1, 2 | Default value is 2 - Bidirectional (Text and bin) support activated |
| DBF_Conversion_Support .n_DBF_Conversion_Support |
0, 1, 2, 4, 8 | Default value is 1 - just Text support activated. The support for regenerating DBFs structures (value = 2) are disabled by default to not overrite data accidentally. When activating bidirectional support, keep in mind that Data is not restored, just the structure and indexes!. A value of 4 is used to export Structure and Data, but exported data is not imported again. A value of 8 is used for bidirectional support (No General fields!). Note: This can be changed per table. |
| FKY_Conversion_Support .n_FKY_Conversion_Support |
0, 1 | Default value is 1 - Text support activated |
| MEM_Conversion_Support .n_MEM_Conversion_Support |
0, 1 | Default value is 1 - Text support activated |
| CheckFileInPath n_CheckFileInPath |
0, 1, 2, 3 | Determines how 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths. 0 = Ignore. Default 1 = Check and error out if file is not on same structure (for source control) 2 = Create absolute path if file is on different drive. 3 = Create absolute path if file is not in structure See Storing paths for pjx |
| UseClassPerFile n_UseClassPerFile |
0, 1, 2 | 0=One library Text file, 1=Multiple file.class.vc2 files, 2=Multiple file.baseclass.class.vc2 files See Create Class-Per-File |
| RedirectClassPerFileToMain: l_RedirectClassPerFileToMain |
0, 1 | 0=Don't redirect to file.vcx, 1=Redirect to file.vcx when selecting file.class.vc2 RedirectClassType: 1 precedes this setting |
| RedirectClassType n_RedirectClassType |
0, 1, 2 | For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 (vcx only) |
| 0=creates / refresh class in file.VCX and add / replace all other classes of this library | ||
| 1=creates / refresh class file[.baseclass].class.VCX and do not touch file.VCX | ||
| 2=creates / refresh class in file.VCX and do not touch other classes of file.VCX | ||
| ClassPerFileCheck l_ClassPerFileCheck |
0, 1 | 0=Don't check file.class.vc2 inclusion, 1=Check file.class.vc2 inclusion Only used if import file is in file[.baseclass].class.tx2 syntax. Ignored for RedirectClassType: 2 |
| UseFormSettings l_UseFormSettings |
0, 1 | 0=Old Style, like the class settings 1=Form style, special for form This controls the use of the UseFormPerFile, RedirectFormPerFileToMain, RedirectFormType and FormPerFileCheck options. Only if this option is set, the options will be read. |
| UseFormPerFile n_UseFormPerFile |
0, 1, 2 | 0=One library Text file, 1=Multiple Form.Object.sc2 files, 2=Multiple Form.baseclass.Object.sc2 files See Create Class-Per-File |
| RedirectFormPerFileToMain l_RedirectFormPerFileToMain |
0, 1 | 0=Don't redirect to Form.scx, 1=Redirect to Form.scx when selecting Form.Object.sc2 RedirectClassType: 1 precedes this setting |
| RedirectFormType n_RedirectFormType |
0, 1, 2 | For classes created with UseClassPerFile>0 in the form Form[.baseclass].Object.sx2 (scx only) |
| 0=creates / refresh class in Form.SCX and add / replace all other classes of this library | ||
| 1=creates / refresh class Form[.baseclass].Object.SCX and do not touch Form.SCX | ||
| 2=creates / refresh class in Form.SCX and do not touch other classes of Form.SCX | ||
| FormPerFileCheck l_FormPerFileCheck |
0, 1 | 0=Don't check Form.Object.sc2 inclusion, 1=Check Form.Object.sc2 inclusion Only used if import file is in Form[.baseclass].Object.sc2 syntax. Ignored for RedirectClassType: 2 |
| OldFilesPerDBC l_OldFilesPerDBC |
0, 1 | 0=Old Style, 1=New style This controls the use of the UseFilesPerDBC, RedirectFilePerDBCToMain and ItemPerDBCCheck options. Only if this option is set, the Form options below will be read. |
| 0=New version inactive, options follow: UseFilesPerDBC=UseClassPerFile RedirectFilePerDBCToMain=RedirectClassPerFileToMain ItemPerDBCCheck=ClassPerFileCheck |
||
| 1=New version active, options active | ||
| Note: The options will be set to old style, if option is turned off. | ||
| UseFilesPerDBC n_UseFilesPerDBC |
0, 1 | 0=One database dc2 file, 1=Multiple file.*.*.dc2 files. See [Create File-Per-DBC](./FoxBin2Prg_Internals.md#create file-per-dbc) Only if OldFilesPerDBC is 1 |
| 0=creates only a file.dc2 with all DBC (file) data | ||
| 1=creates a file.dc2 with DBC properties | ||
| and additional DBC files per DBC item (stored-proc, table, ..) | ||
| Note: recration only if RedirectFilePerDBCToMain is 1 | ||
| RedirectFilePerDBCToMain l_RedirectFilePerDBCToMain |
0, 1 | 0=Don't redirect to file.dc2, 1=Redirect to file.tx2 when selecting file.item.*.dc2 Only if OldFilesPerDBC is 1 |
| ItemPerDBCCheck l_ItemPerDBCCheck |
0, 1 | 0=Don't check file.item..dc2 inclusion, 1=Check file.item..dc2 inclusion Only if OldFilesPerDBC is 1 |
| NoTimestamps n/a |
0, 1 | 0=Do not clear 1=Clear By default, timestamp fields are cleared on Text files, because a lot of differencies are generated on Binaries and Text files with Timestamps activated. This timestamp field is part of the vcx, scx and other Foxpro binary source code files. If set via parameter cNoTimestamps, this is ignored. There is no inheritance for this setting. First occurance wins. |
| ClearUniqueID n/a |
0, 1 | 0=Keep UniqueID, 1=Clear Unique ID. Very useful for Diff and Merge. By default, UniqueID fields are cleared on Text files, because a lot of differencies are generated with UniqueID activated. If set via parameter cClearUniqueID, this is ignored. There is no inheritance for this setting. First occurance wins. |
| OptimizeByFilestamp n/a |
0, 1 | 0=Don't optimize (always generate), 1=Optimize (generate only when destination filestamp es older). By default this optimization is deactivated, and it is not recommended if using for merge, so Bin and Text files can be modified seperately. Dangerous while working with branches!. If set via parameter cOptimizeByFilestamp, this is ignored. There is no inheritance for this setting. First occurance wins. |
| RemoveNullCharsFromCode l_RemoveNullCharsFromCode |
0, 1 | 1=Drop NULL chars from source code, 0=Leave NULL chars in source code |
| RemoveZOrderSetFromProps l_RemoveZOrderSetFromProps |
0, 1 | 1=Remove ZOrderSet from the properties, 0=Leave ZOrderSet in the properties |
| PRG_Compat_Level n_PRG_Compat_Level |
0, 1 | 0=Legacy, 1=Use HELPSTRING as Class Procedure comment. |
| ClearDBFLastUpdate l_ClearDBFLastUpdate |
0, 1 | 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff, minimizes differences. |
| ExcludeDBFAutoincNextval n_ExcludeDBFAutoincNextval |
0, 1 | 0=Do not exclude this value from db2, 1=Exclude this value from db2 |
| DBF_Conversion_Included c_DBF_Conversion_Included |
* | If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf. See Order and range of records. Note: This can be changed per table. |
| DBF_Conversion_Excluded c_DBF_Conversion_Excluded |
If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf. See Order and range of records. Note: This can be changed per table. |
|
| DBF_BinChar_Base64 l_DBF_BinChar_Base64 |
0, 1 | 0=For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default) Note: This can be changed per table. |
| DBF_IncludeDeleted l_DBF_IncludeDeleted |
0, 1 | 0=Do not include deleted records (default), 1=Include deleted records Note: This can be changed per table. |
| Note: This is only true for tables. Generating DBC to Text and back to Binary will act as PACK DATABASE. The data added by DBF_IncludeDeleted: 1 will be ignored by old versions generating Binary files. |
||
| extension: xx2 | FoxBin2Prg extensions ends in '2' (pj2, vc2, sc2, etc), but you can change that. | |
| extension: pj2= c_pj2 |
<extension> | Extension for text file representing project PJX |
| extension: vc2= c_vc2 |
<extension> | Extension for text file representing classlibray VCX, or a class out of a VCX |
| extension: sc2= c_sc2 |
<extension> | Extension for text file representing form SCX, or a class out of a SCX (Form; Dataenbironment) |
| extension: fr2= c_fr2 |
<extension> | Extension for text file representing report FRX |
| extension: lb2= c_lb2 |
<extension> | Extension for text file representing label LBX |
| extension: mn2= c_mn2 |
<extension> | Extension for text file representing menu MNX |
| extension: db2= c_db2 |
<extension> | Extension for text file representing table DBF, free or DBC bound |
| extension: dc2= c_dc2 |
<extension> | Extension for text file representing database container DBC, or records from database container DBC |
| extension: fk2= c_fk2 |
<extension> | Extension for text file representing macro file FKY |
| extension: me2= c_me2 |
<extension> | Extension for text file representing variable memory MEM, created with SAVE TO |
| Example for for making it SourceSafe (sccapi v1) compatible: extension: pj2=pja extension: vc2=vca extension: sc2=sca extension: fr2=fra extension: lb2=lba extension: mn2=mna extension: db2=dba extension: dc2=dca |
Note
The options will be read outside in, top to down. See Multi config
Multi configuration
Starting at version v1.19.25 FoxBin2Prg allow configuration per directory, overriding the main configuration of FoxBin2Prg directory. The override is by each setting, so you can reconfigure one or more settings and the remaining settings are inherited from main CFG.
From v1.19.42 CFGs are inherited between directories from parent to child, so if you have all your developments under, let's say, "c:\devs" directory and subdirs, de CFG in "c:\devs" will be inherited on subdirs, and settings can be overriden one by one if you want to. This inheritance saves a lot of time and minimizes the CFGs needed :)
The order is:
- An optional configuration file given by the parameters program / executable or API, Execute method
- An optional default configuration file next to the prg/exe
- Any configuration file drive root up to current folder
- Folder and subfolder of current folder. This is, if called for a pjx, not only the pjx folder, any subfolder could have configuration file, valid for the files of this subfolder and it's subfolders.
If the optional configuration file given by the parameter sets InhibitInheritance on a different value the 0, the chain of inheritance will be different, see above.
Note
Options will be read outside in, top to down.
If an option is defined multiple times, even in the same file, last occurance wins. There are some exceptions, see below.
A different exception are the group controlling the new style to split DBC files and the one for forms.
The options UseFilesPerDBC, RedirectFilePerDBCToMain and ItemPerDBCCheck will be ignored for DBC,
if OldFilesPerDBC is set to 0.
Setting OldFilesPerDBC to 1 will inhertit the values from the *class* options.
If OldFilesPerDBC is set to 0 after it was active, the values of the three options are rejected at all and reset to the corresponding *class* values.
For Forms, options UseFormPerFile, RedirectFormPerFileToMain, RedirectFormType and FormPerFileCheck will be ignored,
if UseFormSettings is set to 0.
Setting UseFormSettings to 1 will inhertit the values from the *class* options.
If UseFormSettings is set to 0 after it was active, the values of the four options are rejected at all and reset to the corresponding *class* values.
Example
This is a template of a configuration file as created with
DO FOXBIN2PRG.PRG WITH "-c","template.cfg" &&==> Generates a template for FoxBin2Prg.cfg config file with newest settings
*################################################################################################################
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
*Version: v1.21.05
*****************************************************************************************************************
* Note, configuration files will follow an inheritance.
* 1. Default values
* 2., optional FOXBIN2PRG.CFG in folder of FOXBIN2PRG.EXE
* or, if defined, a config file given by a parameter calling FOXBIN2PRG
* if used, the InhibitInheritance setting controls if other config files will be evaluated (default). See below.
* 3., optional FOXBIN2PRG.CFG in root of working directory
* 4., optional FOXBIN2PRG.CFG in every folder up to the working directory
* 5., optional Special settings per single DBF's (Syntax: <TableName>.dbf.cfg in tables folder)
* Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults)
*****************************************************************************************************************
*-- Settings for internal work, not processing
*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Espa<70>ol, DE=German, Not defined = AUTOMATIC [DEFAULT]
*ShowProgressbar: 1 && 0=Don't show, 1=Allways show, 2=Show only for multi-file processing
* && Note: This setting will be ignored, if cDontShowProgress parameter is set.
*DontShowErrors: 0 && Show message errors by default
* && Note: This setting will be ignored, if cDontShowError parameter is set.
* && Note: There is no inheritance for this setting. First occurance wins.
*ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none
* && Note: There is no inheritance for this setting. First occurance wins.
*Debug: 0 && 0=Don't Activate individual <file>.Log by default
* && 1=Activate individual <file>.Log by default
* && 2=???
* && Only valid if not controlled by parameter cDebug
*BackgroundImage: <cFile> && Backgroundimage for process form. Empty for empty Background. File not found uses default.
*HomeDir: 1 && Home directory in PJX
* && 0 don't save HomeDir in PJ2
* && 1 save HomeDir in PJ2
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*-- Settings for config file via parameter only
*InhibitInheritance: 0 && 0=Allow scanning "regular" config files (file via parameter is just additional default)
* && 1=Only read tree from root of the file given by parameter, not FoxBin2Prg default
* && 2=Only read folder and subfolder of the file given by parameter
* && 3=Read no other file
* && This is like
* && 0 Default | Parameter file | Default near FoxBin2Prg | all other config files
* && 1 Default | Parameter file | Inheritance from root to parent of folder | folder and subdirs
* && 2 Default | Parameter file | folder and subdirs
* && 3 Default | Parameter file
*----------------------------------------------------------------------------------------------------------------
*-- Conversion operation by type
*PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
*VCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
*SCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
*FRX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
*LBX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
*MNX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
*DBC_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
*DBF_Conversion_Support: 1 && 0=No support, 1=Generate Header TXT only (Diff), 2=Generate Header TXT and BIN (Merge/Only Structure!), 4=Generate TXT with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data)
*FKY_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff)
*MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff)
*----------------------------------------------------------------------------------------------------------------
*Setting for pjx files
*CheckFileInPath: 0 && Determines 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths.
* && 0 Ignore. Default
* && 1 Check and error out if file is not on same structure (for source control)
* && 2 Create absolute path if file is on different drive.
* && 3 Create absolute path if file is not in structure
*----------------------------------------------------------------------------------------------------------------
*Setting for container files (not pjx)
*-- CLASS (, FORM and DBC) options (tx2 is to read as vc2 or sc2, VCX might be SCX)
*-- FORM and DBC options default to this settings, if not set otherwise. See below.
*- Class per file options (UseClassPerFile: 1)
*UseClassPerFile: 0 && Determines how a library (or form) will handle included class (or, for forms, objects)
* && 0 One library.tx2 file
* && 1 Multiple file.class.tx2 files
* && 2 Multiple file.baseclass.class.tx2 files
*RedirectClassPerFileToMain: 0 && When regenerating binary files, determine target file
* && 0 Don't redirect to file.vcx/scx
* && 1 Redirect to file.vcx/scx when selecting file[.baseclass].class.tx2
* && RedirectClassType: 1 has precedence
*RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2
* && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2
* && For the second form:
* && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library
* && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX
* && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX
*ClassPerFileCheck: 0 && Check, if files listed in the main file of a library or form will be included
* && 0 Don't check file inclusion
* && 1 Check file[.baseclass].class.tx2 inclusion
* && Only used if import file is in file[.baseclass].class.tx2 syntax
* && Ignored for RedirectClassType: 2
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*-- FORM options
*- Form per file options (UseFormSettings: 1)
*UseFormSettings: 0 && 1=Turns the File per SCX options on, 0 uses the old UseClassPerFile etc settings.
* && Options below will only read if UseFormSettings is set 1 before!
* && If UseFormSettings is set 0 later, all setting will be lost
*UseFormPerFile: 0 && Determines how a form will handle included objects
* && 0 One Form.sc2 file
* && 1 Multiple Form.Obj.sc2 files
* && 2 Multiple Form.baseclass.Obj.sc2 files
*RedirectFormPerFileToMain: 0 && When regenerating binary files, determine target file
* && 0 Don't redirect to Form.scx
* && 1 Redirect to Form.scx when selecting Form[.baseclass].Obj.sc2
* && RedirectFormType: 1 has precedence
*RedirectFormType: 0 && For classes created with UseFormPerFile>0 in the form Form[.baseclass].Obj.sc2
* && Those files could be imported like Form.sc2::Class::import or like Form[.baseclass].Obj.sc2
* && For the second form:
* && 0 Redirect Form[.baseclass].Obj.sc2 to Form.SCX and add / replace all other classes of this library
* && 1 Redirect Form[.baseclass].Obj.sc2 to Form[.baseclass].Obj.SCX and do not touch Form.SCX
* && 2 Redirect Form[.baseclass].Obj.sc2 to Form.SCX and do not touch other classes of Form.SCX
*FormPerFileCheck: 0 && Check, if files listed in the main file of a library or form will be included
* && 0 Don't check file inclusion
* && 1 Check Form[.baseclass].Obj.sc2 inclusion
* && Only used if import file is in Form[.baseclass].Obj.sc2 syntax
* && Ignored for RedirectFormType: 2
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*-- DBC options
*- File per DBC options (UseFilesPerDBC: 1)
*OldFilesPerDBC: 0 && 1=Turns the File per DBC options on, 0 uses the old UseClassPerFile etc settings.
* && Options below will only read if OldFilesPerDBC is set 1 before!
* && If OldFilesPerDBC is set 0 later, all setting will be lost
*UseFilesPerDBC: 0 && 0=One database dc2 file, 1=Multiple file.*.*.dc2 files
* && 0 creates only a file.dc2 with all DBC (file) data
* && 1 creates a file.dc2 with DBC properties
* && and additional DBC files per DBC item (stored-proc, table, ..)
* && Note: recration only if RedirectFilePerDBCToMain is 1
*RedirectFilePerDBCToMain: 0 && 0=Don't redirect to file.dc2, 1=Redirect to file.tx2 when selecting file.item.*.dc2
*ItemPerDBCCheck: 0 && 0=Don't check file.item.*.dc2 inclusion, 1=Check file.item.*.dc2 inclusion
*----------------------------------------------------------------------------------------------------------------
*-- General files
*NoTimestamps: 1 && Clear timestamps of several file types by default for minimize text-file differences
* && Note: This setting will be ignored, if cNoTimestamps parameter is set.
* && Note: There is no inheritance for this setting. First occurance wins.
*ClearUniqueID: 1 && 0=Keep UniqueID in text files, 1=Clear Unique ID. Useful for Diff and Merge
* && Note: There is no inheritance for this setting. First occurance wins.
*OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches!
* && Note: There is no inheritance for this setting. First occurance wins.
*RemoveNullCharsFromCode: 1 && 1=Drop .Null. chars from source code
*RemoveZOrderSetFromProps: 0 && 0=Do not remove ZOrderSet property from object, 1=Remove ZOrderSet property from object
*PRG_Compat_Level: 0 && 0=Legacy, 1=Use HELPSTRING as Class Procedure comment
*----------------------------------------------------------------------------------------------------------------
*-- PJX special
*BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo, 2 = Don't keep DevInfo or ObjRev
*----------------------------------------------------------------------------------------------------------------
*-- DBF special
*ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff.
*ExcludeDBFAutoincNextval: 0 && 0=Do not exclude this value from db2, 1=Exclude this value from db2
*DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf
*DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf
*DBF_BinChar_Base64: 1 && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default)
*DBF_IncludeDeleted: 0 && 0=Do not include deleted records (default), 1=Include deleted records
*----------------------------------------------------------------------------------------------------------------
*-- Text file extensions
*extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom)
*-- Example configuration for SourceSafe compatibility:
*extension: pj2=pja && Text file to PJX
*extension: vc2=vca && Text file to VCX
*extension: sc2=sca && Text file to SCX
*extension: fr2=fra && Text file to FRX
*extension: lb2=lba && Text file to LBX
*extension: mn2=mna && Text file to MNX
*extension: db2=dba && Text file to DBF
*extension: dc2=dca && Text file to DBC
*-- Additional extensions
*extension: fk2=fkx && Text file to FKY
*extension: me2=fkx && Text file to MEM
*
Configuration file per table
Those configuration files are valid for a single table only. The idea is to have special settings for single tables.
It is possible to create a template with all options and comments via
DO FOXBIN2PRG.PRG WITH "-t","template.dbf.cfg" &&==> Generates a template for table.dbf.cfg per table config file with newest settings.
See command line.
The options in the template (or in the config that ships with FoxBin2Prg) are commented out.
To activate an option remove the asterix and set appropriate value.
These are the Table.dbf.cfg configuration file settings and their meaning:
| FoxBin2Prg.cfg keywords | Value | per file |
Description |
|---|---|---|---|
| DBF_Conversion_Support | 0, 1, 2, 4, 8 | 0=No support, 1=Generate Header Text only (Diff), 2=Generate Header Text and Bin (Merge/Only Structure!), 4=Generate Text with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data) |
|
| DBF_Conversion_Order | c_Expression | x | Field expresion (For INDEX ON). ie: name+str(age,3), Empty means no sort order. usefull only if DBF_Conversion_Support >0 |
| DBF_Conversion_Condition | c_Expression | x | Logical expression (For SCAN FOR). ie: age > 10 AND NOT DELETED(), empty means all records, except DBF_IncludeDeleted usefull only if DBF_Conversion_Support >0 |
| DBF_IndexList | c_FileList | x | A comma delimited list of additional index files ( cdx or idx ). Not the structural index file. |
| DBF_BinChar_Base64 | 0, 1 | 0=For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform usefull only if DBF_Conversion_Support > 2 |
|
| DBF_IncludeDeleted | 0, 1 | 0=Do not include deleted records, 1=Include deleted records usefull only if DBF_Conversion_Support > 2 |
Setting per file* could only be used via this configuration file. For defaults, see Configuration file.
These options can be used in any combination inside a dbf particular cfg file, if you create a text file using your dbf filename and adding ".cfg".
Syntax for filename.dbf.cfg contents
"DBF_Conversion_Support: <4 for export only or 8 for bidirectional support>"
"DBF_Conversion_Order: <C_Expression>"
"DBF_Conversion_Condition: <C_Expression>"
Example: customers.dbf.cfg
"DBF_Conversion_Support: 4"
"DBF_Conversion_Order: cust_no"
"DBF_Conversion_Condition: cust_no > 10"
Excluding directories
It is possible to exclude directory structures from processing. Placing a .FoxBin2Prg_Ignore file into a directory will stop FoxBin2Prg from processing any file in this directory and it's subdirectories. The file must just exist and could otherwise be empty.
The difference to setting all XXX_Conversion_Support to 0 is, that it could not be turned on again down the directory structure.
This was set up to ignore the local GoFish_ settings and history folder, the file will be automatically created by GoFish starting with version 6.2.004.

This project is part of VFPX.
