Problems with trailing spaces in memo lines

fixed #81
additional problems
 - trailing spaces in varchar
 - DBF_Conversion_Support on table configuration file
 - Enhancements to parameters and docu
This commit is contained in:
Lutz
2022-04-07 16:32:38 +02:00
parent 3b4bad946e
commit 880bdaa82c
15 changed files with 91 additions and 31 deletions

View File

@@ -37,7 +37,8 @@ Stuff is a bit scattered, so this is where to look up.
**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_.
The most recent entries met in the middle of this section around * </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
The most recent entries for changes in the middle of this section around _* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>_,
The most recent bugs are listed above _* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>_
4. Alter version in _README.md_
4. Add a description to _docs\FoxBin2Prg_Changes.md_
6. Please alter the footer of *.md files touched to recent date.
@@ -73,4 +74,4 @@ In special:
Thanks
----
Last changed: _2022/04/03_ ![Picture](../docs/pictures/vfpxpoweredby_alternative.gif)
Last changed: _2022/04/07_ ![Picture](../docs/pictures/vfpxpoweredby_alternative.gif)

View File

@@ -2,8 +2,8 @@ Lparameters toUpdateInfo
Local lcNote
With toUpdateInfo
.VersionNumber = 'v1.19.70.0'
.VersionDate = Date(2022,03,16)
.VersionNumber = 'v1.19.70.07'
.VersionDate = Date(2022,04,07)
.SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip'
.Link = 'https://github.com/fdbozzo/foxbin2prg/wiki'
@@ -21,6 +21,16 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
+++++++++++++++++++++++ Change History +++++++++++++++++++++++
2022-04-07 v1.19.72
- Bug Fix: Problem on using "DBF_Conversion_Support" on table configuration file (LScheffler)
- Bug Fix: Problem converting intentionally trailing spaces to VarChar/VarBinary (LScheffler)
- Bug Fix: Problem converting trailing spaces on line end in memo (bjornhoeksel)
- Enhancement: Documentation in config file enhanced
- Enhancement: Added parameter "?" to show interactive help ("interactive" still works)
2022-03-30 v1.19.71
- Bug Fix: Convert menu mn2 to mnx with skip for that contains a string with ; sign is missing part after that sign in mnx. (bjornhoeksel)
2022-03-16 v1.19.70
- Bug Fix: Last bar in menu files are in some situations not converted correctly back in the mnx file. (bjornhoeksel)
- Docu: Buglist internal of FoxBin2Prg reordered

View File

