Patch 1.19.60

Bug fixes and enhancements. See docs/FoxBin2Prg_Changes.md for full list
This commit is contained in:
Lutz
2021-03-22 16:38:08 +01:00
parent 8b8e0ef894
commit dc39ca873a
34 changed files with 1717 additions and 976 deletions

57
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,57 @@
# How to contribute to FoxBin2Prg
## Bug report?
- Please check [issues](https://github.com/fdbozzo/foxbin2prg/issues) if the bug is reported
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
### Did you write a patch that fixes a bug?
- Open a new GitHub merge request with the patch.
- Ensure the PR description clearly describes the problem and solution.
- Include the relevant version number if applicable.
## Coding conventions
Start reading our code and you'll get the hang of it. We optimize for readability:
- Beautification is done like:
- Keywords: Mixed case
- Symbols: First occurence
- Indentation Tabs, 1
- Indent anything then Comments
- Please do not run BeautifyX with mDots insertion against the code.
- We ALWAYS put spaces after list items and method parameters (`[1, 2, 3]`, not `[1,2,3]`), around operators (`x = 1`, not `x=1`).
- This is open source software. Consider the people who will read your code, and make it look nice for them. It's sort of like driving a car: Perhaps you love doing donuts when you're alone, but with passengers the goal is to make the ride as smooth as possible.
- Please kindly add comments where and what you change
## New version
Please note, there are some tasks to set up a new version.
Stuff is a bit scattered, so this is where to look up.
1. Please create a fork at github
0. In _FoxBin2prg.prg_ there are two version numbers in properties:
`n_FB2PRG_Version = 1.19`
`c_FB2PRG_Version_Real = '1.19.60'`
1. Please set the **minor** part of _c_FB2PRG_Version_Real_ to a new number.
**Do not** alter the **1.19** part. This is written to the text files.
Alteration might force that the files must be newly commited, what is not everybodies taste.
3. Add a meaningfull description of the change in the changes list on top of _FoxBin2prg.prg_.
4. Add a description to _FoxBin2Prg_Changes.md_
4. If a change to the config files is made please add the description to the various properties (multi lang)
- _C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg:_ for general settings
- _C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_tab_cfg:_ for settings per table
- Create a template _foxbin2prg.cfg.txt_ for general settings or _foxbin2prg.dbf.cfg.txt_ for the settings per table.
5. If a change to the parameters is made, change _C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_ properties.
4. For changed functionality, add descriptive text on the appropriate _.md_ file.
4. Highlight the change on _README.md_ in projects root
2. Alter the version number for the EXE to the version used above.
0. Compile to EXE
1. Change Thor (see below)
## Thor conventions
This project is part of [VFPX](https://vfpx.github.io/) and published via [Thor](https://github.com/VFPX/Thor).
There are some considerations to make to add a new version to Thor.
Please check [Supporting Thor Updater](https://vfpx.github.io/thorupdate/)
In special:
- Update _Project.txt_, in special the version number
- Run the script included, or
- add files to _FoxBin2Prg.zip_, namly FoxBin2Prg.prg, FoxBin2Prg.exe and the config files templates
- Update the version number in _FoxBin2PrgVersion.txt_
Thanks

2
.gitignore vendored
View File

@@ -1,10 +1,10 @@
# we use the exclude-all-include-special approach, easier then excluding any odd stuff later
#exclude general
*.bak
*.tmp
*.prj
*.pui
*.orig
*.err
/*.dbf
/*.CDX
/*.fxp

View File

@@ -19,8 +19,31 @@ Supported formats are: PJX, PJM, SCX, VCX, FRX, LBX, MNX, DBC, DBF, FKY, MEM
Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
Change History -------------------------------------------------------------
Change History-------------------------------------------------------------
************
2021-03-22 v1.19.60
- Enhancement: FoxBin2Prg template and debug output: Completed and ordered, order synched, grouped and groups named at template. (LScheffler)
- Enhancement: Option BackgroundImage was read, but not in template (LScheffler)
- Enhancement: -cC options learned to create default FoxBin2Prg._cfg file (LScheffler)
- Enhancement: -t Option learned to create default \<tablename\>._cfg file, if table is open. (LScheffler)
- Enhancement: Handling of additional non structural index per DBF in Bin2Text and Text2Bin. See [Config per DBF](./FoxBin2Prg_Internals.md#configuration-per-table). (LScheffler)
- Enhancement: Debug-Logging for Index (LScheffler)
- Bug Fix: DBF_Conversion_Condition was read, but never used (LScheffler)
- Bug Fix: DBF_Conversion_Order sets an index that later would be stored as structural index (LScheffler)
- Bug Fix: config options with text value fail, if line comment is set (LScheffler)
- Bug Fix: issue #53 Variable lnFileCount in get_filesfromdirectory (LScheffler)
2021-03-09 v1.19.59
- Feature: Logging of settings as settings object passed to execute method (Option debug > 0) (LScheffler)
- Feature: Added option to create config file template based on current values of a directory (LScheffler)
- Bug Fix: RedirectClassType = 2, Path was set wrong in special config (LScheffler)
- Bug Fix: RedirectClassType = 2, UseClassPerFile = 2 failed (LScheffler)
- Doc: Improved, Better description of ClassPerFileCheck, tcOutputFolder. (LScheffler)
2021-03-04 v1.19.58
- Feature: Added support for writing to a different folder than the source code using a new tcOutputFolder parameter (Doug Hennig)
- Feature: Added a configuration option: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes) (Doug Hennig)
2021-03-05 v1.19.57.0
- Bug Fix: RedirectClassType = 2 mixed up PATH (LScheffler)
- Doc: improved (LScheffler)

View File

@@ -125,6 +125,15 @@ To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0
## Changes
See [Changes](./Documentacion/github/FoxBin2prg_Changes.md)
## Changes in 1.19.60
* -cC options learned to create default FoxBin2Prg._cfg file
* -t Option learned to create default \<TableName\>._cfg file, if table is open.
* Handling of additional non structural index per DBF in Bin2Text and Text2Bin
* Debug-Logging for Index
* Bug Fix: DBF_Conversion_Condition was read, but never used
* Bug Fix: DBF_Conversion_Order sets an index that later would be stored as structural index
* Bug Fix: config options with text value fail, if line comment is set
## Changes in 1.19.59
* Added support for writing to a different folder than the source code using a new tcOutputFolder parameter
* Added a configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes)
@@ -139,15 +148,12 @@ See [Changes](./Documentacion/github/FoxBin2prg_Changes.md)
DO FOXBIN2PRG.PRG WITH "-C","template.cfg" ==> Generates a file like FoxBin2Prg.cfg config file with recent settings
```
## Changes in 1.19.58
* Added support for writing to a different folder than the source code using a new tcOutputFolder parameter
* Added a configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes)
## Changes pre 1.19.58
## Changes to Settings
To get the new settings in config file, use the new create-a-template function:
```
DO FOXBIN2PRG.PRG WITH "-c","template.cfg" ==> Generates a template for FoxBin2Prg.cfg config file with newest settings
DO FOXBIN2PRG.PRG WITH "-c","template.cfg" ==> Generates a template for FoxBin2Prg.cfg config file with newest default settings
DO FOXBIN2PRG.PRG WITH "-C","template.cfg" ==> Generates a template for FoxBin2Prg.cfg config file with active settings
DO FOXBIN2PRG.PRG WITH "-t","template.dbf.cfg" ==> Generates a template for table.dbf.cfg per table config file with newest settings
```
@@ -172,37 +178,6 @@ The data added by _DBF_IncludeDeleted: 1_ will be ignored by old versions genera
It's a good idea to have the _FoxBin2Prg.cfg_ per projekt and and source control,
old commits / versions would have the old config.
So the settings would fit the data and FoxBin2Prg could generate according to it.
### Fixes
| Details |
| - |
| Added MEM and FKY options to config template and internal documentation |
| Conversion prg -> vcx, files per class could create one class multiple times |
| Processing directory, flush log file after loop instead of file |
| Conversion prg -> dbf, fields with .NULL. value are incorectly recreated |
| Minor translations |
| Conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) |
| DBF_Conversion_Condition, problem with macro expansion |
| Bug on special setting for import in form file[.baseclass].class.vc2 |
| Bug on RedirectClassType = 2 mixed up PATH |
| Bug on RedirectClassType = 2, UseClassPerFile = 2 failed |
### Features
| Details |
| - |
| [Documentation](./Documentacion/github/FoxBin2prg.md) reworked. |
| German translation improved |
| Info screen-doc improved |
| Inserted option DBF_IncludeDeleted to allow including deleted records of DBF |
| Inserted option DBF_BinChar_Base64 to allow processing of NoCPTrans fields in non base64 way |
| Inserted option OldFilesPerDBC to control split of DBC, the options below are controled by this |
| Inserted option UseFilesPerDBC to split DBC processing from vcx / scx |
| Inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx |
| Inserted option ItemPerDBCCheck to split DBC processing from vcx / scx |
| added option to create config file template |
| New value 2 for option RedirectClassType. Alter single class for input form file[.baseclass].class.vc2 |
---
---

Binary file not shown.

View File

@@ -1,7 +1,7 @@
lparameters toUpdateObject
local ldDate
ldDate = date()
toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.59' + ;
toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.60' + ;
'-update-' + dtoc(ldDate, 1)
return toUpdateObject

View File

@@ -1,5 +1,5 @@
appName = FoxBin2Prg
appID = FoxBin2Prg
majorVersion = 1.19.59
majorVersion = 1.19.60
excludeFiles = *.bak,*.bat,*.fxp,*.tbk,*.tmp,*.dat,*.log,*.cvp,README.md,.gitignore,*.zip*,*.7z*,*- copia.*,*.private.*,test_*.*,xx*.*,*.lnk,vfp_init.*,tmp*.*,*.err, *.conflict.*, *.private., .gitignore, *.pui. *.prj*
excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test*

View File

@@ -19,9 +19,7 @@ As far as possible these are the original documents. Changes are added where fun
The older links point to Fernandos repository.
For recent verisons see
![Picture](./pictures/FoxBin2Prg_Full_Change_History_vfpxreleasesmall.png) [Fernandos FoxBin2PRG](https://github.com/fdbozzo/foxbin2prg)
![Picture](./pictures/FoxBin2Prg_Full_Change_History_vfpxreleasesmall.png) [This fork](https://github.com/lscheffler/foxbin2prg/tree/fork_mod)
![Picture](./pictures/FoxBin2Prg_Full_Change_History_vfpxreleasesmall.png) [Just the bug fixes of this fork](https://github.com/lscheffler/foxbin2prg/tree/fork)
![Picture](./pictures/FoxBin2Prg_Full_Change_History_vfpxreleasesmall.png) [FoxBin2PRG](https://github.com/fdbozzo/foxbin2prg)
## Full Change History
This page is not only to get the history of the changes, but to keep a permanent list of people that have contributed to enhance FoxBin2Prg and that I feel as part of the ADN of this tool.
@@ -32,31 +30,41 @@ _**Note:** you can click on the version number for downloading this version from
| Rel.Date | Developer | Version | Details |
| - | - | - | - |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Feature**: Logging of settings as settings object passed to execute method (Option debug > 0) |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Feature**: Added option to create config file template based on current values of a directory |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Bug Fix**: RedirectClassType = 2, Path was set wrong in special config |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Bug Fix**: RedirectClassType = 2, UseClassPerFile = 2 failed |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Doc**: Improved, Better description of ClassPerFileCheck, tcOutputFolder. |
| 2021/03/04 | Doug Hennig | [v1.19.58]() | **Feature**: Added support for writing to a different folder than the source code using a new tcOutputFolder parameter |
| 2021/03/22 | LScheffler | [v1.19.60](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.60) | **Enhancement**: FoxBin2Prg template and debug output: Completed and ordered, order synched, grouped and groups named at template. |
| | | | **Enhancement**: Option BackgroundImage was read, but not in template |
| | | | **Enhancement**: -cC options learned to create default FoxBin2Prg._cfg file |
| | | | **Enhancement**: -t Option learned to create default \<tablename\>._cfg file, if table is open. |
| | | | **Enhancement**: Handling of additional non structural index per DBF in Bin2Text and Text2Bin. See [Config per DBF](./FoxBin2Prg_Internals.md#configuration-per-table). |
| | | | **Enhancement**: Debug-Logging for Index |
| | | | **Bug Fix**: DBF_Conversion_Condition was read, but never used |
| | | | **Bug Fix**: DBF_Conversion_Order sets an index that later would be stored as structural index |
| | | | **Bug Fix**: config options with text value fail, if line comment is set |
| | | | **Bug Fix**: issue #53 Variable lnFileCount in get_filesfromdirectory |
| 2021/03/09 | LScheffler | v1.19.59 | **Feature**: Logging of settings as settings object passed to execute method (Option debug > 0) |
| | | | **Feature**: Added option to create config file template based on current values of a directory |
| | | | **Bug Fix**: RedirectClassType = 2, Path was set wrong in special config |
| | | | **Bug Fix**: RedirectClassType = 2, UseClassPerFile = 2 failed |
| | | | **Doc**: Improved, Better description of ClassPerFileCheck, tcOutputFolder. |
| 2021/03/04 | Doug Hennig | [v1.19.58](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.58) | **Feature**: Added support for writing to a different folder than the source code using a new tcOutputFolder parameter |
| | | | **Feature**: Added a configuration option: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes) |
| 2021/03/05 | LScheffler | [v1.19.57]() | **Bug Fix**: RedirectClassType = 2 mixed up PATH |
| 2021/03/05 | LScheffler | v1.19.57 | **Bug Fix**: RedirectClassType = 2 mixed up PATH |
| | | | **Doc**: Improved |
| 2021/03/04 | LScheffler | [v1.19.56]() | **Feature**: New value 2 for option RedirectClassType = 2, just process the single class for input in form file[.baseclass].class.vc2 |
| 2021/03/04 | LScheffler | v1.19.56 | **Feature**: New value 2 for option RedirectClassType = 2, just process the single class for input in form file[.baseclass].class.vc2 |
| | | | **Bug Fix**:<br>Inputfile in form classlib.class.vc2 AND RedirectClassType = 1 and Execute param tcRecompile = 1<br>generates classlib.class.vcx and tries to recompile classlib.vcx<br>fails silent if classlib.vcx exists (compiles wrong lib), with message if not. |
| 2021/03/03 | LScheffler | [v1.19.55]() | **Doc**: Documentation from CodePlex integrated |
| 2021/03/03 | LScheffler | v1.19.55 | **Doc**: Documentation from CodePlex integrated |
| | | | **Feature**: added option to create config file template |
| | | | **Doc**: Info screen-doc improved |
| | | | **Doc**: German translation improved |
| 2021/03/03 | LScheffler | [v1.19.54]() | **Bug Fix**: DBF_Conversion_Condition, problem with macro expansion |
| 2021/03/03 | LScheffler | v1.19.54 | **Bug Fix**: DBF_Conversion_Condition, problem with macro expansion |
| 2021/02/20 | LScheffler | | **Feature**: inserted option DBF_IncludeDeleted to allow including deleted records of DBF |
| 2021/02/19 | LScheffler | | **Feature**: inserted option DBF_BinChar_Base64 to allow processing of NoCPTrans fields in non base64 way |
| 2021/02/15 | LScheffler | | **Feature**: inserted option ItemPerDBCCheck to split DBC processing from vcx / scx |
| | | | **Feature**: inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx |
| 2021/02/14 | LScheffler | | **Feature**: inserted option UseFilesPerDBC to split DBC processing from vcx / scx |
| 2021/02/23 | LScheffler | [v1.19.53]() | **Doc**: For Info screen and config-template, usage of MEM and FRX added |
| 2021/02/23 | LScheffler | v1.19.53 | **Doc**: For Info screen and config-template, usage of MEM and FRX added |
| | | | **Bug Fix**: conversion prg -> vcx, files per class could create one class multiple times |
| 2021/02/15 | | | **Bug Fix**: processing directory, flush log file after loop instead of file |
| 2021/02/14 | LScheffler | [v1.19.52]() | **Bug Fix**: conversion prg -> dbf, fields with .NULL. value are incorectly recreated |
| 2021/02/14 | LScheffler | v1.19.52 | **Bug Fix**: conversion prg -> dbf, fields with .NULL. value are incorectly recreated |
| | | | **Doc**: minor translations |
| | | | **Bug Fix**: conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) |
| 2020/04/01 | FDBOZZO | [v1.19.51.6](https://github.com/fdbozzo/foxbin2prg/tree/v1.19.51.6) | Add some fixes to existent ut_tests |
@@ -379,4 +387,4 @@ _**Note:** you can click on the version number for downloading this version from
This project is part of [VFPX](https://vfpx.github.io/).
----
Last changed: _2021/03/09_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)
Last changed: _2021/03/22_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -11,6 +11,7 @@ As far as possible these are the original documents. Changes are added where fun
----
## Table of contents
- [Why to use this tool](#why-to-use-this-tool)
- [Limitations](#limitations)
- [Configuration file](#configuration-file)
- [Configuration file per table](#configuration-file-per-table)
- [FoxBin2Prg Internals](#foxbin2prg-internals)
@@ -66,11 +67,33 @@ and this require that generated text files can be manipulated manually or automa
No problem, just convert the .pjm to .pjx/.pjt sending to FoxBin2Prg, and it generates the real project again.
## Limitations
Most of the files look like prg or XML data. Please note, those files are only look alike.
The parsing to generate the binary depends highly on the position of data.
So if a file is defined like
```
<FIELDS>
<FIELD>
<Name>I1</Name>
```
this
```
<FIELDS><FIELD><Name>I1</Name>.
```
will be nice XML, but not readable to FoxBin2Prg. This is a line by line parser.
Leading and trailing spaces are mostly no problem.
You might freely change and merge code inside the text files, or data in a table-XML,
but the result must be compilable and keep the structure.
All limitations that occur to a binary format must be kept on the text representation -
the definition of a HEADER class to a VCX will fail.
## Configuration file
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
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
```
See [command line](./FoxBin2Prg_Run.md#usage-2).
The config file is used to move local setting to a different comupter or for changes while branching.
@@ -81,17 +104,15 @@ These are the FoxBin2Prg.cfg configuration file settings and their meaning:
| FoxBin2Prg.cfg keywords | Value (_Default_) | Description |
| ----- | ----- | ----- |
| extension: xx2 | | FoxBin2Prg extensions ends in '2' (pj2, vc2, sc2, etc), but you can change that.<br/>For example you can change pj2 to pja using this: "extension: pj2=pja" for making it SourceSafe (sccapi v1) compatible.<br/>It could be any pair, used sources are:<br/>pj2, vc2, sc2, fr2, lb2, mn2, db2, dc2, fk2, me2 |
| Language | _(auto)_, EN, FR, ES, DE | Language of templates, shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC (using VERSION(3)) ||
| DontShowProgress | 0 | **Deprecated**. Replaced by ShowProgressbar option from v1.19.40 |
| ShowProgressbar | 0, _1_, 2 | 1=Always show a progress bar,<br/>2=Only show it when processing multiple-files,<br/>0=Don't show progressbar |
| DontShowErrors | _0_, 1 | By default, show message errors in a modal messagebox.<br/>Specify "1" if don't want to show errors |
| NoTimestamps | 0, _1_ | 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 |
| Debug | _0_, 1, 2 | By default, don't generate individual <file>.Log with process hints.<br/>Activate with "1" to find possible error causes and for debugging,<br/>"2" is special logging |
| ExtraBackupLevels | 0, _1_, n | By default, one _filename_.BAK file is created.<br/>With this setting you can make more _filename_.n.BAK files,<br/>or none at all using 0 |
| ClearUniqueID | 0, _1_ | 0=Keep UniqueID,<br/>1=Clear Unique ID.<br/>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 |
| OptimizeByFilestamp | _0_, 1 | 0=Don't optimize (always generate),<br/>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.<br/><span style="background-color: gold;">Dangerous while working with branches!</span> |
| RemoveNullCharsFromCode | 0, _1_ | 1=Drop NULL chars from source code,<br/>0=Leave NULLs in source code |
| RemoveZOrderSetFromProps | _0_, 1 | 1=Remove ZOrderSet from the properties,<br/>0=Leave ZOrderSet in the properties |
| Debug | _0_, 1, 2 | By default, don't generate individual <file>.Log with process hints.<br/>Activate with "1" to find possible error causes and for debugging,<br/>"2" is special logging |
| BackgroundImage | <cFile> | Backgroundimage for process form |
| HomeDir | 0, _1_ | 0=don't save HomeDir in PJ2,<br/>1=save HomeDir in PJ2.<br/>Setting this to 0 prevents the PJ2 file from changing just because two developers have the project in different folders |
|||
| XXX_Conversion_Support | n | Defines the conversion operation per filetype |
| | | For code:<br/> 0=No support,<br/>1=Generate _Text_ (Diff),<br/>2=Generate _Text_ and _Bin_ (Merge) |
| | | For complex data:<br/> (PJX / DBC / DBF): 0=No support,<br/>1=Generate Header _Text_ only (Diff),<br/>2=Generate Header _Text_ and _Bin_ (Merge/Only Structure!),<br/>4=Generate _Text_ with DATA (Diff),<br/>8=Export and Import DATA (Merge/Structure & Data) |
@@ -101,12 +122,19 @@ These are the FoxBin2Prg.cfg configuration file settings and their meaning:
| FRX_Conversion_Support | 0, 1, _2_ | Default value is 2 - Bidirectional (_Text_ and _bin_) support activated |
| LBX_Conversion_Support | 0, 1, _2_ | Default value is 2 - Bidirectional (_Text_ and _bin_) support activated |
| MNX_Conversion_Support | 0, 1, _2_ | Default value is 2 - Bidirectional (_Text_ and _bin_) support activated |
| FKY_Conversion_Support | 0, _1_ | Default value is 1 - _Text_ support activated |
| MEM_Conversion_Support | 0, _1_ | Default value is 1 - _Text_ support activated |
| DBC_Conversion_Support | 0, 1, _2_ | Default value is 2 - Bidirectional (_Text_ and _bin_) support activated |
| DBF_Conversion_Support | 0, _1_, 2, 4, 8 | Default value is 1 - just _Text_ support activated.<br/>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!.<br/>A value of 4 is used to export Structure and Data, but exported data is not imported again.<br/>A value of 8 is used for bidirectional support (No General fields!). <br/> **Note:** This can be [changed per table](#configuration-file-per-table). |
| DBF_Conversion_Included | * | If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf.<br/>See [Order and range of records](#order-and-range-of-records). |
| DBF_Conversion_Excluded | | If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf.<br/>See [Order and range of records](#order-and-range-of-records). |
| FKY_Conversion_Support | 0, _1_ | Default value is 1 - _Text_ support activated |
| MEM_Conversion_Support | 0, _1_ | Default value is 1 - _Text_ support activated |
|||
| UseClassPerFile | _0_, 1, 2 | 0=One library _Text_ file,<br/>1=Multiple file.class.vc2 files,<br/>2=Multiple file.baseclass.class.vc2 files<br/>See [Create Class-Per-File](#create-class-per-file) |
| [RedirectClassPerFileToMain:](#redirectclassperfiletomain:) | _0_, 1 | 0=Don't redirect to file.vc2,<br/>1=Redirect to file.vc2 when selecting file.class.vc2<br/>RedirectClassType: 1 precedes this setting |
| 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](#classperfilecheck) | _0_, 1 | 0=Don't check file.class.vc2 inclusion,<br/>1=Check file.class.vc2 inclusion<br/>Only used if import file is in file[.baseclass].class.tx2 syntax.<br/>Ignored for RedirectClassType: 2 |
|||
| OldFilesPerDBC | _0_, 1 | This controls the use of the _UseFilesPerDBC_, _RedirectFilePerDBCToMain_ and _ItemPerDBCCheck_ options.<br/>Only if this option is set, the options will be read. |
| | | 0 New version inactive, options follow:<br/>UseFilesPerDBC=UseClassPerFile<br/>RedirectFilePerDBCToMain=RedirectClassPerFileToMain<br/>ItemPerDBCCheck=ClassPerFileCheck |
| | | 1 New version active, options active |
@@ -118,19 +146,33 @@ These are the FoxBin2Prg.cfg configuration file settings and their meaning:
| | | Note: recration only if RedirectFilePerDBCToMain is 1 |
| [RedirectFilePerDBCToMain](#redirectfileperdbctomain) | _0_, 1 | 0=Don't redirect to file.dc2,<br/>1=Redirect to file.tx2 when selecting file.item.*.dc2<br/>**Only if OldFilesPerDBC is 1** |
| [ItemPerDBCCheck](#itemperdbccheck) | _0_, 1 | 0=Don't check file.item.*.dc2 inclusion,<br/> 1=Check file.item.*.dc2 inclusion<br/>**Only if OldFilesPerDBC is 1**|
| DBF_BinChar_Base64 | 0, _1_ | 0=For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default) <br/> **Note:** This can be [changed per table](#configuration-file-per-table). |
|||
| NoTimestamps | 0, _1_ | 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 |
| ClearUniqueID | 0, _1_ | 0=Keep UniqueID,<br/>1=Clear Unique ID.<br/>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 |
| OptimizeByFilestamp | _0_, 1 | 0=Don't optimize (always generate),<br/>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.<br/><span style="background-color: gold;">Dangerous while working with branches!</span> |
| RemoveNullCharsFromCode | 0, _1_ | 1=Drop NULL chars from source code,<br/>0=Leave NULLs in source code |
| RemoveZOrderSetFromProps | _0_, 1 | 1=Remove ZOrderSet from the properties,<br/>0=Leave ZOrderSet in the properties |
|||
| ClearDBFLastUpdate | 0, _1_ | 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff, minimizes differences. |
| ExcludeDBFAutoincNextval | _0_, 1 | 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.<br/>See [Order and range of records](#order-and-range-of-records).<br/>**Note:** This can be [changed per table](#configuration-file-per-table). |
| DBF_Conversion_Excluded | | If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf.<br/>See [Order and range of records](#order-and-range-of-records).<br/>**Note:** This can be [changed per table](#configuration-file-per-table). |
| DBF_BinChar_Base64 | 0, _1_ | 0=For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default)<br/>**Note:** This can be [changed per table](#configuration-file-per-table). |
| DBF_IncludeDeleted | _0_, 1 | 0=Do not include deleted records (default),<br/>1=Include deleted records<br/>**Note:** This can be [changed per table](#configuration-file-per-table). |
| | | **Note:**<br/>This is only true for tables. Generating DBC to _Text_ and back to _Binary_ will act as PACK DATABASE.<br/>The data added by _DBF_IncludeDeleted: 1_ will be ignored by old versions generating _Binary_ files. |
| UseClassPerFile | _0_, 1, 2 | 0=One library _Text_ file,<br/>1=Multiple file.class.vc2 files,<br/>2=Multiple file.baseclass.class.vc2 files<br/>See [Create Class-Per-File](#create-class-per-file) |
| [RedirectClassPerFileToMain:](#redirectclassperfiletomain:) | _0_, 1 | 0=Don't redirect to file.vc2,<br/>1=Redirect to file.vc2 when selecting file.class.vc2<br/>RedirectClassType: 1 precedes this setting |
| 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](#classperfilecheck) | _0_, 1 | 0=Don't check file.class.vc2 inclusion,<br/>1=Check file.class.vc2 inclusion<br/>Only used if import file is in file[.baseclass].class.tx2 syntax.<br/>Ignored for RedirectClassType: 2 |
| ClearDBFLastUpdate | 0, _1_ | 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff, minimizes differences. |
| Language | _(auto)_, EN, FR, ES, DE | Language of templates, shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC (using VERSION(3)) ||
| HomeDir | 0, _1_ | 0=don't save HomeDir in PJ2,<br/>1=save HomeDir in PJ2.<br/>Setting this to 0 prevents the PJ2 file from changing just because two developers have the project in different folders |
|||
| extension: xx2 | | FoxBin2Prg extensions ends in '2' (pj2, vc2, sc2, etc), but you can change that. |
| extension: pj2= | \<extension\> | Text file for project PJX |
| extension: vc2= | \<extension\> | Text file for classlibray VCX, or a class out of a VCX |
| extension: sc2= | \<extension\> | Text file for form SCX, or a class out of a SCX (Form; Dataenbironment) |
| extension: fr2= | \<extension\> | Text file for report FRX |
| extension: lb2= | \<extension\> | Text file for label LBX |
| extension: mn2= | \<extension\> | Text file for menu MNX |
| extension: db2= | \<extension\> | Text file for table DBF, free or DBC bound |
| extension: dc2= | \<extension\> | Text file for database container DBC, or records from database container DBC |
| extension: fk2= | \<extension\> | Text file for macro file FKY |
| extension: me2= | \<extension\> | Text file for variable memory MEM, created with SAVE TO |
| | | **Example for for making it SourceSafe (sccapi v1) compatible:**<br/>extension: pj2=pja<br/>extension: vc2=vca<br/>extension: sc2=sca<br/>extension: fr2=fra<br/>extension: lb2=lba<br/>extension: mn2=mna<br/>extension: db2=dba<br/>extension: dc2=dca |
### Note
The options will be read outside in, top to down. See [Multi-config](#multi-config)
@@ -139,7 +181,7 @@ The options will be read outside in, top to down. See [Multi-config](#multi-conf
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
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](./FoxBin2Prg_Run.md#usage-2).
@@ -147,14 +189,16 @@ The options in the template (or in the config that ships with FoxBin2Prg) are co
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 | Description |
| ----- | ----- | ----- |
| DBF_Conversion_Support | 0, 1, 2, 4, 8 | 0=No support,<br/>1=Generate Header _Text_ only (Diff),<br/>2=Generate Header _Text_ and _Bin_ (Merge/Only Structure!),<br/>4=Generate _Text_ with DATA (Diff),<br/>8=Export and Import DATA (Merge/Structure & Data) |
| DBF_Conversion_Order | c_Expression | Field expresion (For _INDEX ON_). ie: name+str(age,3),<br/>Empty means no sort order. <br/> usefull only if _DBF_Conversion_Support_>0 |
| DBF_Conversion_Condition | c_Expression | Logical expression (For _SCAN FOR_). ie: age > 10 AND NOT DELETED(),<br/>empty means all files, except _DBF_IncludeDeleted_ <br/> usefull only if _DBF_Conversion_Support_>0 |
| DBF_BinChar_Base64 | 0, 1 | 0=For character type fields, if NoCPTrans 0=do not transform,<br/>1=use Base64 transform <br/> usefull only if _DBF_Conversion_Support_>2 |
| DBF_IncludeDeleted | 0, 1 | 0=Do not include deleted records,<br/>1=Include deleted records <br/> usefull only if _DBF_Conversion_Support_>2 |
| FoxBin2Prg.cfg keywords | Value | per<br/>file | Description |
| ----- | ----- | ----- | ----- |
| DBF_Conversion_Support | 0, 1, 2, 4, 8 | | 0=No support,<br/>1=Generate Header _Text_ only (Diff),<br/>2=Generate Header _Text_ and _Bin_ (Merge/Only Structure!),<br/>4=Generate _Text_ with DATA (Diff),<br/>8=Export and Import DATA (Merge/Structure & Data) |
| DBF_Conversion_Order | c_Expression | x | Field expresion (For _INDEX ON_). ie: name+str(age,3),<br/>Empty means no sort order. <br/> usefull only if _DBF_Conversion_Support_>0 |
| DBF_Conversion_Condition | c_Expression | x | Logical expression (For _SCAN FOR_). ie: age > 10 AND NOT DELETED(),<br/>empty means all files, except _DBF_IncludeDeleted_ <br/> 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,<br/>1=use Base64 transform <br/> usefull only if _DBF_Conversion_Support_>2 |
| DBF_IncludeDeleted | 0, 1 | | 0=Do not include deleted records,<br/>1=Include deleted records <br/> usefull only if _DBF_Conversion_Support_>2 |
Setting **per file** could only be used via this configuration file.
For defaults, see [Configuration file](#configuration-file).
## FoxBin2Prg Internals
@@ -644,7 +688,7 @@ Output file (**O**), Processed (**P1**), Without Errors (**E0**), Supported (**S
## How to use with a SCM tool
### Note
This chapter is without function if the only the _Text_ files are in the source control.
This chapter is without function if the only the _Text_ files are in the source control.
Here we need to identify 2 distinct operations: checkin because a _Binary_ modification with the IDE
and checkin because a merge operation.
@@ -673,10 +717,13 @@ because anyway you will generate them later from their _Text_ files._
For options on integrating FoxBin2Prg with SCM tools, look at this topic:
**> [FoxBin2Prg and use with SCM tools](./FoxBin2Prg_SCM.md)**
## How to use with _git_
See [FoxBin2Prg and use with git](./FoxBin2Prg_git.md)
----
![VFPX logo](https://vfpx.github.io/images/vfpxbanner_small.gif)
This project is part of [VFPX](https://vfpx.github.io/).
----
Last changed: _2021/03/04_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)
Last changed: _2021/03/20_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -56,6 +56,9 @@ Some settings will overwrite configuration. Using an object as cCFG_File will ov
| | * | If _cInputFile_ is a project (pj[x2]) all files of the project, **including** the pjx, will be processed. The extension defines direction of operation. |
| | \*\- | If _cInputFile_ is a project (pj[x2]) all files of the project, **excluding** the pjx, will be processed. The extension defines direction of operation. |
| | d, D, K, B, M, R, V | SCCAPI (SCCTEXT.PRG) compatibility mode, query the conversion support for the file type specified <br /> Types: d=DBC, D=DBF, K=Form, B=Label, M=Menu, R=Report, V=Class |
| | -C | Create configuration file \<cInputFile\> or, if first parameter is empty, FoxBin2Prg._cfg in default folder. With recent values. |
| | -c | Create configuration file template \<cInputFile\> or, if first parameter is empty, FoxBin2Prg._cfg in default folder. With inactive default values. |
| | -t | Create per-table configuration file template <cInputFile> or, if first parameter is empty and a table open, \<tablename\>._cfg in table folder. With inactive default values. |
| cTextName | Text filename. | Only for SCCAPI (SCCTEXT.PRG) compatibility mode. File to use. |
| lGenText | .T., .F. | Only for SCCAPI (SCCTEXT.PRG) compatibility mode. .T.=Generates Text, .F.=Generates Binary. <br/> **Note:** _cType_ have predominance over _lGenText_ |
| cDontShowErrors | _0_, 1 | '1' for NOT showing errors in MESSAGEBOX |
@@ -90,6 +93,7 @@ The _BIN2PRG, PRG2BIN, INTERACTIVE, SHOWMSG_ cTypes might be mixed freely like:
#### Note
- The swap of _cInputFile_ and _cType_ is not possible here.
- If cType is -cCt, then only the first both parameters are allowed.
- Setting _cInputFile_ and _cType_ appropriate, info screen and generation of configuration templates is possible too. See [command line](./FoxBin2Prg_Run.md#usage_1)
- While possibe, the SCCAPI (SCCTEXT.PRG) compatibility mode is more an idea of the [command line](./FoxBin2Prg_Run.md).
@@ -101,4 +105,4 @@ Return value is 0=OK, 1=Error.
This project is part of [VFPX](https://vfpx.github.io/).
----
Last changed: _2021/03/09_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)
Last changed: _2021/03/18_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -107,14 +107,16 @@ on which fixed parameters must be in the shortcut.
The filename is an external variable parameter received when SendingTo FoxBin2Prg with right-click on File Manager.
### Usage 2
`FoxBin2Prg.EXE [-c cOutputFile] [-C cOutputFile] [-t cOutputFile]`
`FoxBin2Prg.EXE [-cCt [cOutputFile]]`
| Parameter | Description |
| ----- | ----- |
| none | Call Info screen |
| -c | creates a template config-file _cOutputFile_ ( like FOXBIN2PRG.CFG ) |
| -C | creates a config-file _cOutputFile_ ( like FOXBIN2PRG.CFG ) with the recent options used on the path of cOutputFile |
| | If cOutputFile is empty, a file FOXBIN2PRG._CFG will be created in default foder. |
| -t | creates a template table-config-file _cOutputFile_ ( like _TableName_.dbf.cfg ) |
| | If cOutputFile is empty and a table is open is workarea, a file \<tablename\>._CFG will be created in table foder. |
## Return values
Return value via _ErrorLevel_ is 0=OK, 1=Error.
@@ -163,4 +165,4 @@ FoxBin2Prg.lnk <path>\foxbin2prg.exe "INTERACTIVE-SHOWMSG"
This project is part of [VFPX](https://vfpx.github.io/).
----
Last changed: _2021/03/09_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)
Last changed: _2021/03/18_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -43,6 +43,7 @@ generating bidirectional PRG-Style versions that allow recreating the original b
- Out of the _Text_ versions you can **generate the original binaries**, so it is useful as backup
- The extensions are configurable if you create a FOXBIN2PRG.CFG file
- Inheritance of CFG configuration files between directories
- Special configuration per table, allowing additional non structural index files, sorting and ranges of records to include
- Methods and properties of _Text_ version are alphabetically sorted for easy comparison
- Can set _UseClassPerFile_ setting to create individual files by class
- Can set _UseFilesPerDBC_ setting to create individual files by DBC member
@@ -84,4 +85,4 @@ FoxBin2Prg can be used in tree ways:
This project is part of [VFPX](https://vfpx.github.io/).
----
Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)
Last changed: _2021/03/18_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 940 B

After

Width:  |  Height:  |  Size: 940 B

View File

Before

Width:  |  Height:  |  Size: 940 B

After

Width:  |  Height:  |  Size: 940 B

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 519 B

After

Width:  |  Height:  |  Size: 519 B

View File

@@ -1,58 +1,33 @@
*################################################################################################################
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
*Version: v1.19.59
*Version: v1.19.60
*****************************************************************************************************************
*extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom)
*-- 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
*DontShowErrors: 0 && Show message errors by default
*NoTimestamps: 1 && Clear timestamps by default for minimize differences
*Debug: 0 && Don't Activate individual <file>.Log by default
*BodyDevInfo: 0 && [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo
*ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none
*ClearUniqueID: 1 && 0=Keep UniqueID in text files, 1=Clear Unique ID. Useful for Diff and Merge
*ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff.
*OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches!
*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
*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Espa<70>ol, DE=German, Not defined = AUTOMATIC [DEFAULT]
*ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2
*PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment
*Debug: 0 && Don't Activate individual <file>.Log by default
*BackgroundImage: <cFile> && Backgroundimage for process form. Empty for empty Background. File not found uses default.
*HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
*----------------------------------------------------------------------------------------------------------------
*-- Convertion options:
*-- 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)
*FKY_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff)
*MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff)
*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)
*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
*FKY_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff)
*MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff)
*----------------------------------------------------------------------------------------------------------------
*-- 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, alle 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
*DBF_BinChar_Base64: 1 && 0=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
*----------------------------------------------------------------------------------------------------------------
*-- CLASS and FORM options
*Setting for container files (not pjx)
*-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX)
*- Class per file options (UseClassPerFile: 1)
*UseClassPerFile: 0 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files
*RedirectClassPerFileToMain: 0 && 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2
@@ -66,8 +41,46 @@
*ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion
* && Only used if import file is in file[.baseclass].class.tx2 syntax
* && Ignored for RedirectClassType: 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, alle 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
*ClearUniqueID: 1 && 0=Keep UniqueID in text files, 1=Clear Unique ID. Useful for Diff and Merge
*OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches!
*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
*----------------------------------------------------------------------------------------------------------------
*-- 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
@@ -80,3 +93,4 @@
*-- Additional extensions
*extension: fk2=fkx && Text file to FKY
*extension: me2=fkx && Text file to MEM
*

12
foxbin2prg.dbf.cfg.txt Normal file
View File

@@ -0,0 +1,12 @@
*################################################################################################################
*-- Individual DBF configuration file (syntax: filename.dbf.cfg) Defaults see FoxBin2prg.cfg
*Version: v1.19.60
*****************************************************************************************************************
*DBF_Conversion_Support: <0,1,2,4,8> && 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)
*DBF_Conversion_Order: <c_Expression> && Field expresion. ie: name+str(age,3)
*DBF_Conversion_Condition: <c_Expression> && Logical expression. ie: age > 10 AND NOT DELETED()
*DBF_IndexList: <cFile_List> && comma delimited list of additonal non structural index files, cdx or idx
*DBF_BinChar_Base64: <0,1> && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform
*DBF_IncludeDeleted: <0,1> && 0=Do not include deleted records, 1=Include deleted records
*

Binary file not shown.

View File

@@ -26,14 +26,14 @@ _LegalTrademark = "MIT License"
_ProductName = "FOXBIN2PRG"
_MajorVer = "1"
_MinorVer = "19"
_Revision = "51"
_Revision = "60"
_LanguageID = "1034"
_AutoIncrement = "0"
*</DevInfo>
*<BuildProj>
*<.HomeDir = 'c:\desa\foxbin2prg' />
*<.HomeDir = 'e:\se\vfpx\foxbin2prg' />
FOR EACH loProject IN _VFP.Projects FOXOBJECT
loProject.Close()

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff