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_ 
+Last changed: _2023/03/20_ 
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_ 
\ No newline at end of file
+Last changed: _2023/03/20_ 
\ 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_ 
\ No newline at end of file
+Last changed: _2023/03/20_ 
\ 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_ 
\ No newline at end of file
+Last changed: _2023/03/20_ 
\ 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_ 
\ No newline at end of file
+Last changed: _2023/03/20_ 
\ 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_ 
\ No newline at end of file
+Last changed: _2023/03/20_ 
\ 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_ 
\ No newline at end of file
+Last changed: _2023/03/20_ 
\ 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_ 
\ No newline at end of file
+Last changed: _2023/03/20_ 
\ 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)