diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 26d3412..2a612ab 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -33,7 +33,8 @@ Stuff is a bit scattered, so this is where to look up. 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 * -4. Add a description to _FoxBin2Prg_Changes.md_ +4. Alter version in _README.md_ +4. Add a description to _docs\FoxBin2Prg_Changes.md_ 4. If a change to the config files is made please add the description to the various properties (multi lang) - _C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg:_ for general settings - _C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_tab_cfg:_ for settings per table @@ -42,7 +43,7 @@ Stuff is a bit scattered, so this is where to look up. - Or change version number in those files manually - **Note**. If you are not on an English comp, set in the value _Language: EN_ in your local _foxbin2prg.cfg_ to create English files. 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. +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. 0. Compile to EXE 1. Change Thor (see below) diff --git a/FoxBin2PRGVersionFile.txt b/FoxBin2PRGVersionFile.txt index 1adc003..c1a5553 100644 --- a/FoxBin2PRGVersionFile.txt +++ b/FoxBin2PRGVersionFile.txt @@ -2,8 +2,8 @@ Lparameters toUpdateInfo Local lcNote With toUpdateInfo - .VersionNumber = 'v1.19.65.0' - .VersionDate = Date(2021,05,20) + .VersionNumber = 'v1.19.70.0' + .VersionDate = Date(2022,03,16) .SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip' .Link = 'https://github.com/fdbozzo/foxbin2prg/wiki' @@ -21,9 +21,13 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg +++++++++++++++++++++++ Change History +++++++++++++++++++++++ +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 + 2022-02-25 v1.19.69 --Bug Fix: Missing class when building text file from corrupted VCX --Bug Fix: Recreating a class while an object with same name exists in VCX fails +- Bug Fix: Missing class when building text file from corrupted VCX +- Bug Fix: Recreating a class while an object with same name exists in VCX fails - Docu: Template configuration files FOXBIN2PRG.DBF.TXT and FOXBIN2PRG.DBF.CFG.TXT in English | - Docu: Notice in contribution file to creating files above in English | - Docu: Started reworking double documentation | diff --git a/README.md b/README.md index 61ec0ea..c623315 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# FoxBin2Prg v1.19.67 +# FoxBin2Prg v1.19.70 **Binary/Text Converting program for Microsoft Visual FoxPro** ## Lutz Scheffler @@ -6,13 +6,17 @@ This is the perpetuation of [Fernando D. Bozzo](https://github.com/fdbozzo) foxbin2prg. It's the main tool with some bugs fixes and some new functions. -It looks like Fernando does not longer maintain FoxBin2Prg, so, with his permission, I work onto this. -On my [fork](https://github.com/lscheffler/foxbin2prg). -updates may be faster there, because of the merge process. +Since I know maintain this project, my [fork](https://github.com/lscheffler/foxbin2prg) is no longer in sync. The spanish documentation is not longer maintained - it would fade. -For fast acces a quick run is [introduced](#use-foxbin2prg), more [complex](./docs/FoxBin2Prg_Run.md#usage-1), and a large [documentation](./docs/FoxBin2Prg.md) exists too. -Remember yourself to compile the exe first. +For fast access a quick run is [introduced](#use-foxbin2prg), more [complex](./docs/FoxBin2Prg_Run.md#usage-1), and a large [documentation](./docs/FoxBin2Prg.md) exists too. +If you do not access FoxBin2Prg via [Thor](https://github.com/VFPX/Thor) remind yourself to compile the exe first. + +--- +--- +If you like to value my work, support the Geeks at +[![Virtual Fox Fest!](https://virtualfoxfest.com/images/ZoomFoxSmall.png)](https://virtualfoxfest.com/) or [![Southwest Fox!](http://www.swfox.net/images/KokoWhite.jpg)](www.swfox.net). +I also do not reject invitations to a beer, next time in Gilbert. --- --- @@ -24,11 +28,6 @@ If you like to see Fernandos blog, or value his work: Thank you for your support! ---- ---- -If you like to value my work, support the Geeks at https://virtualfoxfest.com/ or www.swfox.net. -I also do not reject invitations to beer, next time in Gilbert. - --- --- diff --git a/ThorUpdater/FoxBin2Prg.zip b/ThorUpdater/FoxBin2Prg.zip index fa104f7..d3e647b 100644 Binary files a/ThorUpdater/FoxBin2Prg.zip and b/ThorUpdater/FoxBin2Prg.zip differ diff --git a/ThorUpdater/FoxBin2PrgVersion.txt b/ThorUpdater/FoxBin2PrgVersion.txt index 8f1687a..b880b40 100644 --- a/ThorUpdater/FoxBin2PrgVersion.txt +++ b/ThorUpdater/FoxBin2PrgVersion.txt @@ -11,7 +11,7 @@ local; lcappName = "FoxBin2Prg" *Set following two numbers on version ldDate = date(2022,02,25) -lcmajorVersion = "1.19.69" +lcmajorVersion = "1.19.70" *lnJulian = val(sys(11, m.ldDate)) - val(sys(11, {^2000-01-01})) *lcJulian = padl(transform(lnJulian), 4, '0') @@ -39,9 +39,13 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg +++++++++++++++++++++++ Change History +++++++++++++++++++++++ +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 + 2022-02-25 v1.19.69 --Bug Fix: Missing class when building text file from corrupted VCX (bjornhoeksel) --Bug Fix: Recreating a class while an object with same name exists in VCX fails (bjornhoeksel) +- Bug Fix: Missing class when building text file from corrupted VCX (bjornhoeksel) +- Bug Fix: Recreating a class while an object with same name exists in VCX fails (bjornhoeksel) - Docu: Template configuration files FOXBIN2PRG.DBF.TXT and FOXBIN2PRG.DBF.CFG.TXT in English - Docu: Notice in contribution file to creating files above in English - Docu: Started reworking double documentation diff --git a/ThorUpdater/Project.txt b/ThorUpdater/Project.txt index 187c3d2..bf0b1fb 100644 --- a/ThorUpdater/Project.txt +++ b/ThorUpdater/Project.txt @@ -1,5 +1,5 @@ appName = FoxBin2Prg appID = FoxBin2Prg -majorVersion = 1.19.69 +majorVersion = 1.19.70 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_Changes.md b/docs/FoxBin2Prg_Changes.md index fa6f7ea..02df6ef 100644 --- a/docs/FoxBin2Prg_Changes.md +++ b/docs/FoxBin2Prg_Changes.md @@ -27,6 +27,9 @@ _**Note:** you can click on the version number for downloading this version from | Rel.Date | Developer | Version | Details | | - | - | - | - | +| 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 | +| | | | **Enhancement**: Enhancement to documentation | | 2022/02/25 | LScheffler | [v1.19.69](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.69) | **Bug Fix**: Missing class when building text file from corrupted VCX (bjornhoeksel) | | 2022/02/23 | LScheffler | [v1.19.69](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.69) | **Bug Fix**: Recreating a class while an object with same name exists in VCX fails (bjornhoeksel) | | | | | **Enhancement**: Template configuration files FOXBIN2PRG.DBF.TXT and FOXBIN2PRG.DBF.CFG.TXT in English | @@ -405,4 +408,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/02/25_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2022/03/16_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/docs/FoxBin2Prg_git.md b/docs/FoxBin2Prg_git.md index fdc6366..6042af9 100644 --- a/docs/FoxBin2Prg_git.md +++ b/docs/FoxBin2Prg_git.md @@ -72,7 +72,7 @@ It's a Linux tool developed to deal with the Kernel code. Highly sophisticated, neat, fast. So storing binaries into it is something one should avoid as far as possible. -There is stuff where on might not circumvent it - like pictures. +There is stuff where one might not circumvent it - like pictures. #### Text representation of VFP's binaries And there is the oddness of VFP sources. Storing those to git is as wrong as it could be. @@ -102,12 +102,13 @@ If I imagine to have one of my larger vcx's like this in a merge view - no. Just split up the vcx's into single classes. It's like a charm on merge and diff. Also on blame. -I you go for the _lib.baseclass.classname.vc2_ or _lib.classname.vc2_ style is a matter of taste. +If you go for the _lib.baseclass.classname.vc2_ or _lib.classname.vc2_ style is a matter of taste. I can see baseclass on classname, so there is not much value, other might think different. But split into classes makes life easy. +This is to be done in the [config file](#config), setting _UseClassPerFile_ option to 1 or 2. #### Forms -Side effect is that SCX will be split into 3 files too. +Side effect of splitting VCX is that SCX will be split into 3 files too. I have no idea if there is some use of it - I just do classes. If you like it separated from VCX - let me know. @@ -118,6 +119,10 @@ So I've added an option to inhibit splitting DBC while splitting VCX/SCX. #### Tables Since nobody brought up the .NULL. problem, it looks like it's not commonly used. It works for me for a while now and I found no problems so far. +##### Note +I do DBF / DBC to text and vice versa for a while now, but still with the binaries. I found no problem yet, except the binaries are a pain on merges. +What I see is that a synthetic PK is helpfull, not all the lookups had one. So I added one just for the purpose of merging. + #### Others All the other table-based-sources of VFP work seamless as _Text_. No fuzz. @@ -260,36 +265,68 @@ If I have to checkout old stuff. ```` *################################################################################################################ *FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS) +*Version: v1.19.69 +***************************************************************************************************************** -*extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom) +* Note, configuration files will follow an inheritance. +* 1. Default values +* 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: .dbf.cfg in tables folder) +* 6., Parameter calling FOXBIN2PRG.EXE. + +* Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults) +***************************************************************************************************************** + +*-- Settings for internal work, not processing +*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT] *ShowProgressbar: 1 && 0=Don't show, 1=Allways show, 2= Show only for multi-file processing *DontShowErrors: 0 && Show message errors by default -*NoTimestamps: 1 && Clear timestamps by default for minimize differences -*Debug: 0 && Don't Activate individual .Log by default -*BodyDevInfo: 0 && [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo *ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none -*ClearUniqueID: 1 && 0=Keep UniqueID in text files, 1=Clear Unique ID. Useful for Diff and Merge -*ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff. -*OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches! -*RemoveNullCharsFromCode: 1 && 1=Drop NULL chars from source code -*RemoveZOrderSetFromProps: 0 && 0=Do not remove ZOrderSet property from object, 1=Remove ZOrderSet property from object -*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT] -*ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2 -*PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment +*Debug: 0 && Don't Activate individual .Log by default +*BackgroundImage: && Backgroundimage for process form. Empty for empty Background. File not found uses default. +*HomeDir: 1 && Home Directory in PJX +* && 0 don't save HomeDir in PJ2 +* && 1 save HomeDir in PJ2 +*---------------------------------------------------------------------------------------------------------------- -*-- Convertion options: +*-- Conversion operation by type *PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) *VCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) *SCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) *FRX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) *LBX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) *MNX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) -*FKY_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) -*MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) *DBC_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) *DBF_Conversion_Support: 1 && 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_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf -*DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf +*FKY_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) +*MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) +*---------------------------------------------------------------------------------------------------------------- + +*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) +*UseClassPerFile: 0 && Determines how a library (or form) will handle included class (or, for forms, objects) +* && 0 One library.tx2 file +* && 1 Multiple file.class.tx2 files +* && 2 Multiple file.baseclass.class.tx2 files +*RedirectClassPerFileToMain: 0 && When regenerating binary files, determine target file +* && 0 Don't redirect to file.tx2 +* && 1 Redirect to file.tx2 when selecting file[.baseclass].class.tx2 +* && RedirectClassType: 1 has precedence +*RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 +* && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2 +* && For the second form: +* && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library +* && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX +* && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX +*ClassPerFileCheck: 0 && Check, if files listed in the main file of a library or form will be included +* && 0 Don't check file inclusion +* && 1 Check file[.baseclass].class.tx2 inclusion +* && Only used if import file is in file[.baseclass].class.tx2 syntax +* && Ignored for RedirectClassType: 2 +*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *-- DBC options *- File per DBC options (UseFilesPerDBC: 1) @@ -301,29 +338,47 @@ If I have to checkout old stuff. * && 1 creates a file.dc2 with DBC properties * && and additional DBC files per DBC item (stored-proc, table, ..) * && Note: recration only if RedirectFilePerDBCToMain is 1 -*RedirectFilePerDBCToMain 0 && 0=Don't redirect to file.dc2, 1=Redirect to file.tx2 when selecting file.item.*.dc2 +*RedirectFilePerDBCToMain: 0 && 0=Don't redirect to file.dc2, 1=Redirect to file.tx2 when selecting file.item.*.dc2 *ItemPerDBCCheck: 0 && 0=Don't check file.item.*.dc2 inclusion, 1=Check file.item.*.dc2 inclusion -*DBF_BinChar_Base64: 1 && 0=For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default) +*---------------------------------------------------------------------------------------------------------------- + +*-- General files +*NoTimestamps: 1 && Clear timestamps of several file types by default for minimize text-file differences +*ClearUniqueID: 1 && 0=Keep UniqueID in text files, 1=Clear Unique ID. Useful for Diff and Merge +*OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches! +*RemoveNullCharsFromCode: 1 && 1=Drop NULL chars from source code +*RemoveZOrderSetFromProps: 0 && 0=Do not remove ZOrderSet property from object, 1=Remove ZOrderSet property from object +*PRG_Compat_Level: 0 && 0=Legacy, 1=Use HELPSTRING as Class Procedure comment +*---------------------------------------------------------------------------------------------------------------- + +*-- PJX special +*BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo +*---------------------------------------------------------------------------------------------------------------- + +*-- DBF special +*ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff. +*ExcludeDBFAutoincNextval: 0 && 0=Do not exclude this value from db2, 1=Exclude this value from db2 +*DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf +*DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf +*DBF_BinChar_Base64: 1 && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default) *DBF_IncludeDeleted: 0 && 0=Do not include deleted records (default), 1=Include deleted records +*---------------------------------------------------------------------------------------------------------------- -*-- Class per file options (UseClassPerFile: 1) -*UseClassPerFile: 0 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files -*RedirectClassPerFileToMain: 0 && 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2 -*ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion - +*-- Text file extensions +*extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom) *-- Example configuration for SourceSafe compatibility: -*extension: pj2=pja -*extension: vc2=vca -*extension: sc2=sca -*extension: fr2=fra -*extension: lb2=lba -*extension: mn2=mna -*extension: db2=dba -*extension: dc2=dca +*extension: pj2=pja && Text file to PJX +*extension: vc2=vca && Text file to VCX +*extension: sc2=sca && Text file to SCX +*extension: fr2=fra && Text file to FRX +*extension: lb2=lba && Text file to LBX +*extension: mn2=mna && Text file to MNX +*extension: db2=dba && Text file to DBF +*extension: dc2=dca && Text file to DBC *-- Additional extensions -*extension: fk2=fkx && FKY -*extension: me2=fkx && MEM - +*extension: fk2=fkx && Text file to FKY +*extension: me2=fkx && Text file to MEM +* *Settings changed *---------------- UseClassPerFile: 2 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files @@ -331,7 +386,7 @@ RedirectClassPerFileToMain: 1 && 0=Don't redirect to file.tx2, 1=Redirect to f DBF_Conversion_Support: 0 && 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) DBC_Conversion_Support: 0 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) ```` -All use off this are the last four lines. But I like to keep the template (recent as version 1.19.55). +All use off this are the last four lines. But I like to keep the template (recent as version 1.19.69). - Using single classes - because it's much more easy to merge a single class then a whole library. - A single class selected might be added to the VCX - Turn off DBC and DBF conversion @@ -341,4 +396,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: _2021/08/30_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2022/03/03_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/foxbin2prg.cfg.txt b/foxbin2prg.cfg.txt index bc80bc9..6bf3d35 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.69 +*Version: v1.19.70 ***************************************************************************************************************** * Note, configuration files will follow an inheritance. diff --git a/foxbin2prg.dbf.cfg.txt b/foxbin2prg.dbf.cfg.txt index b1dc043..0b8295d 100644 --- a/foxbin2prg.dbf.cfg.txt +++ b/foxbin2prg.dbf.cfg.txt @@ -1,6 +1,6 @@ *################################################################################################################ *-- Individual DBF configuration file (syntax: filename.dbf.cfg) Defaults see FoxBin2prg.cfg -*Version: v1.19.69 +*Version: v1.19.70 ***************************************************************************************************************** *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) diff --git a/foxbin2prg.exe b/foxbin2prg.exe index 6851f0d..e1be68d 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index 220db0b..7ecaf2d 100644 Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index d6459e9..3ea3ae6 100644 Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 0bfdf12..eb0fd5b 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -285,23 +285,12 @@ * 25/02/2022 LScheffler v1.19.69 Bug Fix: Missing class when building text file from corrupted VCX (bjornhoeksel) * 25/02/2022 LScheffler v1.19.69 github: added tags to bring links in docu to work * 25/02/2022 LScheffler v1.19.69 Docu: examples and template for config files enhanced +* 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 * * *--------------------------------------------------------------------------------------------------- * -* 23/02/2022 bjornhoeksel Bug REPORT v1.19.69 Missing class when building text file from corrupted VCX -* 23/02/2022 bjornhoeksel Bug REPORT v1.19.69 Creating a class, when an object is named equal to this class -* 18/01/2022 Jimrnelson BUG REPORT v1.19.67 Converting MN2 to MNX ignores the programmer-defined "Pad Name" found in "Prompt Options" screen -* 05/11/2021 LScheffler BUG REPORT v1.19.66 Double classes in VCX -* 05/08/2021 siara-cc BUG REPORT v1.19.65 Incorrect version number shown. -* 05/08/2021 siara-cc BUG REPORT v1.19.65 Tags missing on github. -* 05/08/2021 siara-cc BUG REPORT v1.19.65 Incorrect links on documentation. -* 17/05/2021 LScheffler BUG REPORT v1.19.64 Options "-cCt" are not usable on command line base EXE. -* 22/04/2021 LScheffler BUG REPORT v1.19.63 Converting MN2 to MNX ignores the programmer-defined Pad Name found in "Prompt Options" screen -* 21/04/2021 Jimrnelson BUG REPORT v1.19.63 Converting MN2 to MNX ignores the programmer-defined bar # found in "Prompt Options" screen -* 08/04/2021 jstagerGH BUG REPORT v1.19.62 Tables without indexes cause an error that the "Table ## is not marked as belonging to the ## database" -* 30/03/2021 Sergej s-s-a BUG REPORT v1.19.61 Ignoring extention in foxbin2prg.cfg -* 16/03/2021 msueping BUG REPORT v1.19.57 Variable lnFileCount in get_filesfromdirectory * 23/11/2013 Luis Martínez REPORTE BUG scx v1.4: En algunos forms solo se generaba el dataenvironment (arreglado en v.1.5) * 27/11/2013 Fidel Charny REPORTE BUG vcx v1.5: Error en el guardado de ciertas propiedades de array (arreglado en v.1.6) * 02/12/2013 Fidel Charny REPORTE BUG scx v1.6: Se pierden algunas propiedades y no muestra picture si "Name" no es la última (arreglado en v.1.7) @@ -442,9 +431,23 @@ * 05/03/2021 Lutz Scheffler Bug report v1.19.56 For RedirectClassType = 2, Path was set wrong * 09/03/2021 Lutz Scheffler Bug report v1.19.57 For RedirectClassType = 2, Path was set wrong * 09/03/2021 Lutz Scheffler Bug report v1.19.57 RedirectClassType = 2, UseClassPerFile = 2 failed. -* xx/xx/2021 Lutz Scheffler Bug report v1.19.59 DBF_Conversion_Condition was read, but never used -* xx/xx/2021 Lutz Scheffler Bug report v1.19.59 DBF_Conversion_Order sets an index that later would be stored as structural index -* xx/xx/2021 Lutz Scheffler Bug report v1.19.59 config options with text value fail, if line comment is set +* 22/03/2021 Lutz Scheffler Bug report v1.19.59 DBF_Conversion_Condition was read, but never used +* 22/03/2021 Lutz Scheffler Bug report v1.19.59 DBF_Conversion_Order sets an index that later would be stored as structural index +* 22/03/2021 Lutz Scheffler Bug report v1.19.59 config options with text value fail, if line comment is set +* 16/03/2021 msueping BUG REPORT v1.19.57 Variable lnFileCount in get_filesfromdirectory +* 30/03/2021 Sergej s-s-a BUG REPORT v1.19.61 Ignoring extention in foxbin2prg.cfg +* 08/04/2021 jstagerGH BUG REPORT v1.19.62 Tables without indexes cause an error that the "Table ## is not marked as belonging to the ## database" +* 22/04/2021 LScheffler BUG REPORT v1.19.63 Converting MN2 to MNX ignores the programmer-defined Pad Name found in "Prompt Options" screen +* 21/04/2021 Jimrnelson BUG REPORT v1.19.63 Converting MN2 to MNX ignores the programmer-defined bar # found in "Prompt Options" screen +* 17/05/2021 LScheffler BUG REPORT v1.19.64 Options "-cCt" are not usable on command line base EXE. +* 05/08/2021 siara-cc BUG REPORT v1.19.65 Incorrect version number shown. +* 05/08/2021 siara-cc BUG REPORT v1.19.65 Tags missing on github. +* 05/08/2021 siara-cc BUG REPORT v1.19.65 Incorrect links on documentation. +* 05/11/2021 LScheffler BUG REPORT v1.19.66 Double classes in VCX +* 18/01/2022 Jimrnelson BUG REPORT v1.19.67 Converting MN2 to MNX ignores the programmer-defined "Pad Name" found in "Prompt Options" screen +* 23/02/2022 bjornhoeksel Bug REPORT v1.19.68 Missing class when building text file from corrupted VCX +* 23/02/2022 bjornhoeksel Bug REPORT v1.19.68 Creating a class, when an object is named equal to this class +* 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. * * @@ -960,7 +963,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.69' + c_FB2PRG_Version_Real = '1.19.70' *-- c_Language = '' && EN, FR, ES, DE c_Language_In = '(auto)' @@ -28585,17 +28588,30 @@ Define Class CL_MENU_OPTION As CL_MENU_COL_BASE Case Left ( m.lcBarName, 1 ) = '"' lcBarName = Substr( m.lcBarName, 2, Len( m.lcBarName ) - 2 ) loReg.Name = m.lcBarName - loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM +* loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM + Case Isdigit( m.lcBarName ) *-- Bar# - loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM +* loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM Otherwise *-- Es un BAR del sistema - loReg.Name = m.lcBarName + loReg.Name = m.lcBarName +* loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM Endcase +*!* Changd By: SF 16.3.2022 +*!* +*!* Changd By: SF
+*!* Issue #79, by bjornhoeksel +* loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM for OTHERWISE too, +* just move it out of the case +*!*
+*!*
+ loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM + +*!* /Changd By: SF 16.3.2022 *!* /Changd By: SF 22.4.2021 loReg.LevelName = Alltrim( Strextract( tcLine, ' OF ', ' PROMPT ' ) )