Documentation

- split dbc / classes reowrk
This commit is contained in:
Lutz
2021-03-03 11:49:23 +01:00
parent daa84e3836
commit ae6ad56fe2
12 changed files with 83 additions and 27 deletions

View File

@@ -41,9 +41,10 @@ _**Note:** you can click on the version number for downloading this version from
| 2021/02/15 | LScheffler | | **Feature**: inserted option ItemPerDBCCheck to split DBC processing from vcx / scx | | 2021/02/15 | LScheffler | | **Feature**: inserted option ItemPerDBCCheck to split DBC processing from vcx / scx |
| | | | **Feature**: inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx | | | | | **Feature**: inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx |
| 2021/02/14 | LScheffler | | **Feature**: inserted option UseFilesPerDBC to split DBC processing from vcx / scx | | 2021/02/14 | LScheffler | | **Feature**: inserted option UseFilesPerDBC to split DBC processing from vcx / scx |
| 2021/02/23 | LScheffler | [v1.19.54]() | **Doc**: For Info screen and config-template, usage of MEM and FRX added | | 2021/03/03 | LScheffler | [v1.19.54]() | **Bug Fix**: DBF_Conversion_Condition, problem with macro expansion |
| 2021/02/16 | | | **Bug Fix**: conversion prg -> vcx, files per class could create one class multiple times | | 2021/02/23 | LScheffler | [v1.19.53]() | **Doc**: For Info screen and config-template, usage of MEM and FRX added |
| 2021/02/15 | LScheffler | [v1.19.53]() | **Bug Fix**: processing directory, flush log file after loop instead of file | | | | | **Bug Fix**: conversion prg -> vcx, files per class could create one class multiple times |
| 2021/02/15 | | | **Bug Fix**: processing directory, flush log file after loop instead of file |
| 2021/02/14 | LScheffler | [v1.19.52]() | **Bug Fix**: conversion prg -> dbf, fields with .NULL. value are incorectly recreated | | 2021/02/14 | LScheffler | [v1.19.52]() | **Bug Fix**: conversion prg -> dbf, fields with .NULL. value are incorectly recreated |
| | | | **Doc**: minor translations | | | | | **Doc**: minor translations |
| | | | **Bug Fix**: conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) | | | | | **Bug Fix**: conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) |
@@ -367,4 +368,4 @@ _**Note:** you can click on the version number for downloading this version from
This project is part of [VFPX](https://vfpx.github.io/). This project is part of [VFPX](https://vfpx.github.io/).
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -442,7 +442,7 @@ This is true for SCX files as well. SCX files may contain a form and a dataenvir
It will create sc2 files. It will create sc2 files.
### Create File-Per-DBC ### Create File-Per-DBC
Starting at vn.nn.nn you can configure FoxBin2Prg to generate one _Text_ file per dbc item using naming style "DatabaseName.item.name.dc2" Starting at 1.21.02 you can configure FoxBin2Prg to generate one _Text_ file per dbc item using naming style "DatabaseName.item.name.dc2"
with the value "1" with the value "1"
To configure this, you must first enable it in foxbin2prg.cfg file: To configure this, you must first enable it in foxbin2prg.cfg file:
```` ````
@@ -657,4 +657,4 @@ For options on integrating FoxBin2Prg with SCM tools, look at this topic:
This project is part of [VFPX](https://vfpx.github.io/). This project is part of [VFPX](https://vfpx.github.io/).
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -92,4 +92,4 @@ Return value is 0=OK, 1=Error.
This project is part of [VFPX](https://vfpx.github.io/). This project is part of [VFPX](https://vfpx.github.io/).
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -159,4 +159,4 @@ FoxBin2Prg.lnk <path>\foxbin2prg.exe "INTERACTIVE-SHOWMSG"
This project is part of [VFPX](https://vfpx.github.io/). This project is part of [VFPX](https://vfpx.github.io/).
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -75,4 +75,4 @@ feel free to share how you are using it so others can benefit.
This project is part of [VFPX](https://vfpx.github.io/). This project is part of [VFPX](https://vfpx.github.io/).
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -302,4 +302,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/). This project is part of [VFPX](https://vfpx.github.io/).
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -84,4 +84,4 @@ FoxBin2Prg can be used in tree ways:
This project is part of [VFPX](https://vfpx.github.io/). This project is part of [VFPX](https://vfpx.github.io/).
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -1,12 +1,7 @@
# we use the exclude-all-include-special approach, easier then excluding any odd stuff later # we use the exclude-all-include-special approach, easier then excluding any odd stuff later
#exclude general #excluded in parent directory, we just add the stuff to include here
*.*
#include general #include general
#grafics #grafics
!*.gif !*.gif
!*.png !*.png
#include special
#default git
!*.gitignore

View File

@@ -0,0 +1,12 @@
# FoxBin2Prg
Project to generate text representations of VFP binary sources for source control
## Documentacion\github\pictures
This folder containes the pictures for the reworked documentation resources for use with github repo.
- [FoxBin2prg](../FoxBin2prg.md)
----
Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -10,4 +10,4 @@ Please Note: The spanish documents are removed, because the documents here repre
- [FoxBin2prg](./FoxBin2prg.md) - [FoxBin2prg](./FoxBin2prg.md)
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -125,7 +125,7 @@ To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0
--- ---
--- ---
## Changes by this fork ## Changes by this fork (1.21.02)
To get the new settings in config file, use the new create-a-template function: To get the new settings in config file, use the new create-a-template function:
``` ```
@@ -164,12 +164,13 @@ Fixes only are in the fork branch of this repo.
| Details | | Details |
| - | | - |
| Added MEM and FKY options to config template and internal dokumentation | | Added MEM and FKY options to config template and internal documentation |
| Conversion prg -> vcx, files per class could create one class multiple times | | Conversion prg -> vcx, files per class could create one class multiple times |
| Processing directory, flush log file after loop instead of file | | Processing directory, flush log file after loop instead of file |
| Conversion prg -> dbf, fields with .NULL. value are incorectly recreated | | Conversion prg -> dbf, fields with .NULL. value are incorectly recreated |
| Minor translations | | Minor translations |
| Conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) | | Conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) |
| DBF_Conversion_Condition, problem with macro expansion |
### Features ### Features
@@ -184,6 +185,7 @@ Fixes only are in the fork branch of this repo.
| Inserted option UseFilesPerDBC to split DBC processing from vcx / scx | | Inserted option UseFilesPerDBC to split DBC processing from vcx / scx |
| Inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx | | Inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx |
| Inserted option ItemPerDBCCheck to split DBC processing from vcx / scx | | Inserted option ItemPerDBCCheck to split DBC processing from vcx / scx |
| added option to create config file template |
--- ---
@@ -197,4 +199,4 @@ This folder containes the files necessary to run FoxBin2Prg.prg or to create the
For usage see [documentation](./Documentacion/github/FoxBin2prg.md) For usage see [documentation](./Documentacion/github/FoxBin2prg.md)
---- ----
Last changed: _Pungenday, 53 Chaos 3187_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) Last changed: _2021/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -230,7 +230,8 @@
* 14/02/2021 LScheffler v1.19.52 Bug Fix: conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false) * 14/02/2021 LScheffler v1.19.52 Bug Fix: conversion dbf -> prg, error if only test mode (toFoxBin2Prg.l_ProcessFiles is false)
* 14/02/2021 LScheffler v1.19.52 Bug Fix: conversion prg -> dbf, fields with .NULL. value are incorectly recreated * 14/02/2021 LScheffler v1.19.52 Bug Fix: conversion prg -> dbf, fields with .NULL. value are incorectly recreated
* 15/02/2021 LScheffler v1.19.53 Bug Fix: processing directory, flush log file after loop instead of file * 15/02/2021 LScheffler v1.19.53 Bug Fix: processing directory, flush log file after loop instead of file
* 16/02/2021 LScheffler v1.19.54 Bug Fix: conversion prg -> vcx, files per class could create one class multiple times * 16/02/2021 LScheffler v1.19.53 Bug Fix: conversion prg -> vcx, files per class could create one class multiple times
* 03/03/2021 LScheffler v1.19.54 Bug Fix: DBF_Conversion_Condition, problem with macro expansion
* 14/02/2021 LScheffler v1.21.02 Enhancement: inserted option UseFilesPerDBC to split DBC processing from vcx / scx * 14/02/2021 LScheffler v1.21.02 Enhancement: inserted option UseFilesPerDBC to split DBC processing from vcx / scx
* 15/02/2021 LScheffler v1.21.02 Enhancement: inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx * 15/02/2021 LScheffler v1.21.02 Enhancement: inserted option RedirectFilePerDBCToMain to split DBC processing from vcx / scx
* 15/02/2021 LScheffler v1.21.02 Enhancement: inserted option ItemPerDBCCheck to split DBC processing from vcx / scx * 15/02/2021 LScheffler v1.21.02 Enhancement: inserted option ItemPerDBCCheck to split DBC processing from vcx / scx
@@ -4125,17 +4126,25 @@ Define Class c_foxbin2prg As Session
lcForceAttribs = lcForceAttribs + '-R' lcForceAttribs = lcForceAttribs + '-R'
Endif Endif
*-- OPTIMIZACIÓN VC2/SC2/DC2: VERIFICO SI EL ARCHIVO BASE FUE PROCESADO PARA DESCARTAR REPROCESOS *!* Changed by: Lutz Scheffler 03.03.2021
If .n_UseClassPerFile > 0 And .l_RedirectClassPerFileToMain ; *!* change date="{^2021-03-03,11:38:00}"
OR Not Empty(.c_ClassToConvert) * Added option for DBC split
*-- OPTIMIZACIÓN VC2/SC2: VERIFICO SI EL ARCHIVO BASE FUE PROCESADO PARA DESCARTAR REPROCESOS
If Inlist(lcExtension,"SCX","VCX",.c_VC2,.c_SC2);
AND (.n_UseClassPerFile > 0 And .l_RedirectClassPerFileToMain ;
OR Not Empty(.c_ClassToConvert))
Do Case Do Case
* SF
* n_RedirectClassType looks like lavacode. At least I see not where it set, except in cfg file, not documented in cfg Files
Case .n_RedirectClassType = 1 Or Not Empty(.c_ClassToConvert) && Redireccionar solo esta clase Case .n_RedirectClassType = 1 Or Not Empty(.c_ClassToConvert) && Redireccionar solo esta clase
If Occurs('.', Juststem(.c_InputFile)) = 0 Then If Occurs('.', Juststem(.c_InputFile)) = 0 Then
lc_BaseFile = .c_InputFile lc_BaseFile = .c_InputFile
Else Else
lc_BaseFile = Forcepath( Forceext( Juststem( Juststem(.c_InputFile) ), Justext(.c_InputFile)) , Justpath(.c_InputFile) ) lc_BaseFile = Forcepath( Forceext( Juststem( Juststem(.c_InputFile) ), Justext(.c_InputFile)) , Justpath(.c_InputFile) )
Endif Endif
* /SF
Case .n_UseClassPerFile = 1 And Inlist(lcExtension,.c_VC2,.c_SC2) Case .n_UseClassPerFile = 1 And Inlist(lcExtension,.c_VC2,.c_SC2)
If Occurs('.', Juststem(.c_InputFile)) = 0 Then If Occurs('.', Juststem(.c_InputFile)) = 0 Then
@@ -4164,6 +4173,43 @@ Define Class c_foxbin2prg As Session
Endcase Endcase
Endif Endif
*****************************
*-- OPTIMIZACIÓN DC2: VERIFICO SI EL ARCHIVO BASE FUE PROCESADO PARA DESCARTAR REPROCESOS
If Inlist(lcExtension,"DBC",.c_DC2);
AND (.n_UseFilesPerDBC > 0 And .l_RedirectFilePerDBCToMain ;
OR Not Empty(.c_ClassToConvert))
Do Case
Case .n_UseFilesPerDBC = 1 And Inlist(lcExtension,.c_VC2,.c_SC2)
If Occurs('.', Juststem(.c_InputFile)) = 0 Then
lc_BaseFile = .c_InputFile
Else
lc_BaseFile = Forcepath( Forceext( Juststem( Juststem(.c_InputFile) ), Justext(.c_InputFile)) , Justpath(.c_InputFile) )
Endif
*-- Verifico si se debe forzar la redirección al archivo principal
If '.' $ Juststem(.c_InputFile)
.c_InputFile = lc_BaseFile
Endif
** SF, Problem, Fehler: DC2 hier nicht, das muss anders mit UseFilesPerDBC
Case .n_UseFilesPerDBC = 2 And Inlist(lcExtension,.c_VC2,.c_SC2) Or lcExtension = .c_DC2
If Occurs('.', Juststem(.c_InputFile)) = 0 Then
lc_BaseFile = .c_InputFile
Else
lc_BaseFile = Forcepath( Forceext( Juststem( Juststem( Juststem(.c_InputFile) ) ), Justext(.c_InputFile)) , Justpath(.c_InputFile) )
Endif
*-- Verifico si se debe forzar la redirección al archivo principal
If '.' $ Juststem(.c_InputFile)
.c_InputFile = lc_BaseFile
Endif
Endcase
Endif
*!* /Changed by: Lutz Scheffler 03.03.2021
Erase ( .c_InputFile + '.ERR' ) Erase ( .c_InputFile + '.ERR' )
If Not Empty(tcOriginalFileName) If Not Empty(tcOriginalFileName)
@@ -25347,7 +25393,7 @@ Define Class CL_DBF_RECORDS As CL_COL_BASE
*!* Changed by: Lutz Scheffler 01.03.2021 *!* Changed by: Lutz Scheffler 01.03.2021
*!* change date="{^2021-03-01,12:45:00}" *!* change date="{^2021-03-01,12:45:00}"
* failure with macro substitution<br/> * failure with macro substitution<br/>
* for wharever raeson, macro substitution failed * for wharever reason, macro substitution failed
* EVALUATE() should do * EVALUATE() should do
* Scan For &tc_DBF_Conversion_Condition. * Scan For &tc_DBF_Conversion_Condition.
Scan For EVALUATE(m.tc_DBF_Conversion_Condition) Scan For EVALUATE(m.tc_DBF_Conversion_Condition)
@@ -25628,7 +25674,7 @@ Define Class CL_DBF_RECORD As CL_CUS_BASE
*!* Changed by: Lutz Scheffler 21.02.2021 *!* Changed by: Lutz Scheffler 21.02.2021
*!* change date="{^2021-02-21,10:57:00}" *!* change date="{^2021-02-21,10:57:00}"
* general note: * general note:
* - added code to handle NoCPTrans coding with or without bas64, just like the flag 4096 of CURSORTOXML * - added code to handle NoCPTrans coding with or without base64, just like the flag 4096 of CURSORTOXML
Lparameters taFields, tnField_Count, tl_DBF_BinChar_Base64 Lparameters taFields, tnField_Count, tl_DBF_BinChar_Base64
External Array taFields External Array taFields