diff --git a/Create_FoxBin2Prg.cfg b/Create_FoxBin2Prg.cfg
index c7daeac..b87256a 100644
--- a/Create_FoxBin2Prg.cfg
+++ b/Create_FoxBin2Prg.cfg
@@ -1,6 +1,6 @@
*################################################################################################################
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
-*Version: v1.20.00
+*Version: v1.21.04
*Options for project FoxBin2Prg
*
*This file declares ALL settings to create / recreate text files,
@@ -140,7 +140,7 @@ PRG_Compat_Level: 0 && 0=Legacy, 1=Use HELPSTRING as Class Procedure
*----------------------------------------------------------------------------------------------------------------
*-- PJX special
-BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo
+BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo, 2 = Don't keep DevInfo or ObjRev
*----------------------------------------------------------------------------------------------------------------
*-- DBF special
diff --git a/FOXBIN2PRG.DBF.CFG.TXT b/FOXBIN2PRG.DBF.CFG.TXT
index bcddcd7..d0f5029 100644
--- a/FOXBIN2PRG.DBF.CFG.TXT
+++ b/FOXBIN2PRG.DBF.CFG.TXT
@@ -1,6 +1,6 @@
*################################################################################################################
*-- Individual DBF configuration file (syntax: filename.dbf.cfg) Defaults see FoxBin2prg.cfg
-*Version: v1.21.03
+*Version: v1.21.04
*****************************************************************************************************************
*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)
diff --git a/README.md b/README.md
index 3c6531a..70fa61e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# FoxBin2Prg
-## Version 1.21.03
+## Version 1.21.04
**Binary/Text Converting program for Microsoft Visual FoxPro**
## Lutz Scheffler
@@ -175,4 +175,4 @@ If you like to see Fernando's blog, or value his work:
----
-Last changed: _2024/02/24_ 
+Last changed: _2024/08/26_ 
diff --git a/ThorUpdater/FoxBin2Prg.zip b/ThorUpdater/FoxBin2Prg.zip
index 89febce..14f8b5f 100644
Binary files a/ThorUpdater/FoxBin2Prg.zip and b/ThorUpdater/FoxBin2Prg.zip differ
diff --git a/ThorUpdater/FoxBin2PrgVersion.txt b/ThorUpdater/FoxBin2PrgVersion.txt
index 8b28e0a..7cfcba8 100644
--- a/ThorUpdater/FoxBin2PrgVersion.txt
+++ b/ThorUpdater/FoxBin2PrgVersion.txt
@@ -3,8 +3,8 @@ lparameters toUpdateObject
* Set the properties of the passed updater object.
with toUpdateObject
- .VersionNumber = '1.21.03 - 20240424'
- .AvailableVersion = 'FoxBin2PRG-1.21.03-update-20240424'
+ .VersionNumber = '1.21.04 - 20240826'
+ .AvailableVersion = 'FoxBin2PRG-1.21.04-update-20240826'
.Notes = GetNotes()
.RegisterWithThor = GetRegisterWithThor()
endwith
@@ -63,4 +63,4 @@ text to lcCommand noshow
endtext
return lcCommand
-*created by VFPX Deployment, 24.04.2024 16:40:08
\ No newline at end of file
+*created by VFPX Deployment, 08/26/2024 2:08:42 PM
\ No newline at end of file
diff --git a/docs/ChangeLog.md b/docs/ChangeLog.md
index d0e0d49..ee1a48e 100644
--- a/docs/ChangeLog.md
+++ b/docs/ChangeLog.md
@@ -27,6 +27,7 @@ _**Note:** you can click on the version number for downloading this version from
| Rel.Date | Developer | Version | Details |
| - | - | - | - |
+| 2024/08/26 | DHennig | v1.21.04 | **Enhancement**: Added support for BodyDevInfo = 2 in CFG file to prevent both DevInfo and ObjRev from being written to PJ2 file |
| 2024/04/24 | LScheffler | [v1.21.03](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.21.03) | **Bug Fix**: Text To Bin with Fieldcaption = "NULL" (misnomer. it's the field name); #106; #106 (griessbach14943) |
| 2024/01/03 | LScheffler | [v1.21.02](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.21.02) | **Bug Fix**: Problems regenerating single classes and forms from text files in class-per-file form; #105 (LScheffler) |
| 2023/11/19 | LScheffler | [v1.21.01](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.21.01) | **Enhancement**: Source files not longer included in Thor. The file you will found are old and will be removed with subsequent installs. (LScheffler) |
@@ -449,4 +450,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: _2024/04/24_ 
\ No newline at end of file
+Last changed: _2024/08/26_ 
\ No newline at end of file
diff --git a/docs/FoxBin2Prg_Internals.md b/docs/FoxBin2Prg_Internals.md
index a91c7e5..894482c 100644
--- a/docs/FoxBin2Prg_Internals.md
+++ b/docs/FoxBin2Prg_Internals.md
@@ -36,7 +36,7 @@ As far as possible these are the original documents. Changes are added where fun
- [Complementary options for the UseClassPerFile setting](#complementary-options-for-the-useclassperfile-setting)
- [RedirectClassPerFileToMain](#redirectclassperfiletomain)
- [ClassPerFileCheck](#classperfilecheck)
- - [Create File-Per-Form](create_file_per_form)
+ - [Create File-Per-Form](#create-file-per-form)
- [Create File-Per-DBC](#create-file-per-dbc)
- [Complementary options for the UseFilesPerDBC setting](#complementary-options-for-the-usefilesperdbc-setting)
- [RedirectFilePerDBCToMain](#redirectfileperdbctomain)
@@ -114,6 +114,7 @@ These are the FoxBin2Prg.cfg configuration file settings and their meaning:
| Debug | _0_, 1, 2 | 0=Off
1=Normal
2=Extended
By default, don't generate individual \.Log with process hints.
Activate with "1" to find possible error causes and for debugging,
"2" is special logging.
**If cDebug is set via parameter, this is ignored.** |
| BackgroundImage | \ | Backgroundimage for process form |
| 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 | _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 | _0_, 1, 2, 3 | **This settings is for config file via parameter only**
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 |
|||
@@ -141,10 +142,9 @@ These are the FoxBin2Prg.cfg configuration file settings and their meaning:
| | | 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,
1=Check file.class.vc2 inclusion
Only used if import file is in file[.baseclass].class.tx2 syntax.
Ignored for RedirectClassType: 2 |
|||
-| [UseFormSettings](create_file_per_form)
- | _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. |
+| [UseFormSettings](#create-file-per-form) | _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 | _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](#create-class-per-file) |
-| [RedirectFormPerFileToMain:](#redirectclassperfiletomain:) | _0_, 1 | 0=Don't redirect to Form.scx,
1=Redirect to Form.scx when selecting Form.Object.sc2
RedirectClassType: 1 precedes this setting |
+| [RedirectFormPerFileToMain](#redirectclassperfiletomain) | _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 | _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 |
@@ -550,7 +550,7 @@ This can be useful if you want to divide a big library in smaller pieces.
#### Note
By default, these settings are valid for SCX and DBC files as well. SCX files may expand to header, form and dataenvironment, and a DBC may be split into header and several files of the objects contained.
If you like finer and independend control over forms and databases, check
-- [Create File-Per-Form](create_file_per_form) and
+- [Create File-Per-Form](#create-file-per-form) and
- [Create File-Per-DBC](#create-file-per-dbc)
### Create File-Per-Form
@@ -782,4 +782,4 @@ Last changed: _2023/09/06_
This project is part of [VFPX](https://vfpx.github.io/).
----
-Last changed: _2023/11/26_ 
\ No newline at end of file
+Last changed: _2024/08/26_ 
\ No newline at end of file
diff --git a/foxbin2prg.cfg.txt b/foxbin2prg.cfg.txt
index e3741f2..10de702 100644
--- a/foxbin2prg.cfg.txt
+++ b/foxbin2prg.cfg.txt
@@ -1,6 +1,6 @@
*################################################################################################################
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
-*Version: v1.21.03
+*Version: v1.21.04
*****************************************************************************************************************
* Note, configuration files will follow an inheritance.
@@ -137,7 +137,7 @@
*----------------------------------------------------------------------------------------------------------------
*-- PJX special
-*BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo
+*BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo, 2 = Don't keep DevInfo or ObjRev
*----------------------------------------------------------------------------------------------------------------
*-- DBF special
diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index b1906b7..c708b76 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -1,5 +1,5 @@
#DEFINE DN_FB2PRG_VERSION 1.21
-#DEFINE DC_FB2PRG_VERSION_REAL '1.21.03'
+#DEFINE DC_FB2PRG_VERSION_REAL '1.21.04'
*---------------------------------------------------------------------------------------------------
* Module.........: FOXBIN2PRG.PRG - FOR VISUAL FOXPRO 9.0
@@ -325,6 +325,7 @@
* 19/11/2023 LScheffler v1.21.01 Bug Fix: Problems regenerating databases with splited contents due to the removed Spanish characters in comment. (LScheffler)
* 03/01/2024 LScheffler v1.21.02 Bug Fix: Problems regenerating single classes and forms from text files in class-per-file form; #105 (LScheffler)
* 24/04/2024 LScheffler v1.21.03 Bug Fix: Text To Bin with Fieldcaption = "NULL" (misnomer. it's the field name); #106; #106 (griessbach14943)
+* 26/08/2024 DHennig v1.21.04 Added support for BodyDevInfo = 2 in CFG file to prevent both DevInfo and ObjRev from being written to PJ2 file
*
*
*---------------------------------------------------------------------------------------------------
@@ -3135,7 +3136,9 @@ Define Class c_foxbin2prg As Session
*pjx special
Case Left( laConfig(m.I), 12 ) == Lower('BodyDevInfo:')
lcValue = Alltrim( Substr( laConfig(m.I), 13 ) )
- If Inlist( lcValue, '0', '1' ) Then
+*** DH 2024-08-26: support 2 as a value
+* If Inlist( lcValue, '0', '1' ) Then
+ If Inlist( lcValue, '0', '1', '2' ) Then
lo_CFG.n_BodyDevInfo = Int( Val( lcValue ) )
.writeLog( C_TAB + Justfname(lcConfigFile) + ' > BodyDevInfo: ' + Transform(lo_CFG.n_BodyDevInfo) )
Endif
@@ -4221,7 +4224,8 @@ Define Class c_foxbin2prg As Session
laOptions(04,1) = "*Debug:" && 0,1 Don't Activate individual .Log by default
laOptions(04,2) = ".n_Debug"
laOptions(04,3) = 0
- laOptions(05,1) = "*BodyDevInfo:" && 0,1 [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo
+*** DH 2024-08-26: added text for option 2
+ laOptions(05,1) = "*BodyDevInfo:" && 0,1 [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo, 2 = Don't keep DevInfo or ObjRev
laOptions(05,2) = ".n_BodyDevInfo"
laOptions(05,3) = 0
laOptions(06,1) = "*ExtraBackupLevels:" && n By default 1 BAK is created. With this you can make more .N.BAK, or none
@@ -18495,31 +18499,47 @@ toFoxBin2Prg.n_CheckFileInPath=2
<<>> .ADD('<>')
ENDTEXT
- If toFoxBin2Prg.n_BodyDevInfo=1
+*** DH 2024-08-26: changed IF to CASE and added case for BodyDevInfo = 2 meaning omit DEVINFO and OBJREV
+* If toFoxBin2Prg.n_BodyDevInfo=1
+ do case
+ case toFoxBin2Prg.n_BodyDevInfo=1
* Generates an extra DevInfo tag for each body PJX record
- TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
- <<>> <<'&'>><<'&'>> <>
- Type="<>"
- Cpid="<>"
- Timestamp="<>"
- ID="<>"
- ObjRev="<>"
- User="<>"
- DevInfo="<>"
- <>
- ENDTEXT
- Else
- TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
- <<>> <<'&'>><<'&'>> <>
- Type="<>"
- Cpid="<>"
- Timestamp="<>"
- ID="<>"
- ObjRev="<>"
- User="<>"
- <>
- ENDTEXT
- Endif
+ TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
+ <<>> <<'&'>><<'&'>> <>
+ Type="<>"
+ Cpid="<>"
+ Timestamp="<>"
+ ID="<>"
+ ObjRev="<>"
+ User="<>"
+ DevInfo="<>"
+ <>
+ ENDTEXT
+* Else
+ case toFoxBin2Prg.n_BodyDevInfo=2
+ TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
+ <<>> <<'&'>><<'&'>> <>
+ Type="<>"
+ Cpid="<>"
+ Timestamp="<>"
+ ID="<>"
+ User="<>"
+ <>
+ ENDTEXT
+ otherwise
+ TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
+ <<>> <<'&'>><<'&'>> <>
+ Type="<>"
+ Cpid="<>"
+ Timestamp="<>"
+ ID="<>"
+ ObjRev="<>"
+ User="<>"
+ <>
+ ENDTEXT
+* Endif
+ endcase
+*** DH 2024-08-26: end of changes
loReg = .Null.
Endfor
@@ -19132,6 +19152,7 @@ Define Class c_conversor_pjm_a_prg As c_conversor_bin_a_prg
*-- Definir archivos del proyecto y metadata: CPID, Timestamp, ID, etc.
loProject.KeySort = 2
+messagebox('convert')
For Each loReg In loProject &&FOXOBJECT
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> .ADD('<>')
@@ -31670,6 +31691,7 @@ Define Class CL_LANG As Custom
<<>>
ENDTEXT
*** DH 2021-03-04: added HomeDir to text
+*** DH 2024-08-26: added text for option 2 for BodyDevInfo
.C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_Header4 = "*Options for folder <<.c_Recompile>>, read as of <>"
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>################################################################################################################
@@ -31811,7 +31833,7 @@ Define Class CL_LANG As Custom
<<>>----------------------------------------------------------------------------------------------------------------
<<>>
<<>>-- PJX special
- <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo
+ <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo, 2 = Don't keep DevInfo or ObjRev
<<>>----------------------------------------------------------------------------------------------------------------
<<>>
<<>>-- DBF special
@@ -32019,6 +32041,7 @@ Define Class CL_LANG As Custom
<<>>
ENDTEXT
*** DH 2021-03-04: added HomeDir to text
+*** DH 2024-08-26: added text for option 2 for BodyDevInfo
.C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_Header4 = "*Options for folder <<.c_Recompile>>, read as of <>"
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>################################################################################################################
@@ -32160,7 +32183,7 @@ Define Class CL_LANG As Custom
<<>>----------------------------------------------------------------------------------------------------------------
<<>>
<<>>-- PJX special
- <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo
+ <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo, 2 = Don't keep DevInfo or ObjRev
<<>>----------------------------------------------------------------------------------------------------------------
<<>>
<<>>-- DBF special
@@ -32745,6 +32768,7 @@ Define Class CL_LANG As Custom
<<>>
ENDTEXT
*** DH 2021-03-04: added HomeDir to text
+*** DH 2024-08-26: added text for option 2 for BodyDevInfo
.C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_Header4 = "*Options for folder <<.c_Recompile>>, read as of <>"
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>################################################################################################################
@@ -32886,7 +32910,7 @@ Define Class CL_LANG As Custom
<<>>----------------------------------------------------------------------------------------------------------------
<<>>
<<>>-- PJX special
- <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo
+ <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo, 2 = Don't keep DevInfo or ObjRev
<<>>----------------------------------------------------------------------------------------------------------------
<<>>
<<>>-- DBF special