diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 4aeaff6..65c1e23 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -31,10 +31,10 @@ Stuff is a bit scattered, so this is where to look up. 1. Please create a fork at github - See this [guide](https://www.dataschool.io/how-to-contribute-on-github/) for setting up and using a fork - If allready forked, pull the recent state, or get most recent version otherwise. -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. +0. On top of _FoxBin2Prg.prg_ there are two version numbers: +`#DEFINE DN_FB2PRG_VERSION 1.19` +`#DEFINE DC_FB2PRG_VERSION_REAL '1.19.60'` +1. Please set the **minor** part of _DC_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_. @@ -50,6 +50,12 @@ Stuff is a bit scattered, so this is where to look up. - Do this even if no change to the setting to change the version number inside this files. - Or change version number in those files manually - **Note**. If you are not on an English comp, set the value _Language: EN_ in your local _foxbin2prg.cfg_ to create English files. + - run like: + ``` + CD Path_Top_Project + DO FoxBin2Prg.prg WITH "-c","foxbin2prg.cfg.txt" + DO FoxBin2Prg.prg WITH "-t","foxbin2prg.dbc.txt" + ``` 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 in _docs_ folder. 2. Alter the version number for the EXE to the version used above. @@ -76,4 +82,4 @@ In special: Thanks ---- -Last changed: _2023/03/16_ ![Picture](../docs/pictures/vfpxpoweredby_alternative.gif) +Last changed: _2023/03/20_ ![Picture](../docs/pictures/vfpxpoweredby_alternative.gif) diff --git a/README.md b/README.md index a6361a4..53b5405 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# FoxBin2Prg v1.19.77 +# FoxBin2Prg v1.19.78 **Binary/Text Converting program for Microsoft Visual FoxPro** ## Lutz Scheffler @@ -148,4 +148,4 @@ See [issue #93](https://github.com/fdbozzo/foxbin2prg/issues/93). ## Usage For usage see [documentation](./docs/FoxBin2Prg.md) -Last changed: _2023/03/16_ ![Picture](./docs/pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2023/03/20_ ![Picture](./docs/pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/ThorUpdater/FoxBin2Prg.zip b/ThorUpdater/FoxBin2Prg.zip index adb6977..88dc3c6 100644 Binary files a/ThorUpdater/FoxBin2Prg.zip and b/ThorUpdater/FoxBin2Prg.zip differ diff --git a/ThorUpdater/FoxBin2PrgVersion.txt b/ThorUpdater/FoxBin2PrgVersion.txt index 2b27508..c3b56b1 100644 --- a/ThorUpdater/FoxBin2PrgVersion.txt +++ b/ThorUpdater/FoxBin2PrgVersion.txt @@ -10,8 +10,8 @@ local; lcappName = "FoxBin2Prg" *Set following two numbers on version -ldDate = date(2023,03,16) -lcmajorVersion = "1.19.77" +ldDate = date(2023,03,20) +lcmajorVersion = "1.19.78" *lnJulian = val(sys(11, m.ldDate)) - val(sys(11, {^2000-01-01})) *lcJulian = padl(transform(lnJulian), 4, '0') @@ -39,6 +39,9 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg +++++++++++++++++++++++ Change History +++++++++++++++++++++++ +2023-03-20 v1.19.78 +**Enhancement**: Text2Bin on PJX errors out for projects with an attach icon that has a drive letter on its path. #93 (ericbarte) + 2023-03-16 v1.19.77 - Bug Fix: Bin2Txt Operation on VCX loses leading spaces in Property Values #90 (JoergSchneider) - Bug Fix: Txt2Bin Operation on VCX looses double ampersand in Property Values #91 (LScheffler) diff --git a/ThorUpdater/Project.txt b/ThorUpdater/Project.txt index a11920d..8f0f81d 100644 --- a/ThorUpdater/Project.txt +++ b/ThorUpdater/Project.txt @@ -1,5 +1,5 @@ appName = FoxBin2Prg appID = FoxBin2Prg -majorVersion = 1.19.77 +majorVersion = 1.19.78 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* diff --git a/docs/FoxBin2Prg.md b/docs/FoxBin2Prg.md index 6480e70..ca3f176 100644 --- a/docs/FoxBin2Prg.md +++ b/docs/FoxBin2Prg.md @@ -1,4 +1,4 @@ -# Home +# FoxBin2Prg Home Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9 ## Purpose of this document @@ -91,4 +91,4 @@ FoxBin2Prg can be used in tree ways: This project is part of [VFPX](https://vfpx.github.io/). ---- -Last changed: _2023/03/16_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2023/03/20_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/docs/FoxBin2Prg_Changes.md b/docs/FoxBin2Prg_Changes.md index 6e42eb0..c2d9524 100644 --- a/docs/FoxBin2Prg_Changes.md +++ b/docs/FoxBin2Prg_Changes.md @@ -1,4 +1,4 @@ -# Change log +# FoxBin2Prg Change log Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9 ## Purpose of this document @@ -27,6 +27,8 @@ _**Note:** you can click on the version number for downloading this version from | Rel.Date | Developer | Version | Details | | - | - | - | - | +| 2023/03/20 | LScheffler | [v1.19.78](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.78) | **Enhancement**: Text2Bin on PJX errors out for projects with an attach icon that has a drive letter on its path. #93 (ericbarte) | +| | | | **Enhancement**: Documentation enhanced | | 2023/03/16 | LScheffler | [v1.19.77](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.77) | **Bug Fix**: Bin2Txt Operation on VCX loses leading spaces in Property Values #90 (JoergSchneider) | | | | | **Bug Fix**: Txt2Bin Operation on VCX looses double ampersand in Property Values #91 (LScheffler) | | 2022/11/09 | LScheffler | Docu | **Enhancement**: Documentation for git on handling line endings | diff --git a/docs/FoxBin2Prg_Internals.md b/docs/FoxBin2Prg_Internals.md index 94f209b..57f3b22 100644 --- a/docs/FoxBin2Prg_Internals.md +++ b/docs/FoxBin2Prg_Internals.md @@ -1,4 +1,4 @@ -# Internals +# FoxBin2Prg Internals Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9 ## Purpose of this document @@ -30,6 +30,7 @@ As far as possible these are the original documents. Changes are added where fun - [Multi-config](#multi-config) - [File Capitalization](#file-capitalization) - [Conversion processes Logging](#conversion-processes-logging) + - [Storing paths for pjx](#storing-paths-for pjx) - [Create Class-Per-File](#create-class-per-file) - [Complementary options for the UseClassPerFile setting](#complementary-options-for-the-useclassperfile-setting) - [RedirectClassPerFileToMain](#redirectclassperfiletomain) @@ -127,6 +128,8 @@ These are the FoxBin2Prg.cfg configuration file settings and their meaning: | FKY_Conversion_Support | 0, _1_ | Default value is 1 - _Text_ support activated | | MEM_Conversion_Support | 0, _1_ | Default value is 1 - _Text_ support activated | ||| +| CheckFileInPath | _0_, 1, 2, 3 |Determines how 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths.
0 = Ignore. Default
1 = Check and error out if file is not on same structure (for source control)
2 = Create absolute path if file is on different drive.
3 = Create absolute path if file is not in structure
See [Storing paths for pjx](#storing-paths-for-pjx) | +||| | UseClassPerFile | _0_, 1, 2 | 0=One library _Text_ file,
1=Multiple file.class.vc2 files,
2=Multiple file.baseclass.class.vc2 files
See [Create Class-Per-File](#create-class-per-file) | | [RedirectClassPerFileToMain:](#redirectclassperfiletomain:) | _0_, 1 | 0=Don't redirect to file.vc2,
1=Redirect to file.vc2 when selecting file.class.vc2
RedirectClassType: 1 precedes this setting | | RedirectClassType | _0_, 1, 2 | For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 (vcx only) | @@ -452,6 +455,23 @@ to see all internal processes, decisions and used optimizations, you can enable Debug messages are translated (+90% of debug messages), but capitalization process messages are not, and are available just in Spanish (-10% of debug messages). +### Storing paths for pjx +The project is basicaly designed to deal with a file structure where all files of a PJX +are on the same folder or within the subfolders of the PJX. +This looks like the most usefull way when using source control systems. +Any way, some prefer to spread there files over different drives. +In default mode, this will fail on recreating the PJX. +The default is kept because it's the fastest way, and recreating projects on forks or different comps might break the drives. +If files must be stored outside the structure, +an option allows to store absolute paths for files not in the folder structure **only* in pj2 file. +To configure this, starting with v1.19.78, you might enable it in foxbin2prg.cfg file: +```` +*CheckFileInPath: && 0 = Ignore. Default, 1 = Check and error out if file is not on same structure (for source control), 2 = Create absolute path if file is on different drive.,3 = Create absolute path if file is not in structure +```` +- 0 - the way FoxBin2Prg works all the time +- 1 - only testing. The process will stop if a file is not in the structure expected +- 2 - Use an absolute path do store file location in pjx if the file is stored on a different drive. +- 3 - Use an absolute path do store file location in pjx if the file is stored on a different drive or not in the folder structure but on same drive. ### Create Class-Per-File Starting at v1.19.37 you can configure FoxBin2Prg to generate one class per file using TwoFox naming style "basefile.class.vc2" with the value "1" @@ -724,4 +744,4 @@ See [FoxBin2Prg and use with git](./FoxBin2Prg_git.md) This project is part of [VFPX](https://vfpx.github.io/). ---- -Last changed: _2022/06/10_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2023/03/20_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/docs/FoxBin2Prg_Object.md b/docs/FoxBin2Prg_Object.md index d7535f3..bc678d2 100644 --- a/docs/FoxBin2Prg_Object.md +++ b/docs/FoxBin2Prg_Object.md @@ -1,4 +1,4 @@ -# Usage in object style +# FoxBin2Prg - Usage in object style Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9 ## Purpose of this document @@ -105,4 +105,4 @@ Return value is 0=OK, 1=Error. This project is part of [VFPX](https://vfpx.github.io/). ---- -Last changed: _2021/03/18_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2023/03/20_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/docs/FoxBin2Prg_Run.md b/docs/FoxBin2Prg_Run.md index 0c35638..4132cbb 100644 --- a/docs/FoxBin2Prg_Run.md +++ b/docs/FoxBin2Prg_Run.md @@ -1,4 +1,4 @@ -# Usage in command line style +# FoxBin2Prg - Usage in command line style Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9 ## Purpose of this document @@ -172,4 +172,4 @@ FoxBin2Prg.lnk \foxbin2prg.exe "INTERACTIVE-SHOWMSG" This project is part of [VFPX](https://vfpx.github.io/). ---- -Last changed: _2022/06/10_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2023/03/20_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/docs/FoxBin2Prg_SCM.md b/docs/FoxBin2Prg_SCM.md index 40b9954..df57988 100644 --- a/docs/FoxBin2Prg_SCM.md +++ b/docs/FoxBin2Prg_SCM.md @@ -1,4 +1,4 @@ -# Use with SCM +# FoxBin2Prg - Use with SCM Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9 ## Purpose of this document @@ -76,4 +76,4 @@ feel free to share how you are using it so others can benefit. This project is part of [VFPX](https://vfpx.github.io/). ---- -Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2023/03/20_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/docs/FoxBin2Prg_git.md b/docs/FoxBin2Prg_git.md index 165afbe..2266844 100644 --- a/docs/FoxBin2Prg_git.md +++ b/docs/FoxBin2Prg_git.md @@ -1,4 +1,4 @@ -# Use with git +# FoxBin2Prg - Use with git Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9 ## Purpose of this document @@ -419,4 +419,4 @@ All use off this are the last four lines. But I like to keep the template (recen This project is part of [VFPX](https://vfpx.github.io/). ---- -Last changed: _2022/11/09_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2023/03/20_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/foxbin2prg.cfg.txt b/foxbin2prg.cfg.txt index c814eef..5b31591 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.19.77 +*Version: v1.19.78 ***************************************************************************************************************** * Note, configuration files will follow an inheritance. @@ -39,6 +39,14 @@ *MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) *---------------------------------------------------------------------------------------------------------------- +*Setting for pjx files +*CheckFileInPath: 0 && Determines 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths. +* && 0 Ignore. Default +* && 1 Check and error out if file is not on same structure (for source control) +* && 2 Create absolute path if file is on different drive. +* && 3 Create absolute path if file is not in structure +*---------------------------------------------------------------------------------------------------------------- + *Setting for container files (not pjx) *-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX) *- Class per file options (UseClassPerFile: 1) diff --git a/foxbin2prg.dbc.txt b/foxbin2prg.dbc.txt new file mode 100644 index 0000000..a35f916 --- /dev/null +++ b/foxbin2prg.dbc.txt @@ -0,0 +1,12 @@ +*################################################################################################################ +*-- Individual DBF configuration file (syntax: filename.dbf.cfg) Defaults see FoxBin2prg.cfg +*Version: v1.19.78 +***************************************************************************************************************** + +*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: && Field expresion. ie: name+str(age,3) +*DBF_Conversion_Condition: && Logical expression. ie: age > 10 AND NOT DELETED() +*DBF_IndexList: && 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 +* \ No newline at end of file diff --git a/foxbin2prg.exe b/foxbin2prg.exe index b573411..305ef95 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index b6c7d72..940968d 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -26,7 +26,7 @@ _LegalTrademark = "MIT License" _ProductName = "FOXBIN2PRG" _MajorVer = "1" _MinorVer = "19" -_Revision = "77" +_Revision = "78" _LanguageID = "1034" _AutoIncrement = "0" * @@ -113,6 +113,7 @@ ENDWITH WITH loProject * .SetMain(lcCurdir + 'foxbin2prg.prg') + .Icon = lcCurdir + 'foxbin2prg.ico' .Debug = .T. .Encrypted = .F. diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index 572f32f..86a83e4 100644 Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index d17dfa4..cc858aa 100644 Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 0bd32d4..5325524 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -1,3 +1,6 @@ +#DEFINE DN_FB2PRG_VERSION 1.19 +#DEFINE DC_FB2PRG_VERSION_REAL '1.19.78' + *--------------------------------------------------------------------------------------------------- * Module.........: FOXBIN2PRG.PRG - FOR VISUAL FOXPRO 9.0 * Author.........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com) - http://fdbozzo.blogspot.com @@ -300,6 +303,7 @@ * 13/06/2022 LScheffler v1.19.76 Bug Fix: On operation per folder, change of folder must change configuration (JoergSchneider) * 16/03/2023 LScheffler v1.19.77 Bug Fix: Bin2Txt Operation on VCX loses leading spaces in Property Values #90 (JoergSchneider) * 16/03/2023 LScheffler v1.19.77 Bug Fix: Txt2Bin Operation on VCX looses double ampersand in Property Values #91 (LScheffler) +* 20/03/2023 LScheffler v1.19.78 Enhancement: Text2Bin on PJX errors out for projects with an attach icon that has a drive letter on its path. #93 (ericbarte) * * *--------------------------------------------------------------------------------------------------- @@ -474,6 +478,7 @@ * 10/06/2022 JoergSchneider Bug REPORT v1.19.75 On operation per folder, change of folder must change configuration (JoergSchneider) * 16/03/2023 JoergSchneider Bug REPORT v1.19.76 Bin2Txt Operation on VCX loses leading spaces in Property Values #90 (JoergSchneider) * 16/03/2023 LScheffler Bug REPORT v1.19.76 Txt2Bin Operation on VCX looses double ampersand in Property Values #91 (LScheffler) +* 17/03/2023 ericbarte Bug REPORT v1.19.76 Text2Bin on PJX errors out for projects with an attach icon that has a drive letter on its path. #93 (ericbarte) * * *--------------------------------------------------------------------------------------------------- @@ -990,13 +995,13 @@ Define Class c_foxbin2prg As Session *!* + [] ; *!* + [] ; *!* + [] ; -*!* ;&& /SF +*!* + [] ; Dimension a_ProcessedFiles(1, 6) Protected n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess *-- - n_FB2PRG_Version = 1.19 - c_FB2PRG_Version_Real = '1.19.77' + n_FB2PRG_Version = DN_FB2PRG_VERSION + c_FB2PRG_Version_Real = DC_FB2PRG_VERSION_REAL *-- c_Language = '' && EN, FR, ES, DE c_Language_In = '(auto)' @@ -1053,6 +1058,11 @@ Define Class c_foxbin2prg As Session l_DBF_BinChar_Base64 = .T. l_DBF_IncludeDeleted = .F. *!* /Changed by: LScheffler 21.02.2021 +*!* Changed by: LScheffler 19.03.2023 +* additional options controlling +* files in non subpath of the PJX + n_CheckFileInPath = 0 +*!* /Changed by: LScheffler 19.03.2023 n_UseClassPerFile = 0 n_PRG_Compat_Level = 0 && 0=COMPATIBLE WITH FoxBin2Prg v1.19.49 and earlier, 1=Include HELPSTRING n_ExcludeDBFAutoincNextval = 0 @@ -1499,6 +1509,18 @@ Define Class c_foxbin2prg As Session Endproc +*!* Changed by: LScheffler 19.03.2023 +* additional options controlling +* files in non subpath of the PJX + Procedure n_CheckFileInPath_ACCESS + If This.n_CFG_Actual = 0 Or Isnull( This.o_Configuration( This.n_CFG_Actual ) ) + Return This.n_CheckFileInPath + Else + Return Nvl( This.o_Configuration( This.n_CFG_Actual ).n_CheckFileInPath, This.n_CheckFileInPath ) + Endif + Endproc +*!* /Changed by: LScheffler 19.03.2023 + Procedure n_UseClassPerFile_ACCESS If This.n_CFG_Actual = 0 Or Isnull( This.o_Configuration( This.n_CFG_Actual ) ) Return This.n_UseClassPerFile @@ -1507,7 +1529,6 @@ Define Class c_foxbin2prg As Session Endif Endproc - *!* Changed by: LScheffler 21.02.2021 *!* change date="{^2021-02-21,10:57:00}" * additional options controlling @@ -2615,6 +2636,17 @@ Define Class c_foxbin2prg As Session *-------- setting for container files (not pjx) -------- *Classes and forms ( vcx / scx) +*!* Changed by: LScheffler 19.03.2023 +* additional options controlling +* files in non subpath of the PJX + Case Left( laConfig(m.I), 16 ) == Lower('CheckFileInPath:') + lcValue = Alltrim( Substr( laConfig(m.I), 17 ) ) + If Inlist( lcValue, '0', '1', '2', '3' ) Then + lo_CFG.n_CheckFileInPath = Int( Val(lcValue) ) + .writeLog( C_TAB + Justfname(lcConfigFile) + ' > CheckFileInPath: ' + Transform(lcValue) ) + Endif +*!* /Changed by: LScheffler 19.03.2023 + *!* Changed by: LScheffler 21.02.2021 *!* change date="{^2021-02-21,10:57:00}" * additional options controlling @@ -2861,6 +2893,7 @@ Define Class c_foxbin2prg As Session Endif &&NOT tl_ForceLog Endif * SF + .writeLog( '> ' + loLang.C_USING_THIS_SETTINGS_LOC + ':' ) *internal info, just what is read to this moment .writeLog( C_TAB + 'CFG_Actual: ' + Transform(.n_CFG_Actual) + Icase(.n_CFG_Actual=1, ' [MASTER]', ' [SECONDARY]') ) @@ -2901,6 +2934,13 @@ Define Class c_foxbin2prg As Session .writeLog( C_TAB + 'FKY_Conversion_Support ' + Transform(.n_FKY_Conversion_Support) ) .writeLog( C_TAB + 'MEM_Conversion_Support ' + Transform(.n_MEM_Conversion_Support) ) +*!* Changed by: LScheffler 19.03.2023 +* additional options controlling +* files in non subpath of the PJX +*setting for PJX files + .writeLog( C_TAB + 'CheckFileInPath: ' + Transform(.n_CheckFileInPath) ) +*!* /Changed by: LScheffler 19.03.2023 + *setting for container files (not pjx) *Classes and forms ( vcx / scx) .writeLog( C_TAB + 'UseClassPerFile: ' + Transform(.n_UseClassPerFile) ) @@ -3687,7 +3727,7 @@ Define Class c_foxbin2prg As Session lnOptions As Number,; lnOption As Number - lnOptions = 48 + lnOptions = 49 Local Array; laLines(1),; @@ -3798,51 +3838,54 @@ Define Class c_foxbin2prg As Session laOptions(33,1) = "*DBF_IncludeDeleted:" && 0,1 1=.t. 0=Do not include deleted records (default), 1=Include deleted records laOptions(33,2) = ".l_DBF_IncludeDeleted" laOptions(33,3) = 1 - laOptions(34,1) = "*UseClassPerFile:" && n 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files - laOptions(34,2) = ".n_UseClassPerFile" + laOptions(34,1) = "*CheckFileInPath:" && n 0=Default,no check. Determines 2Txt deals with files not in the subfolders of the PJX + laOptions(34,2) = ".n_CheckFileInPath" laOptions(34,3) = 0 - laOptions(35,1) = "*RedirectClassPerFileToMain:" && 0,1 1=.t. 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2 - laOptions(35,2) = ".l_RedirectClassPerFileToMain" - laOptions(35,3) = 1 - laOptions(36,1) = "*RedirectClassType:" && 0,1,2 For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 - laOptions(36,2) = ".n_RedirectClassType" - laOptions(36,3) = 0 - laOptions(37,1) = "*ClassPerFileCheck:" && 0,1 1=.t. 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion - laOptions(37,2) = ".l_ClassPerFileCheck" - laOptions(37,3) = 1 - laOptions(38,1) = "*extension: pj2=" && ext Text file to PJX - laOptions(38,2) = ".c_pj2" - laOptions(38,3) = 2 - laOptions(39,1) = "*extension: vc2=" && ext Text file to VCX - laOptions(39,2) = ".c_vc2" + laOptions(35,1) = "*UseClassPerFile:" && n 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files + laOptions(35,2) = ".n_UseClassPerFile" + laOptions(35,3) = 0 + laOptions(36,1) = "*RedirectClassPerFileToMain:" && 0,1 1=.t. 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2 + laOptions(36,2) = ".l_RedirectClassPerFileToMain" + laOptions(36,3) = 1 + laOptions(37,1) = "*RedirectClassType:" && 0,1,2 For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 + laOptions(37,2) = ".n_RedirectClassType" + laOptions(37,3) = 0 + laOptions(38,1) = "*ClassPerFileCheck:" && 0,1 1=.t. 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion + laOptions(38,2) = ".l_ClassPerFileCheck" + laOptions(38,3) = 1 + laOptions(39,1) = "*extension: pj2=" && ext Text file to PJX + laOptions(39,2) = ".c_pj2" laOptions(39,3) = 2 - laOptions(40,1) = "*extension: sc2=" && ext Text file to SCX - laOptions(40,2) = ".c_sc2" + laOptions(40,1) = "*extension: vc2=" && ext Text file to VCX + laOptions(40,2) = ".c_vc2" laOptions(40,3) = 2 - laOptions(41,1) = "*extension: fr2=" && ext Text file to FRX - laOptions(41,2) = ".c_fr2" + laOptions(41,1) = "*extension: sc2=" && ext Text file to SCX + laOptions(41,2) = ".c_sc2" laOptions(41,3) = 2 - laOptions(42,1) = "*extension: lb2=" && ext Text file to LBX - laOptions(42,2) = ".c_lb2" + laOptions(42,1) = "*extension: fr2=" && ext Text file to FRX + laOptions(42,2) = ".c_fr2" laOptions(42,3) = 2 - laOptions(43,1) = "*extension: mn2=" && ext Text file to MNX - laOptions(43,2) = ".c_mn2" + laOptions(43,1) = "*extension: lb2=" && ext Text file to LBX + laOptions(43,2) = ".c_lb2" laOptions(43,3) = 2 - laOptions(44,1) = "*extension: db2=" && ext Text file to DBF - laOptions(44,2) = ".c_db2" + laOptions(44,1) = "*extension: mn2=" && ext Text file to MNX + laOptions(44,2) = ".c_mn2" laOptions(44,3) = 2 - laOptions(45,1) = "*extension: dc2=" && ext Text file to DBC - laOptions(45,2) = ".c_dc2" + laOptions(45,1) = "*extension: db2=" && ext Text file to DBF + laOptions(45,2) = ".c_db2" laOptions(45,3) = 2 - laOptions(46,1) = "*extension: fk2=" && ext Text file to FKY - laOptions(46,2) = ".c_fk2" + laOptions(46,1) = "*extension: dc2=" && ext Text file to DBC + laOptions(46,2) = ".c_dc2" laOptions(46,3) = 2 - laOptions(47,1) = "*extension: me2=" && ext Text file to MEM - laOptions(47,2) = ".c_me2" + laOptions(47,1) = "*extension: fk2=" && ext Text file to FKY + laOptions(47,2) = ".c_fk2" laOptions(47,3) = 2 - laOptions(48,1) = "*BackgroundImage:" && ext Text file to MEM - laOptions(48,2) = ".c_BackgroundImage" - laOptions(48,3) = 6 + laOptions(48,1) = "*extension: me2=" && ext Text file to MEM + laOptions(48,2) = ".c_me2" + laOptions(48,3) = 2 + laOptions(49,1) = "*BackgroundImage:" && ext Text file to MEM + laOptions(49,2) = ".c_BackgroundImage" + laOptions(49,3) = 6 For lnOption = 1 To m.lnOptions lnLine = Ascan( m.laLines , m.laOptions( m.lnOption, 1 ), 1, -1, 1, 4) @@ -7127,6 +7170,7 @@ Define Class c_conversor_base As Custom Procedure Init Local lcSys16, lnPosProg + Set Deleted On Set Date YMD Set Hours To 24 @@ -17656,8 +17700,8 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg Local toModulo As CL_PROJECT Of 'FOXBIN2PRG.PRG' #Endif DoDefault( @toModulo, @toEx, @toFoxBin2Prg ) - - Try + + TRY Local lnCodError, lcStr, lnPos, lnLen, lnServerCount, loReg, lnLen ; , loEx As Exception ; , loProject As CL_PROJECT Of 'FOXBIN2PRG.PRG' ; @@ -17680,7 +17724,42 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg loServerHead = loProject._ServerHead C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER() +*!* Changed by: LScheffler 19.3.2023 +*!* +*!* Changed by: LScheffler
+*!* Text2Bin on PJX errors out for projects with an attach icon that has a drive letter on its path. Issue 93
+*!* Text2Bin creates a construct for relative paths that will fail if a file is on a different drive.
+*!* Solution, we create a new option CheckFileInPath to control the transformation +*!* Determines 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths.
+*!* 0 Ignore. Default
+*!* 1 Check and error out if file is not on same structure (for source control)
+*!* 2 Create absolute path if file is on different drive.
+*!* 3 Create absolute path if file is not in structure
+*!*
+*!*
+toFoxBin2Prg.n_CheckFileInPath=2 + lcStr = ADDBS( Chrtran( loProject._HomeDir, ['], [] )) + IF toFoxBin2Prg.n_CheckFileInPath=1 THEN +*let's scan all files against pjx home dir + IF !Empty(loProject._MainProg) AND !EMPTY( JUSTDRIVE( SYS( 2014, loProject._MainProg, m.lcStr))) THEN + lcStr = loLang.C_PJXPATH_ERR_LOC1 + loProject._MainProg + loLang.C_PJXPATH_ERR_LOC4 + m.lcStr + loLang.C_PJXPATH_ERR_LOC5 + ERROR 1941 + ENDIF &&!Empty(loProject._MainProg) AND !EMPTY( JUSTDRIVE( SYS( 2014, loProject._MainProg, m.lcStr))) + IF !Empty(loProject._Icon) AND !EMPTY( JUSTDRIVE( SYS( 2014, loProject._Icon, m.lcStr))) THEN + lcStr = loLang.C_PJXPATH_ERR_LOC2 + loProject._Icon + loLang.C_PJXPATH_ERR_LOC4 + m.lcStr + loLang.C_PJXPATH_ERR_LOC5 + ERROR 1941 + ENDIF &&!Empty(loProject._Icon) AND !EMPTY( JUSTDRIVE( SYS( 2014, loProject._Icon, m.lcStr))) + + For Each loReg In loProject &&FOXOBJECT + IF !EMPTY( JUSTDRIVE( SYS( 2014, loReg.Name,m.lcStr))) THEN + lcStr = loLang.C_PJXPATH_ERR_LOC3 + loReg.Name + loLang.C_PJXPATH_ERR_LOC4 + m.lcStr + loLang.C_PJXPATH_ERR_LOC5 + ERROR 1941 + ENDIF &&!EMPTY( JUSTDRIVE( SYS( 2014, loReg.Name, m.lcStr))) + Endfor + ENDIF &&toFoxBin2Prg.n_CheckFileInPath=1 + +*!* /Changed by: LScheffler 19.3.2023 *-- Directorio de inicio TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -17795,7 +17874,10 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg For Each loReg In loProject &&FOXOBJECT If Not Empty(loReg.COMMENTS) - C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(lcCurdir + '" + loReg.Name + "').Description = '" + loReg.COMMENTS + "'" +* C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(lcCurdir + '" + loReg.Name + "').Description = '" + loReg.COMMENTS + "'" + C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(" +; + THIS.GetPathFromHome(m.loReg.Name, m.lcStr, "lcCurdir + '", "'", toFoxBin2Prg) +; + ").Description = '" + loReg.COMMENTS + "'" Endif loReg = Null Endfor @@ -17812,7 +17894,10 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg For Each loReg In loProject &&FOXOBJECT If loReg.EXCLUDE - C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(lcCurdir + '" + loReg.Name + "').Exclude = .T." +* C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(lcCurdir + '" + loReg.Name + "').Exclude = .T." + C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(" +; + THIS.GetPathFromHome(m.loReg.Name, m.lcStr, "lcCurdir + '", "'", toFoxBin2Prg) +; + ").Exclude = .T." Endif loReg = Null Endfor @@ -17829,7 +17914,10 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg For Each loReg In loProject &&FOXOBJECT If Inlist( Upper( Justext( loReg.Name ) ), 'H','FPW' ) - C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(lcCurdir + '" + loReg.Name + "').Type = 'T'" +* C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(lcCurdir + '" + loReg.Name + "').Type = 'T'" + C_FB2PRG_CODE = C_FB2PRG_CODE + Chr(13) + Chr(10) + Chr(9) + ".ITEM(" +; + THIS.GetPathFromHome(m.loReg.Name, m.lcStr, "lcCurdir + '", "'", toFoxBin2Prg) +; + ").Type = 'T'" Endif loReg = Null Endfor @@ -17845,14 +17933,17 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg ENDTEXT If Not Empty(loProject._MainProg) +* <<>> .SetMain(lcCurdir + '<>') TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 - <<>> .SetMain(lcCurdir + '<>') + <<>> .SetMain(<>) + ENDTEXT Endif If Not Empty(loProject._Icon) +* <<>> .Icon = lcCurdir + '<>' TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 - <<>> .Icon = lcCurdir + '<>' + <<>> .Icon = <> ENDTEXT Endif @@ -17919,6 +18010,9 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg Do Case Case lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME ) toEx.UserValue = toEx.UserValue + loLang.C_DUPLICATED_FILE_LOC + ': ' + loReg.Name + Case lnCodError = 1941 + toEx.UserValue = m.lcStr + Endcase If This.n_Debug > 0 And _vfp.StartMode = 0 @@ -18085,6 +18179,56 @@ Define Class c_conversor_pjx_a_prg As c_conversor_bin_a_prg Return Endproc + +*!* Changed by: LScheffler 20.3.2023 +*!* +*!* Changed by: LScheffler
+*!* Text2Bin on PJX errors out for projects with an attach icon that has a drive letter on its path. Issue 93
+*!* Text2Bin creates a construct for relative paths that will fail if a file is on a different drive.
+*!* Solution, we create a new option CheckFileInPath to control the transformation +*!* Determines 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths.
+*!* 0 Ignore. Default
+*!* 1 Check and error out if file is not on same structure (for source control)
+*!* 2 Create absolute path if file is on different drive.
+*!* 3 Create absolute path if file is not in structure
+*!*
+*!*
+ Procedure GetPathFromHome + *--------------------------------------------------------------------------------------------------- + * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) + * tcFilePath (v! IN ) String of a file with path + * tcProjPath (v! IN ) Home directory of a project + * tcPrefix (v! IN ) Prefix for return + * tcSufix (v! IN ) Sufix for return + * toFoxBin2Prg (v! IN ) Referencia al objeto principal + * + * Return String to File in text file + *--------------------------------------------------------------------------------------------------- + Lparameters tcFilePath, tcProjPath, tcPrefix, tcSufix, toFoxBin2Prg + + Local; + lcReturn As String + + lcReturn = SYS( 2014, m.tcFilePath, m.tcProjPath) + Do Case + Case m.toFoxBin2Prg.n_CheckFileInPath=2 AND !EMPTY( JUSTDRIVE( m.lcReturn)) +*!* 2 Create absolute path if file is on different drive.
+ lcReturn = '"' + m.tcFilePath + '"' + + Case m.toFoxBin2Prg.n_CheckFileInPath=3 AND (!EMPTY( JUSTDRIVE( m.lcReturn)) OR LEFT(m.lcReturn, 2) = "..") +*!* 3 Create absolute path if file is not in structure
+ lcReturn = '"' + m.tcFilePath + '"' + + Otherwise +*!* just normal relative path + lcReturn = m.tcPrefix + m.tcFilePath + m.tcSufix + + Endcase + + RETURN m.lcReturn + Endproc &&GetPathFromHome +*!* /Changed by: LScheffler 20.3.2023 + Enddefine @@ -30417,6 +30561,7 @@ Define Class CL_CFG As Custom l_RemoveNullCharsFromCode = Null l_RemoveZOrderSetFromProps = Null n_UseClassPerFile = Null + n_CheckFileInPath = Null *!* Changed by: LScheffler 21.02.2021 *!* change date="{^2021-02-21,10:57:00}" * additional options controlling @@ -30643,6 +30788,11 @@ Define Class CL_LANG As Custom C_INDEX2BIN_STANDALONE_LOC = "" C_INDEX2BIN_COMPOUND_LOC = "" + C_PJXPATH_ERR_LOC1 = "" + C_PJXPATH_ERR_LOC2 = "" + C_PJXPATH_ERR_LOC3 = "" + C_PJXPATH_ERR_LOC4 = "" + C_PJXPATH_ERR_LOC5 = "" Procedure Init Lparameters tcLanguage @@ -30795,6 +30945,14 @@ Define Class CL_LANG As Custom <<>>MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) <<>>---------------------------------------------------------------------------------------------------------------- <<>> + <<>>Setting for pjx files + <<>>CheckFileInPath: 0 && Determines 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths. + <<>> && 0 Ignore. Default + <<>> && 1 Check and error out if file is not on same structure (for source control) + <<>> && 2 Create absolute path if file is on different drive. + <<>> && 3 Create absolute path if file is not in structure + <<>>---------------------------------------------------------------------------------------------------------------- + <<>> <<>>Setting for container files (not pjx) <<>>-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX) <<>>- Class per file options (UseClassPerFile: 1) @@ -30939,6 +31097,11 @@ Define Class CL_LANG As Custom .C_INDEX2BIN_STRUCTURAL_LOC = " TAGs for structural index" .C_INDEX2BIN_STANDALONE_LOC = " Standalone index " .C_INDEX2BIN_COMPOUND_LOC = " TAGs for compound index " + .C_PJXPATH_ERR_LOC1 = 0h0D0A + 'Main file "' + .C_PJXPATH_ERR_LOC2 = 0h0D0A + 'Project icon file "' + .C_PJXPATH_ERR_LOC3 = 0h0D0A + 'File ""' + .C_PJXPATH_ERR_LOC4 = '"' + 0h0D0A + 'not in PJX folder structure, "' + .C_PJXPATH_ERR_LOC5 = '",' + 0h0D0A + 'check option "CheckFileInPath".' + 0h0D0A0D0A Case Inlist(tcLanguage, '34', 'ES') && Spanish (Español) *------------------------------------------------------------------------------------------------------------------------------------------- @@ -31070,6 +31233,14 @@ Define Class CL_LANG As Custom <<>>MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) <<>>---------------------------------------------------------------------------------------------------------------- <<>> + <<>>Setting for pjx files + <<>>CheckFileInPath: 0 && Determines 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths. + <<>> && 0 Ignore. Default + <<>> && 1 Check and error out if file is not on same structure (for source control) + <<>> && 2 Create absolute path if file is on different drive. + <<>> && 3 Create absolute path if file is not in structure + <<>>---------------------------------------------------------------------------------------------------------------- + <<>> <<>>Setting for container files (not pjx) <<>>-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX) <<>>- Class per file options (UseClassPerFile: 1) @@ -31214,6 +31385,11 @@ Define Class CL_LANG As Custom .C_INDEX2BIN_STRUCTURAL_LOC = " TAGs for structural index" .C_INDEX2BIN_STANDALONE_LOC = " Standalone index " .C_INDEX2BIN_COMPOUND_LOC = " TAGs for compound index " + .C_PJXPATH_ERR_LOC1 = 0h0D0A + 'Main file "' + .C_PJXPATH_ERR_LOC2 = 0h0D0A + 'Project icon file "' + .C_PJXPATH_ERR_LOC3 = 0h0D0A + 'File ""' + .C_PJXPATH_ERR_LOC4 = '"' + 0h0D0A + 'not in PJX folder structure, "' + .C_PJXPATH_ERR_LOC5 = '",' + 0h0D0A + 'check option "CheckFileInPath".' + 0h0D0A0D0A Case Inlist(tcLanguage, '49', 'DE') && German (Alemán) *------------------------------------------------------------------------------------------------------------------------------------------- @@ -31350,6 +31526,15 @@ Define Class CL_LANG As Custom <<>>MEM_Conversion_Support: 1 && 0=Aus, 1=Erzeuge nur Textdatei (Diff) <<>>---------------------------------------------------------------------------------------------------------------- <<>> + <<>>Setting for pjx files + <<>>CheckFileInPath: 0 && Bestimmt, ob bein Erstellen von pj2 Dateien Dateien in der ordnerstruktur des PJX sein müssen. + <<>> && Keine Behandlung für UNC Pfade. + <<>> && 0 Ignorieren. Default + <<>> && 1 Teste, und breche ab wenn die Datei nicht in der Struktur ist (für Quellcodeverwaltung) + <<>> && 2 Erstelle absoluten Pfad für Dateien auf einem anderen Laufwerk. + <<>> && 3 Erstelle absoluten Pfad für Dateien die nicht in der Ordnerstruktur sind. + <<>>---------------------------------------------------------------------------------------------------------------- + <<>> <<>> ------Einstellungen für Container-Dateien (not pjx) <<>>-- Optionen für CLASS und FORM <<>>- Optionen für Datei per Klasse (UseClassPerFile: 1) (für VCX: vc2, für SCX: sc2) @@ -31512,6 +31697,12 @@ Define Class CL_LANG As Custom .C_INDEX2BIN_STRUCTURAL_LOC = " TAGs für den strukturellen Index" .C_INDEX2BIN_STANDALONE_LOC = " Eigenständige Indexdatei: " .C_INDEX2BIN_COMPOUND_LOC = " TAGs für verbundene Indexdatei: " + .C_PJXPATH_ERR_LOC1 = 0h0D0A + 'Hauptdatei "' + .C_PJXPATH_ERR_LOC2 = 0h0D0A + 'Projekt-Icon Datei "' + .C_PJXPATH_ERR_LOC3 = 0h0D0A + 'Datei ""' + .C_PJXPATH_ERR_LOC4 = '"' + 0h0D0A + 'ist nicht in der PJX Ordner Struktur, "' + .C_PJXPATH_ERR_LOC5 = '",' + 0h0D0A + 'siehe Option "CheckFileInPath".' + 0h0D0A0D0A + Otherwise && English (Inglés) *------------------------------------------------------------------------------------------------------------------------------------------- @@ -31644,6 +31835,14 @@ Define Class CL_LANG As Custom <<>>MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) <<>>---------------------------------------------------------------------------------------------------------------- <<>> + <<>>Setting for pjx files + <<>>CheckFileInPath: 0 && Determines 2Txt deals with files not in the subfolders of the PJX. No handler for UNC paths. + <<>> && 0 Ignore. Default + <<>> && 1 Check and error out if file is not on same structure (for source control) + <<>> && 2 Create absolute path if file is on different drive. + <<>> && 3 Create absolute path if file is not in structure + <<>>---------------------------------------------------------------------------------------------------------------- + <<>> <<>>Setting for container files (not pjx) <<>>-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX) <<>>- Class per file options (UseClassPerFile: 1) @@ -31789,6 +31988,11 @@ Define Class CL_LANG As Custom .C_INDEX2BIN_STRUCTURAL_LOC = " TAGs for structural index" .C_INDEX2BIN_STANDALONE_LOC = " Standalone index " .C_INDEX2BIN_COMPOUND_LOC = " TAGs for compound index " + .C_PJXPATH_ERR_LOC1 = 0h0D0A + 'Main file "' + .C_PJXPATH_ERR_LOC2 = 0h0D0A + 'Project icon file "' + .C_PJXPATH_ERR_LOC3 = 0h0D0A + 'File ""' + .C_PJXPATH_ERR_LOC4 = '"' + 0h0D0A + 'not in PJX folder structure, "' + .C_PJXPATH_ERR_LOC5 = '",' + 0h0D0A + 'check option "CheckFileInPath".' + 0h0D0A0D0A .n_LanguageSelectedMethod = 0 && 0=Automatic with VERSION(3)