Option to disable directories added
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
*################################################################################################################
|
||||
*-- Individual DBF configuration file (syntax: filename.dbf.cfg) Defaults see FoxBin2prg.cfg
|
||||
*Version: v1.20.06
|
||||
*Version: v1.20.07
|
||||
*****************************************************************************************************************
|
||||
|
||||
*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)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# FoxBin2Prg 1.20.05
|
||||
# FoxBin2Prg 1.20.07
|
||||
**Binary/Text Converting program for Microsoft Visual FoxPro**
|
||||
|
||||
## Lutz Scheffler
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -24,13 +24,14 @@ _**Note:** you can click on the version number for downloading this version from
|
||||
|
||||
| Rel.Date | Developer | Version | Details |
|
||||
| - | - | - | - |
|
||||
| 2023/09/03 | LScheffler | [v1.20.05](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.05) | **Bug Fix**: Problems recreating tables (LScheffler) |
|
||||
| 2023/09/06 | LScheffler | [v1.20.07](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.07) | **Enhancement**: Option to block processing of directories. If file ".FoxBin2Prg_Ignore" is existing, this directories and all subdirectries will be ignored. (Mainly set up to ignore local GoFish settings) (LScheffler)
|
||||
| 2023/09/06 | LScheffler | [v1.20.06](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.06) | **Bug Fix**: Problems recreating tables (LScheffler) |
|
||||
| 2023/09/03 | LScheffler | [v1.20.05](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.05) | **Bug Fix**: Problems recreating menu files (introduced with codepage) (LScheffler) |
|
||||
| | | | Enhancement: Inserted options to allow splitting of SCX handling from VCX.1 |
|
||||
| 2023/09/01 | LScheffler | [v1.20.04](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.04) | Enhancement: New option "tcDebug" for get_DirSettings method. |
|
||||
| | | | Enhancement: For better clearance, renamed setting AllowInheritance to InhibitInheritance. |
|
||||
| | | | Enhancement: The debug option set via parameter has precedence over value from config file. |
|
||||
| | | | Enhancement: For debug option set via parameter only first valid call is used. |
|
||||
| | | | **Enhancement:** Inserted options to allow splitting of SCX handling from VCX. |
|
||||
| 2023/09/01 | LScheffler | [v1.20.04](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.04) | **Enhancement**: New option "tcDebug" for get_DirSettings method. |
|
||||
| | | | **Enhancement:** For better clearance, renamed setting AllowInheritance to InhibitInheritance. |
|
||||
| | | | **Enhancement:** The debug option set via parameter has precedence over value from config file. |
|
||||
| | | | **Enhancement:** For debug option set via parameter only first valid call is used. |
|
||||
| 2023/08/31 | LScheffler | [v1.20.03](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.03) | **Enhancement**: New option "tcCFG_File" for get_DirSettings method. |
|
||||
| 2023/08/31 | LScheffler | [v1.20.02](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.02) | New option for parameter set config file to control the use of "regular" config files enhanced |
|
||||
| 2023/08/30 | LScheffler | [v1.20.01](https://github.com/lscheffler/foxbin2prg/releases/tag/v1.20.01) | **Bug Fix**: Some values of config file would not be read, if the inline comment "&&" was not in the line (LScheffler) |
|
||||
|
||||
@@ -14,6 +14,7 @@ As far as possible these are the original documents. Changes are added where fun
|
||||
- [Limitations](#limitations)
|
||||
- [Configuration file](#configuration-file)
|
||||
- [Configuration file per table](#configuration-file-per-table)
|
||||
- [Excluding directories](#excluding-directories)
|
||||
- [FoxBin2Prg Internals](#foxbin2prg-internals)
|
||||
- [ZOrder](#zorder)
|
||||
- [RemoveZOrderSetFromProps setting](#removezordersetfromprops-setting)
|
||||
@@ -90,7 +91,6 @@ but the result must be compilable and keep the structure.
|
||||
All limitations that occur to a binary format must be kept on the text representation -
|
||||
the definition of a HEADER class to a VCX will fail.
|
||||
|
||||
|
||||
## Configuration file
|
||||
It is possible to create a template or a config with all options and comments via
|
||||
```
|
||||
@@ -217,6 +217,12 @@ These are the Table.dbf.cfg configuration file settings and their meaning:
|
||||
Setting **per file** could only be used via this configuration file.
|
||||
For defaults, see [Configuration file](#configuration-file).
|
||||
|
||||
## Excluding directories
|
||||
It is possible to exclude directory structures from processing. Placing a file **.FoxBin2Prg_Ignore** into a directory will stop FoxBin2Prg from processing any file in this directory and it's subdirectories. The file must just exist and could otherwise be empty.
|
||||
The difference to setting all *XXX_Conversion_Support to 0* is, that it could not be turned on again down the directory structure.
|
||||
|
||||
This was set up to ignore the local GoFish_ settings and history folder, the file will be automatically created by GoFish starting with version 6.2.004.
|
||||
|
||||
## FoxBin2Prg Internals
|
||||
### ZOrder
|
||||
In _Text_ files and starting from v1.19.12, the ZOrder,
|
||||
@@ -771,4 +777,4 @@ For options on integrating FoxBin2Prg with SCM tools, look at this topic:
|
||||
See [FoxBin2Prg and use with git](./FoxBin2Prg_git.md)
|
||||
|
||||
----
|
||||
Last changed: _2023/09/03_
|
||||
Last changed: _2023/09/06_
|
||||
@@ -1,6 +1,6 @@
|
||||
*################################################################################################################
|
||||
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
|
||||
*Version: v1.20.06
|
||||
*Version: v1.20.07
|
||||
*****************************************************************************************************************
|
||||
|
||||
* Note, configuration files will follow an inheritance.
|
||||
|
||||
@@ -26,7 +26,7 @@ _LegalTrademark = "MIT License"
|
||||
_ProductName = "FOXBIN2PRG"
|
||||
_MajorVer = "1"
|
||||
_MinorVer = "20"
|
||||
_Revision = "5"
|
||||
_Revision = "7"
|
||||
_LanguageID = "1034"
|
||||
_AutoIncrement = "0"
|
||||
*</DevInfo>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#DEFINE DN_FB2PRG_VERSION 1.20
|
||||
#DEFINE DC_FB2PRG_VERSION_REAL '1.20.06'
|
||||
#DEFINE DC_FB2PRG_VERSION_REAL '1.20.07'
|
||||
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
* Module.........: FOXBIN2PRG.PRG - FOR VISUAL FOXPRO 9.0
|
||||
@@ -320,6 +320,7 @@
|
||||
* 03/09/2023 LScheffler v1.20.05 Bug Fix: Problems recreating menu files (introduced with codepage) (LScheffler)
|
||||
* 03/09/2023 LScheffler v1.20.05 Enhancement: Inserted options to allow splitting of SCX handling from VCX
|
||||
* 06/09/2023 LScheffler v1.20.06 Bug Fix: Problems recreating tables (LScheffler)
|
||||
* 06/09/2023 LScheffler v1.20.07 Enhancement: Option to block processing of directories. If file ".FoxBin2Prg_Ignore" is existing, this directories and all subdirectries will be ignored. (Mainly set up to ignore local GoFish settings) (LScheffler)
|
||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
@@ -1204,6 +1205,7 @@ Define Class c_foxbin2prg As Session
|
||||
*!* LScheffler 31.08.2023 more sophisticated control of inheritance for para file
|
||||
c_SingleConfig_Folder = ''
|
||||
o_CFG = .NULL.
|
||||
l_AllowFolder = .T.
|
||||
|
||||
Procedure Init
|
||||
Lparameters tcCFG_File, tcCancelWithEscKey
|
||||
@@ -2062,6 +2064,13 @@ Define Class c_foxbin2prg As Session
|
||||
Endproc
|
||||
*** DH 2021-03-04: end of new code
|
||||
|
||||
Procedure l_AllowFolder_ACCESS
|
||||
If This.n_CFG_Actual = 0 Or Isnull( This.o_Configuration( This.n_CFG_Actual ) )
|
||||
Return This.l_AllowFolder
|
||||
Else
|
||||
Return Nvl( This.o_Configuration( This.n_CFG_Actual ).l_AllowFolder, This.l_AllowFolder )
|
||||
Endif
|
||||
Endproc
|
||||
|
||||
Procedure changeFileAttribute
|
||||
* Using Win32 Functions in Visual FoxPro
|
||||
@@ -2440,13 +2449,14 @@ Define Class c_foxbin2prg As Session
|
||||
Local toParentCFG As CL_CFG Of 'FOXBIN2PRG.PRG'
|
||||
#Endif
|
||||
|
||||
Local lcConfigFile, llExiste_CFG_EnDisco, laConfig(1), I, lcConfData, lcExt, lcValue, lc_CFG_Path, lcConfigLine, laDirInfo(1,5) ;
|
||||
Local lcConfigFile, lcLockFile, llExiste_CFG_EnDisco, llLockFileExists, llFirstRead, laConfig(1), I, lcConfData, lcExt, lcValue, lc_CFG_Path, lcConfigLine, laDirInfo(1,5) ;
|
||||
, lnDirs, laDirs(1), llMasterEval, lcProp ;
|
||||
, lo_CFG As CL_CFG Of 'FOXBIN2PRG.PRG' ;
|
||||
, loCFG_Manual As CL_CFG Of 'FOXBIN2PRG.PRG' ;
|
||||
, lo_Configuration As Collection ;
|
||||
, loLang As CL_LANG Of 'FOXBIN2PRG.PRG' ;
|
||||
, loEx As Exception, llSetSingleConfig, lc_Foxbin2prg_ConfigFile, lc_InputPath
|
||||
|
||||
Try
|
||||
With This As c_foxbin2prg Of 'FOXBIN2PRG.PRG'
|
||||
|
||||
@@ -2605,6 +2615,7 @@ Define Class c_foxbin2prg As Session
|
||||
.n_CFG_Actual = 0
|
||||
.l_CFG_CachedAccess = .F.
|
||||
lc_CFG_Path = Upper( Justpath( lcConfigFile ) )
|
||||
lcLockFile = FORCEPATH(".FoxBin2Prg_Ignore",lc_CFG_Path)
|
||||
lo_CFG = This
|
||||
|
||||
*-- Búsqueda del CFG del PATH indicado en la caché
|
||||
@@ -2679,6 +2690,7 @@ Define Class c_foxbin2prg As Session
|
||||
Case .n_CFG_Actual = 0
|
||||
*-- Si no se encontró un CFG cacheado, se busca si existe un archivo CFG en disco
|
||||
llExiste_CFG_EnDisco = ( Adir( laDirInfo, lcConfigFile ) = 1 )
|
||||
llLockFileExists = ( Adir( laDirInfo, lcLockFile ) = 1 )
|
||||
|
||||
If Not llExiste_CFG_EnDisco
|
||||
.l_CFG_CachedAccess = .T. && Es cacheado porque sin archivo CFG usa config.interna
|
||||
@@ -2710,7 +2722,8 @@ Define Class c_foxbin2prg As Session
|
||||
toParentCFG = lo_CFG
|
||||
* .writeLog( C_TAB + '- ' + loLang.C_INHERITING_FROM_LOC + ': ' + lo_CFG.c_Foxbin2prg_ConfigFile )
|
||||
.writeLog( C_TAB + '- ' + loLang.C_INHERITING_FROM_LOC + ': ' + lo_Configuration.GetKey(lo_Configuration.Count-1) )
|
||||
Endif
|
||||
ENDIF
|
||||
llFirstRead = .T.
|
||||
Endif
|
||||
|
||||
Else
|
||||
@@ -2718,8 +2731,14 @@ Define Class c_foxbin2prg As Session
|
||||
.n_CFG_Actual = lo_Configuration.Count
|
||||
Endif
|
||||
|
||||
*check for lockfile
|
||||
If .l_Main_CFG_Loaded And llFirstRead AND llLockFileExists THEN
|
||||
lo_CFG.l_AllowFolder = .F.
|
||||
.writeLog( C_TAB + Justfname(lcLockFile) + loLang.C_LOCKINGFOLDER_LOC )
|
||||
ENDIF &&.l_Main_CFG_Loaded And llFirstRead AND llLockFileExists
|
||||
|
||||
*-- NOTA: SOLO LOS QUE NO VENGAN DE PARÁMETROS EXTERNOS DEBEN ASIGNARSE A lo_CFG AQUÍ.
|
||||
If llExiste_CFG_EnDisco And Not .l_CFG_CachedAccess Then
|
||||
If llExiste_CFG_EnDisco And Not .l_CFG_CachedAccess AND lo_CFG.l_AllowFolder Then
|
||||
.writeLog()
|
||||
.writeLog( '> ' + loLang.C_READING_CFG_VALUES_FROM_DISK_LOC + ':' )
|
||||
.writeLog( C_TAB + loLang.C_CONFIGFILE_LOC + ' ' + lcConfigFile )
|
||||
@@ -3223,6 +3242,7 @@ Define Class c_foxbin2prg As Session
|
||||
Endif
|
||||
* SF
|
||||
|
||||
If lo_CFG.l_AllowFolder THEN
|
||||
.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]') )
|
||||
@@ -3330,6 +3350,7 @@ Define Class c_foxbin2prg As Session
|
||||
.writeLog( C_TAB + 'extension: DC2 ' + Transform(.c_DC2) )
|
||||
.writeLog( C_TAB + 'extension: FK2 ' + Transform(.c_FK2) )
|
||||
.writeLog( C_TAB + 'extension: ME2 ' + Transform(.c_ME2) )
|
||||
ENDIF &&lo_CFG.l_AllowFolder
|
||||
|
||||
.writeLog( )
|
||||
|
||||
@@ -3663,7 +3684,7 @@ Define Class c_foxbin2prg As Session
|
||||
.evaluateConfiguration( '', '', '', '', '', '', '', '', lcDir, 'D' )
|
||||
Endif
|
||||
|
||||
llhasSupport = Icase( lcExt == 'PJX', .n_PJX_Conversion_Support > 0 ;
|
||||
llhasSupport = .l_AllowFolder AND Icase( lcExt == 'PJX', .n_PJX_Conversion_Support > 0 ;
|
||||
, lcExt == 'VCX', .n_VCX_Conversion_Support > 0 ;
|
||||
, lcExt == 'SCX', .n_SCX_Conversion_Support > 0 ;
|
||||
, lcExt == 'FRX', .n_FRX_Conversion_Support > 0 ;
|
||||
@@ -3726,7 +3747,7 @@ Define Class c_foxbin2prg As Session
|
||||
.evaluateConfiguration( '', '', '', '', '', '', '', '', lcDir, 'D' )
|
||||
Endif
|
||||
|
||||
llhasSupport = Icase( lcExt == .c_PJ2, .n_PJX_Conversion_Support = 2 ;
|
||||
llhasSupport = .l_AllowFolder AND Icase( lcExt == .c_PJ2, .n_PJX_Conversion_Support = 2 ;
|
||||
, lcExt == .c_VC2, .n_VCX_Conversion_Support = 2 ;
|
||||
, lcExt == .c_SC2, .n_SCX_Conversion_Support = 2 ;
|
||||
, lcExt == .c_FR2, .n_FRX_Conversion_Support = 2 ;
|
||||
@@ -3913,7 +3934,6 @@ Define Class c_foxbin2prg As Session
|
||||
* EXIT
|
||||
*ENDIF
|
||||
|
||||
|
||||
*-- Reconocimiento de la clase indicada
|
||||
*-- Ej: [c:\desa\test\library.vcx::classname]
|
||||
If '::' $ tc_InputFile Then
|
||||
@@ -31280,6 +31300,7 @@ Define Class CL_CFG As Custom
|
||||
n_PRG_Compat_Level = .Null.
|
||||
*** DH 2021-03-04: added n_HomeDir property
|
||||
n_HomeDir = .Null.
|
||||
l_AllowFolder = .T.
|
||||
|
||||
Procedure CopyFrom
|
||||
*-- Copia las propiedades del CFG indicado
|
||||
@@ -31358,6 +31379,7 @@ Define Class CL_CFG As Custom
|
||||
.n_PRG_Compat_Level = toParentCFG.n_PRG_Compat_Level
|
||||
*** DH 2021-03-04: handle n_HomeDir
|
||||
.n_HomeDir = toParentCFG.n_HomeDir
|
||||
.l_AllowFolder = toParentCFG.l_AllowFolder
|
||||
Endwith
|
||||
Endproc
|
||||
|
||||
@@ -31474,6 +31496,7 @@ Define Class CL_LANG As Custom
|
||||
C_WARNING_LOC = ""
|
||||
C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = ""
|
||||
C_WITH_ERRORS_LOC = ""
|
||||
C_LOCKINGFOLDER_LOC = ""
|
||||
|
||||
C_INDEX2TXT_PROCESSING_LOC = ""
|
||||
C_INDEX2TXT_EXTRAFILES_LOC = ""
|
||||
@@ -31843,6 +31866,8 @@ Define Class CL_LANG As Custom
|
||||
.C_WARNING_LOC = "AVERTISSEMENT!"
|
||||
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "AVERTISSEMENT!" + CR_LF+ "ASSUREZ VOUS NE UTILISEZ PAS UN ALIAS DE TABLE SUR LES EXPRESSIONS INDEX CLÉS!! (exemple: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
||||
.C_WITH_ERRORS_LOC = "avec des erreurs"
|
||||
|
||||
.C_LOCKINGFOLDER_LOC = " found, proccessing directory and subdirectories inhibited."
|
||||
.C_INDEX2TXT_PROCESSING_LOC = " Processing index"
|
||||
.C_INDEX2TXT_EXTRAFILES_LOC = " Additional index files"
|
||||
.C_INDEX2TXT_NOFILE_LOC = " Not a File "
|
||||
@@ -32190,6 +32215,8 @@ Define Class CL_LANG As Custom
|
||||
.C_WARNING_LOC = "¡ATENCIÓN!"
|
||||
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "¡ATENCIÓN!" + CR_LF+ "ASEGÚRESE DE QUE NO ESTÁ USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS ÍNDICES!! (ej: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag nombreclave)"
|
||||
.C_WITH_ERRORS_LOC = "con errores"
|
||||
.C_LOCKINGFOLDER_LOC = " found, proccessing directory and subdirectories inhibited."
|
||||
|
||||
.C_INDEX2TXT_PROCESSING_LOC = " Processing index"
|
||||
.C_INDEX2TXT_EXTRAFILES_LOC = " Additional index files"
|
||||
.C_INDEX2TXT_NOFILE_LOC = " Not a File "
|
||||
@@ -32564,6 +32591,7 @@ Define Class CL_LANG As Custom
|
||||
.C_WARNING_LOC = "WARNUNG!"
|
||||
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNUNG!" + CR_LF+ "STELLEN SIE SICHER, DAS KEIN TABELLENALIAS IM INDEXAUSDRUCK BENUTZT WIRD!! (z.B.: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
||||
.C_WITH_ERRORS_LOC = "mit Fehlern"
|
||||
.C_LOCKINGFOLDER_LOC = " gefunden, das Verzeichnis und Unterverzeichnisse werden ignoriert."
|
||||
|
||||
.C_INDEX2TXT_PROCESSING_LOC = " Ermittle Index"
|
||||
.C_INDEX2TXT_EXTRAFILES_LOC = " Zusätzliche Index Dateien"
|
||||
@@ -32913,6 +32941,7 @@ Define Class CL_LANG As Custom
|
||||
.C_WARNING_LOC = "WARNING!"
|
||||
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNING!" + CR_LF+ "MAKE SURE YOU ARE NOT USING A TABLE ALIAS ON INDEX KEY EXPRESSIONS!! (ex: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
||||
.C_WITH_ERRORS_LOC = "with errors"
|
||||
.C_LOCKINGFOLDER_LOC = " found, proccessing directory and subdirectories inhibited."
|
||||
|
||||
.C_INDEX2TXT_PROCESSING_LOC = " Processing index"
|
||||
.C_INDEX2TXT_EXTRAFILES_LOC = " Additional index files"
|
||||
|
||||
Reference in New Issue
Block a user