Version 1.19.58:

* Enhancement: added support for writing to a different folder than the source code (Doug Hennig)
* Enhancement: added configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (Doug Hennig)
This commit is contained in:
Doug Hennig
2021-03-06 11:54:08 -06:00
parent c00d7b6a77
commit d504cb782b
9 changed files with 309 additions and 236 deletions

412
README.md
View File

@@ -1,205 +1,209 @@
# FoxBin2Prg v1.19.57 # FoxBin2Prg v1.19.57
**Binary/Text Converting program for Microsoft Visual FoxPro** **Binary/Text Converting program for Microsoft Visual FoxPro**
## Lutz Scheffler ## Lutz Scheffler
![VFPX Logo](https://vfpx.github.io/images/vfpxbanner_small.gif) ![VFPX Logo](https://vfpx.github.io/images/vfpxbanner_small.gif)
## Why this fork? ## Why this fork?
This is a fork of [Fernando D. Bozzo](https://github.com/fdbozzo) [foxbin2prg](https://github.com/fdbozzo/foxbin2prg/). This is a fork of [Fernando D. Bozzo](https://github.com/fdbozzo) [foxbin2prg](https://github.com/fdbozzo/foxbin2prg/).
It's main purpose it's to fix some bugs and add some new functions. It looks like Fernando does not longer maintain FoxBin2Prg, It's main purpose it's to fix some bugs and add some new functions. It looks like Fernando does not longer maintain FoxBin2Prg,
so, with his permission, I introduce this fork to [VFPX](https://vfpx.github.io/) ![VFPX Picture](./pictures/vfpxpoweredby_alternative.gif). so, with his permission, I introduce this fork to [VFPX](https://vfpx.github.io/) ![VFPX Picture](./pictures/vfpxpoweredby_alternative.gif).
I do not maintain the spanish documentation - it would fade. So just check Fernados repo for this information. I do not maintain the spanish documentation - it would fade. So just check Fernados repo for this information.
A quick run is [introduced](#use-foxbin2prg), more [complex](./Documentacion/github/FoxBin2prg_Run.md#usage-1), and a large [documentation](./Documentacion/github/FoxBin2prg.md) exists too. A quick run is [introduced](#use-foxbin2prg), more [complex](./Documentacion/github/FoxBin2prg_Run.md#usage-1), and a large [documentation](./Documentacion/github/FoxBin2prg.md) exists too.
Remember yourself to compile the exe first. Remember yourself to compile the exe first.
For a quick few of the changes made by the fork, see [Changes by the fork](#changes-by-the-fork). For a quick few of the changes made by the fork, see [Changes by the fork](#changes-by-the-fork).
--- ---
--- ---
If you like to see Fernandos blog, or value his work: If you like to see Fernandos blog, or value his work:
- Blog: http://fdbozzo.blogspot.com.es/ - Blog: http://fdbozzo.blogspot.com.es/
- [![DONATE!](http://www.pngall.com/wp-content/uploads/2016/05/PayPal-Donate-Button-PNG-File-180x100.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=fdbozzo%40gmail%2ecom&lc=ES&item_name=FoxBin2Prg&item_number=FoxBin2Prg&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) - [![DONATE!](http://www.pngall.com/wp-content/uploads/2016/05/PayPal-Donate-Button-PNG-File-180x100.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=fdbozzo%40gmail%2ecom&lc=ES&item_name=FoxBin2Prg&item_number=FoxBin2Prg&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted)
Thank you for your support! Thank you for your support!
--- ---
--- ---
If you like to value my work, support the Geeks at https://virtualfoxfest.com/ or www.swfox.net. If you like to value my work, support the Geeks at https://virtualfoxfest.com/ or www.swfox.net.
I also do not reject invitations to beer, Next autumn in Gilbert. I also do not reject invitations to beer, Next autumn in Gilbert.
--- ---
--- ---
## What is FOXBIN2PRG? ## What is FOXBIN2PRG?
It is a program intended to be used with **SCM tools** (Source Code Managers, like VSS, CVS, SVN) It is a program intended to be used with **SCM tools** (Source Code Managers, like VSS, CVS, SVN)
and *DVCS tools* (Version Control Systems such as Git, Mercurial, Plastic, and others), and *DVCS tools* (Version Control Systems such as Git, Mercurial, Plastic, and others),
or as **standalone** program for **Diff** (viewing differences) and **Merge** operations. or as **standalone** program for **Diff** (viewing differences) and **Merge** operations.
Foxbin2prg can substitute for **SccText/X**, **TwoFox** and others, Foxbin2prg can substitute for **SccText/X**, **TwoFox** and others,
and enhance their functionality, generating bidirectional PRG-Style versions of Foxpro binary files that allow recreating the original binary file. and enhance their functionality, generating bidirectional PRG-Style versions of Foxpro binary files that allow recreating the original binary file.
## Advantages: ## Advantages:
* It generates "PRG" _style_ text files from Foxpro binary files for use in SCM and VCS systems and for visual comparison. * It generates "PRG" _style_ text files from Foxpro binary files for use in SCM and VCS systems and for visual comparison.
(it's not really a prg, and can not be compiled, but it reads like one to Foxpro developers.) (it's not really a prg, and can not be compiled, but it reads like one to Foxpro developers.)
* It enables the change of the Text version as easy as modifying a PRG. * It enables the change of the Text version as easy as modifying a PRG.
* All the program code for any binary file (a form, a report, a class) is in just one text file, to simplify its maintainability. * All the program code for any binary file (a form, a report, a class) is in just one text file, to simplify its maintainability.
* You can regenerate the original binaries from the text files, so it is useful as backup * You can regenerate the original binaries from the text files, so it is useful as backup
* The extensions are configurable if you create a FOXBIN2PRG.CFG file * The extensions are configurable if you create a FOXBIN2PRG.CFG file
* Inheritance of CFG configuration files between directories * Inheritance of CFG configuration files between directories
* Methods and properties of Text versions are alphabetically sorted for easy comparison * Methods and properties of Text versions are alphabetically sorted for easy comparison
* You can set the "UseClassPerFile" setting to create individual files by class or DBC member. * You can set the "UseClassPerFile" setting to create individual files by class or DBC member.
(Which violates number three above, but it may be what you want.) (Which violates number three above, but it may be what you want.)
* Takes advantage of the Win32 API using foxbin2prg as an object * Takes advantage of the Win32 API using foxbin2prg as an object
* It has compatibility with SccText/X at the parameter level so that it can be used as substitute for SccText with SourceSafe. (Not that we recommend SourceSafe.) * It has compatibility with SccText/X at the parameter level so that it can be used as substitute for SccText with SourceSafe. (Not that we recommend SourceSafe.)
* Productivity: You can create a shortcut in the "SendTo" folder on your user Windows Profile, so you can "send" the selected file (pjx,pj2,etc) to Foxbin2prg.exe and make on-the-fly conversions * Productivity: You can create a shortcut in the "SendTo" folder on your user Windows Profile, so you can "send" the selected file (pjx,pj2,etc) to Foxbin2prg.exe and make on-the-fly conversions
* You can modify the TX2 Prg-Style versions of your objects with MODIFY COMMAND (without compile) to see colored syntax, or even use the Document View to navigate the procedures * You can modify the TX2 Prg-Style versions of your objects with MODIFY COMMAND (without compile) to see colored syntax, or even use the Document View to navigate the procedures
* Get back your SourceSafe projects (.pjx) from their .pjm file * Get back your SourceSafe projects (.pjx) from their .pjm file
The program supports conversions between PJX,SCX,VCX,FRX,LBX,DBC,DBF and MNX files, for which it generates TEXT versions with extension PJ2,SC2,VC2,FR2,LB2,DC2,DB2 and MN2. If you want, the created text file extensions can be reconfigured to be compatibilize with SourceSafe. The program supports conversions between PJX,SCX,VCX,FRX,LBX,DBC,DBF and MNX files, for which it generates TEXT versions with extension PJ2,SC2,VC2,FR2,LB2,DC2,DB2 and MN2. If you want, the created text file extensions can be reconfigured to be compatibilize with SourceSafe.
## Examples ## Examples
### Redefine extensions of _Text_ ### Redefine extensions of _Text_
Here is an example of a FOXBIN2PRG.CFG configuration file if you need to change extensions for using it with a specific VSS (SourceSafe) Here is an example of a FOXBIN2PRG.CFG configuration file if you need to change extensions for using it with a specific VSS (SourceSafe)
``` ```
extension: SC2=SCA extension: SC2=SCA
extension: VC2=VCA extension: VC2=VCA
extension: PJ2=PJA extension: PJ2=PJA
extension: MN2=MNA extension: MN2=MNA
extension: FR2=FRA extension: FR2=FRA
extension: LB2=LBA extension: LB2=LBA
extension: DB2=DBA extension: DB2=DBA
extension: DC2=DCA extension: DC2=DCA
``` ```
### Use FoxBin2Prg ### Use FoxBin2Prg
``` ```
DO FOXBIN2PRG.PRG WITH "<path>\archivo.scx" ==> Generates the TEXT version sc2 extension DO FOXBIN2PRG.PRG WITH "<path>\archivo.scx" ==> Generates the TEXT version sc2 extension
DO FOXBIN2PRG.PRG WITH "<path>\archivo.sc2" ==> Regenerates the binary version with scx extension DO FOXBIN2PRG.PRG WITH "<path>\archivo.sc2" ==> Regenerates the binary version with scx extension
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 settings
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
``` ```
### Use with MS Windows SendTo ### Use with MS Windows SendTo
You can create up to three different shortcuts pointing to FoxBin2Prg.exe and in your "SendTo" folder in your Windows profile. This allows you to "send" a selected file (pjx,pj2,etc) to the selected option, and make on-the-fly conversions. (Make sure you have the option for seeing known file extensions turned on!): You can create up to three different shortcuts pointing to FoxBin2Prg.exe and in your "SendTo" folder in your Windows profile. This allows you to "send" a selected file (pjx,pj2,etc) to the selected option, and make on-the-fly conversions. (Make sure you have the option for seeing known file extensions turned on!):
#### Process directories or individual files to _Text_ #### Process directories or individual files to _Text_
- Name: - Name:
`FoxBin2Prg - Binary2Text.lnk` `FoxBin2Prg - Binary2Text.lnk`
- Right-click/Properties/destination_ - Right-click/Properties/destination_
`<path>\foxbin2prg.exe "BIN2PRG-SHOWMSG"` `<path>\foxbin2prg.exe "BIN2PRG-SHOWMSG"`
#### Process directories or individual files to _Binary_ #### Process directories or individual files to _Binary_
- Name: - Name:
`FoxBin2Prg - Text2Binary.lnk` `FoxBin2Prg - Text2Binary.lnk`
- Right-click/Properties/destination_ - Right-click/Properties/destination_
`<path>\foxbin2prg.exe "PRG2BIN-SHOWMSG"` `<path>\foxbin2prg.exe "PRG2BIN-SHOWMSG"`
#### Process individual files or directories asking what to convert #### Process individual files or directories asking what to convert
- Name: - Name:
`FoxBin2Prg.lnk` `FoxBin2Prg.lnk`
- Right-click/Properties/destination_ - Right-click/Properties/destination_
`<path>\foxbin2prg.exe "INTERACTIVE-SHOWMSG"` `<path>\foxbin2prg.exe "INTERACTIVE-SHOWMSG"`
##### How to use the links ##### How to use the links
Select a file, right-click, SendTo -> FoxBin2Prg Select a file, right-click, SendTo -> FoxBin2Prg
## LOCALIZATION: ## LOCALIZATION:
Is automatic starting at v1.19.38 (Languages: EN,ES,FR,DE) Is automatic starting at v1.19.38 (Languages: EN,ES,FR,DE)
## FINAL NOTE: ## FINAL NOTE:
This program is Open Source and "libre", and I don't make any guaranties that it fulfills your expectations or that it will be free of bugs. This program is Open Source and "libre", and I don't make any guaranties that it fulfills your expectations or that it will be free of bugs.
I will try to fix bugs if my obligations let me do it. I will try to fix bugs if my obligations let me do it.
## Project info and updates: ## Project info and updates:
Fernando D. Bozzo's repository at Github: https://github.com/fdbozzo/foxbin2prg Fernando D. Bozzo's repository at Github: https://github.com/fdbozzo/foxbin2prg
Lutz Scheffler's repository at Github: https://github.com/lscheffler/foxbin2prg Lutz Scheffler's repository at Github: https://github.com/lscheffler/foxbin2prg
## LICENCE: ## LICENCE:
This work is licensed under the Creative Commons Attribution 4.0 International License. This work is licensed under the Creative Commons Attribution 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.
--- ---
--- ---
## Changes by this fork (1.19.55) ## Changes in 1.19.58
To get the new settings in config file, use the new create-a-template function: * 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)
```
DO FOXBIN2PRG.PRG WITH "-c","template.cfg" ==> Generates a template for FoxBin2Prg.cfg config file with newest settings ## Changes by this fork (1.19.55)
DO FOXBIN2PRG.PRG WITH "-t","template.dbf.cfg" ==> Generates a template for table.dbf.cfg per table config file with newest settings To get the new settings in config file, use the new create-a-template function:
```
```
### Exe file DO FOXBIN2PRG.PRG WITH "-c","template.cfg" ==> Generates a template for FoxBin2Prg.cfg config file with newest settings
Removed exe file. Just a bloat of teh repo, any disciple of the Fox know how to create, if in need. DO FOXBIN2PRG.PRG WITH "-t","template.dbf.cfg" ==> Generates a template for table.dbf.cfg per table config file with newest settings
The prg works anyway. ```
### Split of container files ### Exe file
VCX, SCX and DBC are container that hold different items. There is was a single option to split them. Removed exe file. Just a bloat of teh repo, any disciple of the Fox know how to create, if in need.
The split of DBC the same way like VCX/SCX might not be the best choice under all circumstances. The prg works anyway.
New option _OldFilesPerDBC_ is set 1, _UseFilesPerDBC_, _RedirectFilePerDBCToMain_ and _ItemPerDBCCheck_ might be used to set the handling of the DBC.
Note that those options will be ignored, if _OldFilesPerDBC_ is 0 (default). ### Split of container files
**Check that changes will be reflected on running projects.** VCX, SCX and DBC are container that hold different items. There is was a single option to split them.
See [Internals](./Documentacion/github/FoxBin2prg_Internals.md#configuration-file). The split of DBC the same way like VCX/SCX might not be the best choice under all circumstances.
New option _OldFilesPerDBC_ is set 1, _UseFilesPerDBC_, _RedirectFilePerDBCToMain_ and _ItemPerDBCCheck_ might be used to set the handling of the DBC.
### Tanscoding of table fields with NoCPTrans Note that those options will be ignored, if _OldFilesPerDBC_ is 0 (default).
The function _DBF_BinChar_Base64: 0_ must be handled with care too. **Check that changes will be reflected on running projects.**
Tables must converted to _Text_ according. **It's not recommended for running projects. Handle with extra care otherwise.** See [Internals](./Documentacion/github/FoxBin2prg_Internals.md#configuration-file).
### Inclusion of deleted records ### Tanscoding of table fields with NoCPTrans
Sometimes information left in deleted (table) records is still valuable information. The function _DBF_BinChar_Base64: 0_ must be handled with care too.
The new option _DBF_IncludeDeleted_ allows to keep those records throug conversion. Tables must converted to _Text_ according. **It's not recommended for running projects. Handle with extra care otherwise.**
The data added by _DBF_IncludeDeleted: 1_ will be ignored by old versions generating _Binary_ files.
### Inclusion of deleted records
#### Recomendation Sometimes information left in deleted (table) records is still valuable information.
It's a good idea to have the _FoxBin2Prg.cfg_ per projekt and and source control, The new option _DBF_IncludeDeleted_ allows to keep those records throug conversion.
old commits / versions would have the old config. The data added by _DBF_IncludeDeleted: 1_ will be ignored by old versions generating _Binary_ files.
So the settings would fit the data and FoxBin2Prg could generate according to it.
#### Recomendation
### Fixes It's a good idea to have the _FoxBin2Prg.cfg_ per projekt and and source control,
Fixes only are in the fork branch of this repo. old commits / versions would have the old config.
So the settings would fit the data and FoxBin2Prg could generate according to it.
| Details |
| - | ### Fixes
| Added MEM and FKY options to config template and internal documentation | Fixes only are in the fork branch of this repo.
| Conversion prg -> vcx, files per class could create one class multiple times |
| Processing directory, flush log file after loop instead of file | | Details |
| Conversion prg -> dbf, fields with .NULL. value are incorectly recreated | | - |
| Minor translations | | Added MEM and FKY options to config template and internal documentation |
| Conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) | | Conversion prg -> vcx, files per class could create one class multiple times |
| DBF_Conversion_Condition, problem with macro expansion | | Processing directory, flush log file after loop instead of file |
| Bug on special setting for import in form file[.baseclass].class.vc2 | | Conversion prg -> dbf, fields with .NULL. value are incorectly recreated |
| Bug on RedirectClassType = 2 mixed up PATH | | Minor translations |
| Conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) |
### Features | DBF_Conversion_Condition, problem with macro expansion |
| Bug on special setting for import in form file[.baseclass].class.vc2 |
| Details | | Bug on RedirectClassType = 2 mixed up PATH |
| - |
| [Documentation](./Documentacion/github/FoxBin2prg.md) reworked. | ### Features
| German translation improved |
| Info screen-doc improved | | Details |
| 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 | | [Documentation](./Documentacion/github/FoxBin2prg.md) reworked. |
| Inserted option OldFilesPerDBC to control split of DBC, the options below are controled by this | | German translation improved |
| Inserted option UseFilesPerDBC to split DBC processing from vcx / scx | | Info screen-doc improved |
| Inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx | | Inserted option DBF_IncludeDeleted to allow including deleted records of DBF |
| Inserted option ItemPerDBCCheck to split DBC processing from vcx / scx | | Inserted option DBF_BinChar_Base64 to allow processing of NoCPTrans fields in non base64 way |
| added option to create config file template | | Inserted option OldFilesPerDBC to control split of DBC, the options below are controled by this |
| New value 2 for option RedirectClassType. Alter single class for input form file[.baseclass].class.vc2 | | 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 |
# Folder information
Project to generate text representations of VFP binary sources for source control
---
## ./ ---
This folder containes the files necessary to run FoxBin2Prg.prg or to create the FoxBin2Prg.exe # Folder information
Project to generate text representations of VFP binary sources for source control
For usage see [documentation](./Documentacion/github/FoxBin2prg.md)
## ./
---- This folder containes the files necessary to run FoxBin2Prg.prg or to create the FoxBin2Prg.exe
For usage see [documentation](./Documentacion/github/FoxBin2prg.md)
----
Last changed: _2021/03/05_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/05_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

Binary file not shown.

View File

@@ -1,11 +1,7 @@
lparameters toUpdateObject lparameters toUpdateObject
local ldDate, ; local ldDate
lnJulian, ; ldDate = date()
lcJulian toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.58' + ;
ldDate = date(2018,7,31)
lnJulian = val(sys(11, ldDate)) - val(sys(11, {^2000-01-01}))
lcJulian = padl(transform(lnJulian), 4, '0')
toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.51.4' + lcJulian + ;
'-update-' + dtoc(ldDate, 1) '-update-' + dtoc(ldDate, 1)
return toUpdateObject return toUpdateObject

View File

@@ -1,5 +1,5 @@
appName = FoxBin2Prg appName = FoxBin2Prg
appID = FoxBin2Prg appID = FoxBin2Prg
majorVersion = 1.19.51.5 majorVersion = 1.19.58
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.* 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.*
excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test* excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test*

View File

@@ -1,6 +1,6 @@
*################################################################################################################ *################################################################################################################
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS) *FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
*Version: v1.21.2 *Version: v1.19.58
*################################################################################################################ *################################################################################################################
*extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom) *extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom)
@@ -18,6 +18,7 @@
*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Espa<70>ol, DE=German, Not defined = AUTOMATIC [DEFAULT] *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 *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 *PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment
*HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
*-- Convertion options: *-- Convertion options:
*PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) *PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -247,8 +247,8 @@
* fails silent if classlib.vcx exists (compiles wrong lib), with message if not. * fails silent if classlib.vcx exists (compiles wrong lib), with message if not.
* 04/03/2021 LScheffler v1.19.56 Enhancement: New value for RedirectClassType = 2, just process the single class of classlib.class.vc2 * 04/03/2021 LScheffler v1.19.56 Enhancement: New value for RedirectClassType = 2, just process the single class of classlib.class.vc2
* 04/03/2021 LScheffler v1.19.57 Bug Fix: For RedirectClassType = 2, Path was set wrong * 04/03/2021 LScheffler v1.19.57 Bug Fix: For RedirectClassType = 2, Path was set wrong
* 2021-03-04 DH v1.19.58 Enhancement: added support for writing to a different folder than the source code (Doug Hennig)
* 2021-03-04 DH v1.19.58 Enhancement: added configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (Doug Hennig)
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES> * </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
* *
*--------------------------------------------------------------------------------------------------- *---------------------------------------------------------------------------------------------------
@@ -415,11 +415,14 @@
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usará como base para recompilar * NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usará como base para recompilar
* tcNoTimestamps (v? IN ) Indica si se debe anular el timestamp ('1') o no ('0' ó vacío) * tcNoTimestamps (v? IN ) Indica si se debe anular el timestamp ('1') o no ('0' ó vacío)
* tcCFG_File (v? IN ) Indica si se debe usar un archivo de configuración distinto al predeterminado * tcCFG_File (v? IN ) Indica si se debe usar un archivo de configuración distinto al predeterminado
*** DH 2021-03-04: added tcOutputFolder parameter
* tcOutputFolder (v? IN ) The output folder to write to (optional: if it isn't specified, the same folder as the source is used)
*--------------------------------------------------------------------------------------------------- *---------------------------------------------------------------------------------------------------
* Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX" * Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX"
*--------------------------------------------------------------------------------------------------- *---------------------------------------------------------------------------------------------------
*** DH 2021-03-04: added tcOutputFolder parameter
Lparameters tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName ; Lparameters tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName ;
, tcRecompile, tcNoTimestamps, tcCFG_File , tcRecompile, tcNoTimestamps, tcCFG_File, tcOutputFolder
*-- NO modificar! / Do NOT change! *-- NO modificar! / Do NOT change!
#Define C_CMT_I '*--' #Define C_CMT_I '*--'
@@ -659,20 +662,25 @@ Endif
*!* /Changed by: Lutz Scheffler 15.2.2021 *!* /Changed by: Lutz Scheffler 15.2.2021
Try Try
loEx = Null loEx = Null
loCnv = Createobject("c_foxbin2prg") loCnv = Createobject("c_foxbin2prg")
lnResp = loCnv.execute( tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug ; *** DH 2021-03-04: handle tcOutputFolder
, tcDontShowProgress, Null, @loEx, .F., tcOriginalFileName, tcRecompile, tcNoTimestamps ; if not empty(tcOutputFolder)
, .F., .F., .F., tcCFG_File ) loCnv.cOutputFolder = tcOutputFolder
Catch To loEx endif not empty(tcOutputFolder)
*** DH 2021-03-04: end of new code
lnResp = loCnv.execute( tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug ;
, tcDontShowProgress, Null, @loEx, .F., tcOriginalFileName, tcRecompile, tcNoTimestamps ;
, .F., .F., .F., tcCFG_File )
Catch To loEx
*-- Esto solo es para errores en el INIT, ya que los demás se deben capturar y tratar antes. *-- Esto solo es para errores en el INIT, ya que los demás se deben capturar y tratar antes.
lnResp = loEx.ErrorNo lnResp = loEx.ErrorNo
Messagebox( 'Error ' + Transform(loEx.ErrorNo) + ', ' + loEx.Message + C_CR ; Messagebox( 'Error ' + Transform(loEx.ErrorNo) + ', ' + loEx.Message + C_CR ;
+ loEx.Procedure + ', Line ' + Transform(loEx.Lineno) + C_CR ; + loEx.Procedure + ', Line ' + Transform(loEx.Lineno) + C_CR ;
+ loEx.Details ; + loEx.Details ;
, 0+16+4096 ; , 0+16+4096 ;
, '' ; , '' ;
, 60000 ) , 60000 )
Endtry Endtry
AddProperty(_Screen, 'ExitCode', lnResp) AddProperty(_Screen, 'ExitCode', lnResp)
@@ -850,7 +858,7 @@ Define Class c_foxbin2prg As Session
Protected n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess Protected n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess
*-- *--
n_FB2PRG_Version = 1.19 n_FB2PRG_Version = 1.19
c_FB2PRG_Version_Real = '1.19.57' c_FB2PRG_Version_Real = '1.19.58'
*-- *--
c_Language = '' && EN, FR, ES, DE c_Language = '' && EN, FR, ES, DE
c_SimulateError = '' && SIMERR_I0, SIMERR_I1, SIMERR_O1 c_SimulateError = '' && SIMERR_I0, SIMERR_I1, SIMERR_O1
@@ -959,7 +967,9 @@ Define Class c_foxbin2prg As Session
DBC_Conversion_Support = 2 DBC_Conversion_Support = 2
DBF_Conversion_Included = '' DBF_Conversion_Included = ''
DBF_Conversion_Excluded = '' DBF_Conversion_Excluded = ''
*** DH 2021-03-04: added cOutputFolder and n_HomeDir properties
cOutputFolder = '' && the folder to write files to (blank = same folder as source file)
n_HomeDir = 1 && 0 = don't save HomeDir in PJ2, 1 = save HomeDir in PJ2
Procedure Init Procedure Init
Lparameters tcCFG_File, tcCancelWithEscKey Lparameters tcCFG_File, tcCancelWithEscKey
@@ -1711,6 +1721,17 @@ Define Class c_foxbin2prg As Session
Endproc Endproc
*** DH 2021-03-04: added n_HomeDir_Access
PROCEDURE n_HomeDir_ACCESS
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
RETURN THIS.n_HomeDir
ELSE
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).n_HomeDir, THIS.n_HomeDir )
ENDIF
ENDPROC
*** DH 2021-03-04: end of new code
Procedure changeFileAttribute Procedure changeFileAttribute
* Using Win32 Functions in Visual FoxPro * Using Win32 Functions in Visual FoxPro
* example=103 * example=103
@@ -2590,6 +2611,15 @@ Define Class c_foxbin2prg As Session
lo_CFG.n_PRG_Compat_Level = Int( Val( lcValue ) ) lo_CFG.n_PRG_Compat_Level = Int( Val( lcValue ) )
.writeLog( C_TAB + Justfname(lcConfigFile) + ' > PRG_Compat_Level: ' + Transform(lo_CFG.n_PRG_Compat_Level) ) .writeLog( C_TAB + Justfname(lcConfigFile) + ' > PRG_Compat_Level: ' + Transform(lo_CFG.n_PRG_Compat_Level) )
*** DH 2021-03-04: handle n_HomeDir configuration setting
CASE LEFT( laConfig(m.I), 8 ) == LOWER('HomeDir:')
lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 9 ) )
IF INLIST( lcValue, '0', '1' ) THEN
lo_CFG.n_HomeDir = INT( VAL( lcValue ) )
.writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > HomeDir: ' + TRANSFORM(lo_CFG.n_HomeDir) )
ENDIF
*** DH 2021-03-04: end of new code
Endcase Endcase
Endfor Endfor
@@ -4461,6 +4491,9 @@ Define Class c_foxbin2prg As Session
Endcase Endcase
*** DH 2021-03-04: handle cOutputFolder
loConversor.cOutputFolder = This.cOutputFolder
*-- Optimización: Comparación de los timestamps de InputFile y OutputFile para saber *-- Optimización: Comparación de los timestamps de InputFile y OutputFile para saber
*-- si el OutputFile se debe regenerar o no. *-- si el OutputFile se debe regenerar o no.
lnFileCount = Adir( laFiles, Forceext( .c_InputFile, '*' ), '', 1 ) lnFileCount = Adir( laFiles, Forceext( .c_InputFile, '*' ), '', 1 )
@@ -6529,6 +6562,8 @@ Define Class c_conversor_base As Custom
c_ClaseActual = '' c_ClaseActual = ''
oFSO = Null oFSO = Null
n_Methods_LineNo = 0 && Número de línea del error dentro de "Methods" n_Methods_LineNo = 0 && Número de línea del error dentro de "Methods"
*** DH 2021-03-04: added cOutputFolder property
cOutputFolder = ''
@@ -15931,6 +15966,12 @@ Define Class c_conversor_bin_a_prg As c_conversor_base
Local lcExpanded, llFileExists, lnBytes, lcOutputFile, laDirFile(1,5) ; Local lcExpanded, llFileExists, lnBytes, lcOutputFile, laDirFile(1,5) ;
, loLang As CL_LANG Of 'FOXBIN2PRG.PRG' , loLang As CL_LANG Of 'FOXBIN2PRG.PRG'
*** DH 2021-03-04: handle cOutputFolder
if not empty(This.cOutputFolder)
tcOutputFile = forcepath(tcOutputFile, This.cOutputFolder)
endif not empty(This.cOutputFolder)
*** DH 2021-03-04: end of new code
lcExpanded = Iif( '.' $ Juststem(tcOutputFile), 'X1', 'X0' ) lcExpanded = Iif( '.' $ Juststem(tcOutputFile), 'X1', 'X0' )
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded ) *-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
@@ -16849,9 +16890,19 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg
*-- Generación del proyecto *-- Generación del proyecto
*** DH 2021-03-04: only output HomeDir if we're supposed to
if toFoxBin2Prg.n_HomeDir = 1
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<C_BUILDPROJ_I>> <<C_BUILDPROJ_I>>
<<>>*<.HomeDir = <<loProject._HomeDir>> /> <<>>*<.HomeDir = <<loProject._HomeDir>> />
ENDTEXT
else
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<C_BUILDPROJ_I>>
ENDTEXT
endif toFoxBin2Prg.n_HomeDir = 1
*** DH 2021-03-04: end of updated code
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> <<>>
FOR EACH loProject IN _VFP.Projects FOXOBJECT FOR EACH loProject IN _VFP.Projects FOXOBJECT
<<>> loProject.Close() <<>> loProject.Close()
@@ -17409,9 +17460,19 @@ Define Class c_conversor_pjm_a_prg As c_conversor_bin_a_prg
With This As c_conversor_pjm_a_prg Of 'FOXBIN2PRG.PRG' With This As c_conversor_pjm_a_prg Of 'FOXBIN2PRG.PRG'
*-- Generación del proyecto *-- Generación del proyecto
*** DH 2021-03-04: only output HomeDir if we're supposed to
if toFoxBin2Prg.n_HomeDir = 1
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<C_BUILDPROJ_I>> <<C_BUILDPROJ_I>>
<<>>*<.HomeDir = <<loProject._HomeDir>> /> <<>>*<.HomeDir = <<loProject._HomeDir>> />
ENDTEXT
else
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<C_BUILDPROJ_I>>
ENDTEXT
endif toFoxBin2Prg.n_HomeDir = 1
*** DH 2021-03-04: end of updated code
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> <<>>
FOR EACH loProject IN _VFP.Projects FOXOBJECT FOR EACH loProject IN _VFP.Projects FOXOBJECT
<<>> loProject.Close() <<>> loProject.Close()
@@ -29089,6 +29150,8 @@ Define Class CL_CFG As Custom
DBC_Conversion_Support = Null DBC_Conversion_Support = Null
c_BackgroundImage = Null c_BackgroundImage = Null
n_PRG_Compat_Level = Null n_PRG_Compat_Level = Null
*** DH 2021-03-04: added n_HomeDir property
n_HomeDir = NULL
Procedure CopyFrom Procedure CopyFrom
@@ -29152,6 +29215,8 @@ Define Class CL_CFG As Custom
.DBC_Conversion_Support = toParentCFG.DBC_Conversion_Support .DBC_Conversion_Support = toParentCFG.DBC_Conversion_Support
.c_BackgroundImage = toParentCFG.c_BackgroundImage .c_BackgroundImage = toParentCFG.c_BackgroundImage
.n_PRG_Compat_Level = toParentCFG.n_PRG_Compat_Level .n_PRG_Compat_Level = toParentCFG.n_PRG_Compat_Level
*** DH 2021-03-04: handle n_HomeDir
.n_HomeDir = toParentCFG.n_HomeDir
Endwith Endwith
Endproc Endproc
@@ -29322,7 +29387,6 @@ Define Class CL_LANG As Custom
.C_FILENAME_LOC = "Fichier" .C_FILENAME_LOC = "Fichier"
.C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERREUR" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERREUR"
.C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO" .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO"
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) <<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25)
<<>> <<>>
@@ -29355,6 +29419,7 @@ Define Class CL_LANG As Custom
<<>> <<>>
<<>> <<>>
ENDTEXT ENDTEXT
*** DH 2021-03-04: added HomeDir to text
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>################################################################################################################ <<>>################################################################################################################
<<>>FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS) <<>>FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
@@ -29376,6 +29441,7 @@ Define Class CL_LANG As Custom
<<>>Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT] <<>>Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT]
<<>>ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2 <<>>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 <<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment
<<>>HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
<<>> <<>>
<<>>-- Convertion options: <<>>-- Convertion options:
<<>>PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) <<>>PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
@@ -29564,6 +29630,7 @@ Define Class CL_LANG As Custom
<<>> <<>>
<<>> <<>>
ENDTEXT ENDTEXT
*** DH 2021-03-04: added HomeDir to text
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>################################################################################################################ <<>>################################################################################################################
<<>>FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS) <<>>FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
@@ -29585,6 +29652,7 @@ Define Class CL_LANG As Custom
<<>>Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT] <<>>Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT]
<<>>ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2 <<>>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 <<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment
<<>>HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
<<>> <<>>
<<>>-- Convertion options: <<>>-- Convertion options:
<<>>PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) <<>>PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
@@ -29774,6 +29842,7 @@ Define Class CL_LANG As Custom
<<>>cCFG_File: Legt eine alternative Configurationsdate (CFG) fest, die statt der im foxbin2prg Verzeichnis genutzt werden soll. (Anm. des Übersetzers: Keine Angabe über Vererbung in der Verzeichnishierarchie) <<>>cCFG_File: Legt eine alternative Configurationsdate (CFG) fest, die statt der im foxbin2prg Verzeichnis genutzt werden soll. (Anm. des Übersetzers: Keine Angabe über Vererbung in der Verzeichnishierarchie)
<<>> <<>>
ENDTEXT ENDTEXT
*** DH 2021-03-04: added HomeDir to text
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>################################################################################################################ <<>>################################################################################################################
<<>>FOXBIN2PRG.CFG Konfigurations Optionen: (Wird die Option nicht aufgeführt, ist der Wert im Beispiel der Default) <<>>FOXBIN2PRG.CFG Konfigurations Optionen: (Wird die Option nicht aufgeführt, ist der Wert im Beispiel der Default)
@@ -29805,6 +29874,7 @@ Define Class CL_LANG As Custom
<<>>Language: (auto) && Sprache für Anzeigen und Logs. EN=English, FR=Français, ES=Español, DE=Deutsch, Nicht definiert = Automatisch [DEFAULT] <<>>Language: (auto) && Sprache für Anzeigen und Logs. EN=English, FR=Français, ES=Español, DE=Deutsch, Nicht definiert = Automatisch [DEFAULT]
<<>>ExcludeDBFAutoincNextval: 0 && 0=Aus, 1=Entferne diesen Wert aus der Textdate der Datenbank (db2) <<>>ExcludeDBFAutoincNextval: 0 && 0=Aus, 1=Entferne diesen Wert aus der Textdate der Datenbank (db2)
<<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Nutze HELPSTRING als Class Procedure Kommentar <<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Nutze HELPSTRING als Class Procedure Kommentar
<<>>HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
<<>> <<>>
<<>>---------------------------------------------------------------------------------------------------------------- <<>>----------------------------------------------------------------------------------------------------------------
<<>>-- Konvertierungs Optionen: <<>>-- Konvertierungs Optionen:
@@ -30022,6 +30092,7 @@ Define Class CL_LANG As Custom
<<>> <<>>
<<>> <<>>
ENDTEXT ENDTEXT
*** DH 2021-03-04: added HomeDir to text
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>################################################################################################################ <<>>################################################################################################################
<<>>FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS) <<>>FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
@@ -30043,6 +30114,7 @@ Define Class CL_LANG As Custom
<<>>Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT] <<>>Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT]
<<>>ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2 <<>>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 <<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment
<<>>HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
<<>> <<>>
<<>>-- Convertion options: <<>>-- Convertion options:
<<>>PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) <<>>PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)