@@ -1,4 +1,4 @@
# FoxBin2Prg v1.19.71
# FoxBin2Prg v1.19.72
**Binary/Text Converting program for Microsoft Visual FoxPro**
## Lutz Scheffler
@@ -83,6 +83,11 @@ DO FOXBIN2PRG.PRG WITH "-c","template.cfg" ==> Generates a template for Fox
DO FOXBIN2PRG.PRG WITH "-t","template.dbf.cfg" ==> Generates a template for table.dbf.cfg per table config file with newest settings
```
### Interactive list of options
```
DO FOXBIN2PRG.PRG WITH "?"
```
### Use with MS Windows SendTo
You can create up to three different shortcuts pointing to FoxBin2Prg.exe and in your "SendTo" folder in your Windows profile. This allows you to "send" a selected file (pjx,pj2,etc) to the selected option, and make on-the-fly conversions. (Make sure you have the option for seeing known file extensions turned on!):
@@ -138,4 +143,4 @@ For usage see [documentation](./docs/FoxBin2Prg.md)
## Contribution
See [contribution](./.github/CONTRIBUTING.md)
Last changed: _2022/03/31_ ![Picture](./docs/pictures/vfpxpoweredby_alternative.gif)
Last changed: _2022/04/07_ ![Picture](./docs/pictures/vfpxpoweredby_alternative.gif)

Binary file not shown.

View File

@@ -10,8 +10,8 @@ local;
lcappName = "FoxBin2Prg"
*Set following two numbers on version
ldDate = date(2022,03,30)
lcmajorVersion = "1.19.71"
ldDate = date(2022,04,07)
lcmajorVersion = "1.19.72"
*lnJulian = val(sys(11, m.ldDate)) - val(sys(11, {^2000-01-01}))
*lcJulian = padl(transform(lnJulian), 4, '0')
@@ -39,6 +39,13 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
+++++++++++++++++++++++ Change History +++++++++++++++++++++++
2022-04-07 v1.19.72
- Bug Fix: Problem on using "DBF_Conversion_Support" on table configuration file (LScheffler)
- Bug Fix: Problem converting intentionally trailing spaces to VarChar/VarBinary (LScheffler)
- Bug Fix: Problem converting trailing spaces on line end in memo (bjornhoeksel)
- Enhancement: Documentation in config file enhanced
- Enhancement: Added parameter "?" to show interactive help ("interactive" still works)
2022-03-30 v1.19.71
- Bug Fix: Convert menu mn2 to mnx with skip for that contains a string with ; sign is missing part after that sign in mnx. (bjornhoeksel)

View File

@@ -1,5 +1,5 @@
appName = FoxBin2Prg
appID = FoxBin2Prg
majorVersion = 1.19.71
majorVersion = 1.19.72
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*

View File

@@ -27,6 +27,11 @@ _**Note:** you can click on the version number for downloading this version from
| Rel.Date | Developer | Version | Details |
| - | - | - | - |
| 2022/04/07 | LScheffler | [v1.19.72](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.72) | **Bug Fix**: Problem converting trailing spaces on line end in memo (bjornhoeksel) |
| | | | **Bug Fix**: Problem converting intentionally trailing spaces to VarChar/VarBinary (LScheffler) |
| | | | **Bug Fix**: Bug Fix: Problem on using "DBF_Conversion_Support" on table configuration file (LScheffler) |
| | | | **Enhancement**: Documentation in config file enhanced |
| | | | **Enhancement**: Added parameter "?" to show interactive help ("interactive" still works) |
| 2022/03/30 | bjornhoeksel | [v1.19.71](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.71) | **Bug Fix**: Convert menu mn2 to mnx with skip for that contains a string with ; sign is missing part after that sign in mnx. (bjornhoeksel) |
| 2022/03/16 | LScheffler | [v1.19.70](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.70) | **Bug Fix**: Last bar in menu files are in some situations not converted correctly back in the mnx file. (bjornhoeksel) |
| | | | **Enhancement**: Buglist internal of FoxBin2Prg reordered |
@@ -409,4 +414,4 @@ _**Note:** you can click on the version number for downloading this version from
This project is part of [VFPX](https://vfpx.github.io/).
----
Last changed: _2022/03/30_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)
Last changed: _2022/04/07_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -73,7 +73,8 @@ just select and process each one independently, in parallel if you like, but in
| Parameter | Value (_Default_) | Description |
| ----- | ----- | ----- |
| cInputFile | fullpath | Full name of the file to convert or directory name to process <br/> without any other parameter given, the extension (and the config) defines the operation|
| cInputFile | ? / interactive | Call interactive list of parameters |
| | fullpath | Full name of the file to convert or directory name to process <br/> without any other parameter given, the extension (and the config) defines the operation |
| | _FileName::ClassName_ | If option UseClassPerFile is 1 or 2, a class-file will be extracted from the lib |
| cType | _empty_ | Fileextension of _cInputFile_ defines operation |
| | BIN2PRG | _cInputFile_ is processed for generating a _Text_ representation. |

View File

@@ -1,6 +1,6 @@
*################################################################################################################
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
*Version: v1.19.71
*Version: v1.19.72
*****************************************************************************************************************
* Note, configuration files will follow an inheritance.
@@ -8,7 +8,7 @@
* 2., optional FOXBIN2PRG.CFG in folder of FOXBIN2PRG.EXE
* 3., optional FOXBIN2PRG.CFG in root of working directory
* 4., optional FOXBIN2PRG.CFG in every folder up to the working directory
* 5., optional Special settings per aingle DBF's Syntax: <Tabellenname>.dbf.cfg in tables folder)
* 5., optional Special settings per single DBF's Syntax: <Tabellenname>.dbf.cfg in tables folder)
* 6., Parameter calling FOXBIN2PRG.EXE.
* Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults)

View File

@@ -1,6 +1,6 @@
*################################################################################################################
*-- Individual DBF configuration file (syntax: filename.dbf.cfg) Defaults see FoxBin2prg.cfg
*Version: v1.19.71
*Version: v1.19.72
*****************************************************************************************************************
*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)

Binary file not shown.

View File

@@ -26,7 +26,7 @@ _LegalTrademark = "MIT License"
_ProductName = "FOXBIN2PRG"
_MajorVer = "1"
_MinorVer = "19"
_Revision = "71"
_Revision = "72"
_LanguageID = "1034"
_AutoIncrement = "0"
*</DevInfo>

Binary file not shown.

Binary file not shown.

View File

@@ -288,6 +288,11 @@
* 16/03/2022 LScheffler v1.19.70 Bug Fix: Last bar in menu files are in some situations not converted correctly back in the mnx file. (bjornhoeksel)
* 16/03/2022 LScheffler v1.19.70 Docu: Bug list below
* 30/03/2022 bjornhoeksel v1.19.71 Bug Fix: Convert menu mn2 to mnx with skip for that contains a string with ; sign is missing part after that sign in mnx. (bjornhoeksel)
* 06/04/2022 LScheffler v1.19.72 Bug Fix: Problem on using "DBF_Conversion_Support" on table configuration file (LScheffler)
* 06/04/2022 LScheffler v1.19.72 Bug Fix: Problem converting intentionally trailing spaces to VarChar/VarBinary (LScheffler)
* 06/04/2022 LScheffler v1.19.72 Bug Fix: Problem converting trailing spaces on line end in memo (bjornhoeksel)
* 07/04/2022 LScheffler v1.19.72 Enhancement: Documentation in config file enhanced
* 07/04/2022 LScheffler v1.19.72 Enhancement: Added parameter "?" to show interactive help ("interactive" still works)
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
*
*---------------------------------------------------------------------------------------------------
@@ -451,6 +456,11 @@
* 16/03/2022 bjornhoeksel Bug REPORT v1.19.69 Last bar in menu files are in some situations not converted correctly back in the mnx file.
* 30/03/2022 bjornhoeksel Bug REPORT v1.19.70 Convert menu mn2 to mnx with skip for that contains a string with ; sign is missing part after that sign in mnx.
* 05/04/2022 bjornhoeksel Bug REPORT v1.19.71 Problem converting trailing spaces to text on memos.
* 06/04/2022 LScheffler Bug REPORT v1.19.71 Problem on using "DBF_Conversion_Support" on table configuration file (LScheffler)
* 06/04/2022 LScheffler Bug REPORT v1.19.71 Problem converting intentionally trailing spaces to VarChar/VarBinary.
* 06/04/2022 bjornhoeksel Bug REPORT v1.19.71 Problem converting trailing spaces on line end in memo (bjornhoeksel)
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
*
*---------------------------------------------------------------------------------------------------
@@ -739,7 +749,8 @@ tcType = Evl(tcType,'')
*!* change date="{^2021-02-15,18:44:00}"
* added option to create config files
If Atc('-BIN2PRG','-'+tc_InputFile) > 0 Or Atc('-PRG2BIN','-'+tc_InputFile) > 0 ;
OR Atc('-SHOWMSG','-'+tc_InputFile) > 0 Or Atc('-INTERACTIVE','-'+tc_InputFile) > 0 ;
OR Atc('-SHOWMSG','-'+tc_InputFile) > 0;
Or Atc('-INTERACTIVE','-'+tc_InputFile) > 0 Or Atc('-?','-'+tc_InputFile) > 0 ;
OR Atc('-SIMERR_I0','-'+tc_InputFile) > 0 Or Atc('-SIMERR_I1','-'+tc_InputFile) > 0 ;
OR Atc('-SIMERR_O1','-'+tc_InputFile) > 0;
OR Upper(tc_InputFile)=='-C' Or tc_InputFile=='-t' ;
@@ -965,7 +976,7 @@ Define Class c_foxbin2prg As Session
Protected n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess
*--
n_FB2PRG_Version = 1.19
c_FB2PRG_Version_Real = '1.19.71'
c_FB2PRG_Version_Real = '1.19.72'
*--
c_Language = '' && EN, FR, ES, DE
c_Language_In = '(auto)'
@@ -3852,7 +3863,7 @@ Define Class c_foxbin2prg As Session
*-- EJECUCIÓN NORMAL
If Atc('-INTERACTIVE', ('-' + tcType)) > 0 ;
If (Atc('-INTERACTIVE', ('-' + tcType)) > 0 OR Atc('-?', ('-' + tcType)) > 0 );
AND Atc('-BIN2PRG', ('-' + tcType)) = 0 And Atc('-PRG2BIN', ('-' + tcType)) = 0 ;
AND lcInputFile_Type == C_FILETYPE_DIRECTORY Then
*-- Se seleccionó un directorio y se puede elegir: Bin2Txt, Txt2Bin y Nada
@@ -26690,14 +26701,30 @@ Define Class CL_DBF_RECORD As CL_CUS_BASE
*-- SF: might, not must, see XMLTOCURSOR, flag 4096
luValue = Strconv(luValue,13)
Else
luValue = .Encode(Rtrim(luValue), .T.)
*!* Changed by: SF 07.4.2022
*!* <pdm>
*!* <change date="{^2022-04-07,15:11:00}">Changed by: SF<br />
*!* https://github.com/fdbozzo/foxbin2prg/issues/81 / Trailing spaces are lost for memo fields converting dbf with including data.
*!* RTRIM removed trsiling spaces from memo
*!* </change>
*!* </pdm>
luValue = .Encode(Rtrim(luValue), .T.)
luValue = .Encode(luValue, .T.)
Endif
Endcase
TEXT TO lcText TEXTMERGE NOSHOW flags 1+2 PRETEXT 1+2 additive
<<>> <<'<' + lcField + '>'>><<luValue>><<'</' + lcField + '>'>>
ENDTEXT
*!* Changed by: SF 07.4.2022
*!* TEXT .. ENDTEXT removes trailing spaces from lines inserted with TEXXTMERGE
*!* Char etc are processed special
If Vartype(luValue) = 'C'
lcText = lcText + 0H0D0A + ' <' + lcField + '>' + luValue + '</' + lcField + '>'
Else
TEXT TO lcText TEXTMERGE NOSHOW flags 1+2 PRETEXT 1+2 additive
<<>> <<'<' + lcField + '>'>><<luValue>><<'</' + lcField + '>'>>
ENDTEXT
Endif
*!* /Changed by SF 07.4.2022
Endif
Next
@@ -30466,7 +30493,8 @@ Define Class CL_LANG As Custom
<<>>FOXBIN2PRG.EXE <cFileSpec.Ext> [cType [cTextName [cGenText [cDontShowErrors [cDebug [cDontShowProgress [cOriginalFileName [cRecompile [cNoTimestamps [cCFG_File [cOutputFolder] ] ] ] ] ] ] ] ] ] ]
<<>>
<<>>-- Parameter details:
<<>>cFileSpec.Ext: Full name (fullpath) of the file to convert or directory name to process
<<>>cFileSpec.Ext: ? | interactive This help
<<>> Full name (fullpath) of the file to convert or directory name to process
<<>> - If 'BIN2PRG' is specified, the directory specified in tcType is processed for generating TX2
<<>> - If 'PRG2BIN' is specified, the directory specified in tcType is processed for regenerating BIN
<<>> - In SCCAPI (VSS) compatibility mode, it is used to query the conversion support for the file type specified
@@ -30512,7 +30540,7 @@ Define Class CL_LANG As Custom
<<>> 2., optional FOXBIN2PRG.CFG in folder of FOXBIN2PRG.EXE
<<>> 3., optional FOXBIN2PRG.CFG in root of working directory
<<>> 4., optional FOXBIN2PRG.CFG in every folder up to the working directory
<<>> 5., optional Special settings per aingle DBF's Syntax: <Tabellenname>.dbf.cfg in tables folder)
<<>> 5., optional Special settings per single DBF's Syntax: <Tabellenname>.dbf.cfg in tables folder)
<<>> 6., Parameter calling FOXBIN2PRG.EXE.
<<>>
<<>> Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults)
@@ -30741,7 +30769,8 @@ Define Class CL_LANG As Custom
<<>>FOXBIN2PRG.EXE <cFileSpec.Ext> [cType [cTextName [cGenText [cDontShowErrors [cDebug [cDontShowProgress [cOriginalFileName [cRecompile [cNoTimestamps [cCFG_File [cOutputFolder] ] ] ] ] ] ] ] ] ] ]
<<>>
<<>>-- Detalle de parámetros:
<<>>cFileSpec.Ext: Nombre completo (fullpath) del archivo a convertir o del directorio a procesar
<<>>cFileSpec.Ext: ? | interactive This help
<<>> Nombre completo (fullpath) del archivo a convertir o del directorio a procesar
<<>> - Si indica 'BIN2PRG', se procesa el directorio indicado en tcType para generar los TX2
<<>> - Si indica 'PRG2BIN', se procesa el directorio indicado en tcType para generar los BIN
<<>> - En modo compatibilidad con SCCAPI (VSS), se usa para preguntar el tipo de soporte de conversión para el tipo de archivo indicado
@@ -30786,7 +30815,7 @@ Define Class CL_LANG As Custom
<<>> 2., optional FOXBIN2PRG.CFG in folder of FOXBIN2PRG.EXE
<<>> 3., optional FOXBIN2PRG.CFG in root of working directory
<<>> 4., optional FOXBIN2PRG.CFG in every folder up to the working directory
<<>> 5., optional Special settings per aingle DBF's Syntax: <Tabellenname>.dbf.cfg in tables folder)
<<>> 5., optional Special settings per single DBF's Syntax: <Tabellenname>.dbf.cfg in tables folder)
<<>> 6., Parameter calling FOXBIN2PRG.EXE.
<<>>
<<>> Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults)
@@ -31015,7 +31044,8 @@ Define Class CL_LANG As Custom
<<>>FOXBIN2PRG.EXE <cFileSpec.Ext> [cType [cTextName [cGenText [cDontShowErrors [cDebug [cDontShowProgress [cOriginalFileName [cRecompile [cNoTimestamps [cCFG_File [cOutputFolder] ] ] ] ] ] ] ] ] ] ]
<<>>
<<>>-- Parameter:
<<>>cFileSpec.Ext: Vollständiger Name der Datei (mit Pfad) zum Konvertieren, oder das Verzeichnis zum Konvertieren
<<>>cFileSpec.Ext: ? | interactive Diese Hilfe
<<>> Vollständiger Name der Datei (mit Pfad) zum Konvertieren, oder das Verzeichnis zum Konvertieren
<<>> - wenn 'BIN2PRG' spezifiziert ist, wird das Verzeichnis in cType (!!) zum Erstellen der Textdateien genutzt
<<>> - wenn 'PRG2BIN' spezifiziert ist, wird das Verzeichnis in cType (!!) zum Erstellen der Binärdateien genutzt
<<>> - Im SCCAPI (VSS) Kompatibilitätsmodus, wird dies zur Abfrage der Unterstützung der Umwandlung für den genannten Dateityp genutzt
@@ -31027,7 +31057,7 @@ Define Class CL_LANG As Custom
<<>>cDontShowErrors: '1' Unterdrückt die Anzeige von Fehlern
<<>>cDebug: '1' Erzeugt LOG Dateien, Halte bei Fehlern an
<<>>cDontShowProgress: '1' Zeige kein Fortschrittsfenster
<<>>cOriginalFileName: Falls als Inputdatei eine temporäre Datei genutz wird, kann hier fürden Kopf der Textdatei der richtige Name angegeben werden.
<<>>cOriginalFileName: Falls als Inputdatei eine temporäre Datei genutzt wird, kann hier für den Kopf der Textdatei der richtige Name angegeben werden.
<<>>cRecompile: '1' Die erzeugten Binädateien werden nach dem Erzeugen kompiliert. Eine Pfadangabe (d.h., die des Projektes) ist möglich.
<<>>cNoTimestamps: Legt fest ob der Zeitstempel einiger Dateiarten gelöscht werden soll ('1' oder leer) oder nicht ('0')
<<>>cCFG_File: Legt eine alternative Configurationsdate (CFG) fest, die statt der im foxbin2prg Verzeichnis genutzt werden soll. (Anm. des Übersetzers: Keine Angabe über Vererbung in der Verzeichnishierarchie)
@@ -31312,7 +31342,8 @@ Define Class CL_LANG As Custom
<<>>FOXBIN2PRG.EXE <cFileSpec.Ext> [cType [cTextName [cGenText [cDontShowErrors [cDebug [cDontShowProgress [cOriginalFileName [cRecompile [cNoTimestamps [cCFG_File [cOutputFolder] ] ] ] ] ] ] ] ] ] ]
<<>>
<<>>-- Parameter details:
<<>>cFileSpec.Ext: Full name (fullpath) of the file to convert or directory name to process
<<>>cFileSpec.Ext: ? | interactive This help
<<>> Full name (fullpath) of the file to convert or directory name to process
<<>> - If 'BIN2PRG' is specified, the directory specified in tcType is processed for generating TX2
<<>> - If 'PRG2BIN' is specified, the directory specified in tcType is processed for regenerating BIN
<<>> - In SCCAPI (VSS) compatibility mode, it is used to query the conversion support for the file type specified
@@ -31358,7 +31389,7 @@ Define Class CL_LANG As Custom
<<>> 2., optional FOXBIN2PRG.CFG in folder of FOXBIN2PRG.EXE
<<>> 3., optional FOXBIN2PRG.CFG in root of working directory
<<>> 4., optional FOXBIN2PRG.CFG in every folder up to the working directory
<<>> 5., optional Special settings per aingle DBF's Syntax: <Tabellenname>.dbf.cfg in tables folder)
<<>> 5., optional Special settings per single DBF's Syntax: <Tabellenname>.dbf.cfg in tables folder)
<<>> 6., Parameter calling FOXBIN2PRG.EXE.
<<>>
<<>> Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults)
@@ -31562,7 +31593,7 @@ Define Class CL_DBF_CFG As Custom
*-- Configuration class. By default asumes master value, except when overriding one.
DBF_Conversion_Support = Null
n_DBF_Conversion_Support = Null
DBF_Conversion_Order = ''
DBF_Conversion_Condition = ''
DBF_IndexList = ''