diff --git a/docs/ChangeLog.md b/docs/ChangeLog.md
index dc9b973..169b959 100644
--- a/docs/ChangeLog.md
+++ b/docs/ChangeLog.md
@@ -27,7 +27,8 @@ _**Note:** you can click on the version number for downloading this version from
| Rel.Date | Developer | Version | Details |
| - | - | - | - |
-| 2023/08/04 | LScheffler | [v1.19.79](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.79) | **Bug Fix**: Bin2Text: Forms with ole controls conversion error (also: any vcx) #95 (KestasL) |
+| 2023/08/xx | LScheffler | [v1.19.79](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.79) | **Bug Fix**: Issues with form charsets ( national letters in form and controls Caption field) (KestasL)
This fixes also: Forms with ole controls conversion error (also: any vcx) #95 (KestasL) |
+| | | | **Enhancement**: Added option to return version number |
| 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) |
diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index c2b1a89..40fa5aa 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -304,7 +304,8 @@
* 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)
-* 04/08/2023 LScheffler v1.19.79 Bug Fix: Bin2Text: Forms with ole controls conversion error (also: any vcx)
+* 06/08/2023 LScheffler v1.19.79 Enhancement: Added option to return version number (KestasL)
+* 20/08/2023 LScheffler v1.19.79 Bug Fix: codepage is lost on recreation, issue #96, fixes issue #95 (OLE) as well (KestasL)
*
*
*---------------------------------------------------------------------------------------------------
@@ -480,7 +481,8 @@
* 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)
-* 04/08/2023 KestasL Bug REPORT v1.19.78 Bin2Text: Forms with ole controls conversion error (also: any vcx)
+* 04/08/2023 KestasL Bug REPORT v1.19.78 Bin2Text: Forms with ole controls conversion error issue #95 (also: any vcx) (KestasL)
+* 04/08/2023 KestasL Bug REPORT v1.19.78 Codepage is lost on recreation, issue #96 (KestasL)
*
*
*---------------------------------------------------------------------------------------------------
@@ -533,6 +535,12 @@
* -t Create config template "tcType" for config-per-table file
* tcType (v! IN ) file to create
*---------------------------------------------------------------------------------------------------
+*** LScheffler 2023-08-06: added option to output version number
+* Usage 2
+* PARAMETERS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
+* tc_InputFile (c! IN ) Modus (case sensitive)
+* -VERNO Return versio number (DC_FB2PRG_VERSION_REAL)
+*---------------------------------------------------------------------------------------------------
Lparameters tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName ;
, tcRecompile, tcNoTimestamps, tcCFG_File, tcOutputFolder
@@ -772,6 +780,17 @@ Local lnResp, loEx As Exception
tc_InputFile = Evl(tc_InputFile,'')
tcType = Evl(tcType,'')
+*!* Changed by: LScheffler 06.08.2023
+*!* change date="{^2023-08-06,14:29:00}"
+* added option to return version number
+If Atc('-VERNO','-'+tc_InputFile) > 0
+ tc_InputFile = DC_FB2PRG_VERSION_REAL
+ RETURN DC_FB2PRG_VERSION_REAL
+Endif &&Atc('-VERNO','-'+tc_InputFile) > 0
+
+*!* /Changed by: LScheffler 06.08.2023
+
+
*!* Changed by: LScheffler 15.2.2021
*!* change date="{^2021-02-15,18:44:00}"
* added option to create config files
@@ -1123,7 +1142,10 @@ Define Class c_foxbin2prg As Session
*** DH 2021-03-04: added cOutputFolder and n_HomeDir properties
cOutputFolder = '' && the folder to write files to (blank = same folder as source file)
n_HomeDir = 1 && 0 = don't save HomeDir in PJ2, 1 = save HomeDir in PJ2
-
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ i_CPID = 0 &&CPCURRENT(1)
+
Procedure Init
Lparameters tcCFG_File, tcCancelWithEscKey
@@ -5262,12 +5284,14 @@ Define Class c_foxbin2prg As Session
lcText = ''
*-- Cabecera del PRG e inicio de DEF_CLASS
+*SF 20230822
+*issue #96, [KestasL] keep CodePage relavant information for binary sources, added CPID value
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (ES) AUTOGENERADO - ˇˇATENCIÓN!! - ˇˇNO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
- <> Version="<>" SourceFile="<>" <> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+ <> Version="<>" SourceFile="<>" CPID="<>" <> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
ENDTEXT
@@ -7186,7 +7210,7 @@ Define Class c_conversor_base As Custom
* anywhere else it will respect this to,
* so it's in the general settings or not
-* SET BLOCKSIZE TO 0
+ SET BLOCKSIZE TO 0
*!* /Changed by: LScheffler 21.02.2021
@@ -8991,8 +9015,6 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
Endfunc
-
-
Procedure analyzeCodeBlock_FoxBin2Prg
*------------------------------------------------------
*-- Analiza el bloque
@@ -9009,6 +9031,9 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues, @lnPropsAndValues_Count, C_FB2PRG_META_I, C_FB2PRG_META_F )
toModulo._Version = .get_ValueByName_FromListNamesWithValues( 'Version', 'N', @laPropsAndValues )
toModulo._SourceFile = .get_ValueByName_FromListNamesWithValues( 'SourceFile', 'C', @laPropsAndValues )
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ toModulo._CPID = .get_ValueByName_FromListNamesWithValues( 'CPID', 'I', @laPropsAndValues )
Endwith
Endif
@@ -9042,13 +9067,16 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
Procedure createProject
- Lparameters tcTableOrCursor && 'TABLE' or 'CURSOR'
+ Lparameters toProject
- Local lcCursorName
- tcTableOrCursor = Evl( tcTableOrCursor, 'TABLE' )
- lcCursorName = Icase( tcTableOrCursor = 'TABLE', This.c_OutputFile, 'TABLABIN' )
+ Local lcCodepage
- Create &tcTableOrCursor. (lcCursorName) ;
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ lcCodepage = Str(toProject._CPID)
+
+ Create TABLE (This.c_OutputFile) ;
+ CODEPAGE = &lcCodepage. ;
( Name M ;
, Type C(1) ;
, Id N(10) ;
@@ -9078,9 +9106,9 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
, Key C(32) ;
, User M )
- If tcTableOrCursor = 'TABLE' Then
- Use (This.c_OutputFile) Alias TABLABIN Again Shared
- Endif
+ Use (This.c_OutputFile) Alias TABLABIN Again Shared
+
+ SET NOCPTRANS TO Name,OUTFILE,HomeDir,DEVINFO,SYMBOLS,Object,COMMENTS,RESERVED1,RESERVED2,SCCDATA,User
Endproc
@@ -9139,13 +9167,16 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
Procedure createClasslib
- Lparameters tcTableOrCursor && 'TABLE' or 'CURSOR'
+ Lparameters toModulo
- Local lcCursorName
- tcTableOrCursor = Evl( tcTableOrCursor, 'TABLE' )
- lcCursorName = Icase( tcTableOrCursor = 'TABLE', This.c_OutputFile, 'TABLABIN' )
+ Local lcCodepage
- Create &tcTableOrCursor. (lcCursorName) ;
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ lcCodepage = Str(toModulo._CPID)
+
+ Create TABLE (This.c_OutputFile) ;
+ CODEPAGE = &lcCodepage. ;
( PLATFORM C(8) ;
, UNIQUEID C(10) ;
, Timestamp N(10) ;
@@ -9170,9 +9201,10 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
, RESERVED8 M ;
, User M )
- If tcTableOrCursor = 'TABLE' Then
- Use (This.c_OutputFile) Alias TABLABIN Again Shared
- Endif
+ Use (This.c_OutputFile) Alias TABLABIN Again Shared
+
+ SET NOCPTRANS TO Class,CLASSLOC,BaseClass,OBJNAME,Parent,PROPERTIES,Protected,METHODS,OBJCODE,OLE,OLE2,;
+ RESERVED1,RESERVED2,RESERVED3,RESERVED4,RESERVED5,RESERVED6,RESERVED7,RESERVED8,User
Endproc
@@ -9201,13 +9233,16 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
Procedure createForm
- Lparameters tcTableOrCursor && 'TABLE' or 'CURSOR'
+ Lparameters toModulo
- Local lcCursorName
- tcTableOrCursor = Evl( tcTableOrCursor, 'TABLE' )
- lcCursorName = Icase( tcTableOrCursor = 'TABLE', This.c_OutputFile, 'TABLABIN' )
+ Local lcCodepage
- Create &tcTableOrCursor. (lcCursorName) ;
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ lcCodepage = Str(toModulo._CPID)
+
+ Create TABLE (This.c_OutputFile) ;
+ CODEPAGE = &lcCodepage. ;
( PLATFORM C(8) ;
, UNIQUEID C(10) ;
, Timestamp N(10) ;
@@ -9232,9 +9267,10 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
, RESERVED8 M ;
, User M )
- If tcTableOrCursor = 'TABLE' Then
- Use (This.c_OutputFile) Alias TABLABIN Again Shared
- Endif
+ Use (This.c_OutputFile) Alias TABLABIN Again Shared
+
+ SET NOCPTRANS TO CLASS,CLASSLOC,BASECLASS,OBJNAME,PARENT,PROPERTIES,PROTECTED,METHODS;
+ ,OBJCODE,OLE,OLE2,RESERVED1,RESERVED2,RESERVED3,RESERVED4,RESERVED5,RESERVED6,RESERVED7,RESERVED8,USER
Endproc
@@ -9263,13 +9299,19 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
Procedure createReport
- Lparameters tcTableOrCursor && 'TABLE' or 'CURSOR'
-
- Local lcCursorName
+ Lparameters tcTableOrCursor,toReport && 'TABLE' or 'CURSOR'
+
+
+ Local lcCursorName,lcCodepage
tcTableOrCursor = Evl( tcTableOrCursor, 'TABLE' )
lcCursorName = Icase( tcTableOrCursor = 'TABLE', This.c_OutputFile, 'TABLABIN' )
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ lcCodepage = Icase(ISNULL(toReport),Str(Cpcurrent()),Str(toReport._CPID))
+
Create &tcTableOrCursor. (lcCursorName) ;
+ CODEPAGE = &lcCodepage. ;
( 'PLATFORM' C(8) ;
, 'UNIQUEID' C(10) ;
, 'TIMESTAMP' N(10) ;
@@ -9348,20 +9390,27 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
If tcTableOrCursor = 'TABLE' Then
Use (This.c_OutputFile) Alias TABLABIN Again Shared
- Endif
+ ENDIF
+
+ SET NOCPTRANS TO NAME,EXPR,STYLE,PICTURE,ORDER,COMMENT,TAG,TAG2,FONTFACE,SUPEXPR,USER
Endproc
Procedure createMenu
- Lparameters tcTableOrCursor && 'TABLE' or 'CURSOR'
+ Lparameters tcTableOrCursor,toMenu && 'TABLE' or 'CURSOR'
- Local lcCursorName
+ Local lcCursorName,lcCodepage
tcTableOrCursor = Evl( tcTableOrCursor, 'TABLE' )
lcCursorName = Icase( tcTableOrCursor = 'TABLE', This.c_OutputFile, 'TABLABIN' )
+
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ lcCodepage = Icase(Isnull(toMenu),Str(Cpcurrent()),Str(toMenu._CPID))
Create &tcTableOrCursor. (lcCursorName) ;
+ CODEPAGE = &lcCodepage. ;
( 'OBJTYPE' Numeric(2) ;
, 'OBJCODE' Numeric(2) ;
, 'NAME' Memo ;
@@ -9390,7 +9439,10 @@ Define Class c_conversor_prg_a_bin As c_conversor_base
If tcTableOrCursor = 'TABLE' Then
Use (This.c_OutputFile) Alias TABLABIN Again Shared
- Endif
+ ENDIF
+
+ SET NOCPTRANS TO NAME,PROMPT,COMMAND,MESSAGE,PROCEDURE,SETUP,CLEANUP,KEYNAME,KEYLABEL,SKIPFOR
+
Endproc
@@ -11623,11 +11675,11 @@ Define Class c_conversor_prg_a_vcx As c_conversor_prg_a_bin
If Adir( laFiles, toFoxBin2Prg.c_OutputFile, "", 1 ) = 1
Use (toFoxBin2Prg.c_OutputFile) Alias TABLABIN Again Shared
Else
- .createClasslib()
+ .createClasslib(toModulo)
Endif
Else
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
- .createClasslib()
+ .createClasslib(toModulo)
Endif
.writeBinaryFile( @toModulo, @toFoxBin2Prg, llReplaceClass )
@@ -12136,7 +12188,7 @@ Define Class c_conversor_prg_a_scx As c_conversor_prg_a_bin
toFoxBin2Prg.updateProcessedFile( lnIDInputFile )
.updateProgressbar( 'Generating Binary...', 0, lnCodeLines, 1 )
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
- .createForm()
+ .createForm(toModulo)
.writeBinaryFile( @toModulo, @toFoxBin2Prg )
Endwith && THIS
@@ -12483,7 +12535,7 @@ Define Class c_conversor_prg_a_pjx As c_conversor_prg_a_bin
toFoxBin2Prg.updateProcessedFile( lnIDInputFile )
.updateProgressbar( 'Generating Binary...', 2, 2, 1 )
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
- .createProject()
+ .createProject(toProject)
.writeBinaryFile( @toProject, @toFoxBin2Prg )
Endwith && THIS
@@ -13307,7 +13359,7 @@ Define Class c_conversor_prg_a_frx As c_conversor_prg_a_bin
C_FB2PRG_CODE = Filetostr( .c_InputFile )
lnCodeLines = Alines( laCodeLines, C_FB2PRG_CODE )
- .createReport('CURSOR')
+ .createReport('CURSOR',toReport)
*-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte
.updateProgressbar( 'Identifying Code Blocks...', 1, 2, 1 )
@@ -13329,7 +13381,7 @@ Define Class c_conversor_prg_a_frx As c_conversor_prg_a_bin
toFoxBin2Prg.updateProcessedFile( lnIDInputFile )
.updateProgressbar( 'Generating Binary...', 2, 2, 1 )
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
- .createReport()
+ .createReport(.F.,toReport)
.writeBinaryFile( @toReport, @toFoxBin2Prg )
Endwith && THIS
@@ -14782,7 +14834,7 @@ Define Class c_conversor_prg_a_mnx As c_conversor_prg_a_bin
C_FB2PRG_CODE = Filetostr( .c_InputFile )
lnCodeLines = Alines( laCodeLines, C_FB2PRG_CODE )
- .createMenu('CURSOR')
+ .createMenu('CURSOR',toMenu )
*-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte
.updateProgressbar( 'Identifying Code Blocks...', 1, 2, 1 )
@@ -14804,7 +14856,7 @@ Define Class c_conversor_prg_a_mnx As c_conversor_prg_a_bin
toFoxBin2Prg.updateProcessedFile( lnIDInputFile )
.updateProgressbar( 'Generating Binary...', 1, 2, 1 )
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
- .createMenu()
+ .createMenu(.F.,toMenu )
.writeBinaryFile( @toMenu, @toFoxBin2Prg )
Endwith && THIS
@@ -16863,6 +16915,7 @@ Define Class c_conversor_bin_a_prg As c_conversor_base
Endif
lnBytes = Strtofile( tcCodigo, tcOutputFile )
+
This.writeLog( C_TAB + C_TAB + '- ' + loLang.C_FILENAME_LOC + ': ' + tcOutputFile + ' (' + Alltrim(Transform(lnBytes/1024,'######.##')) + '/' + Alltrim(Transform(Len(tcCodigo)/1024,'######.##')) + ' KiB)' )
*THIS.writeLog( '- ' + loLang.C_GENERATED_FILE_SIZE_LOC )
@@ -16980,11 +17033,14 @@ Define Class c_conversor_vcx_a_prg As c_conversor_bin_a_prg
loLang = _Screen.o_FoxBin2Prg_Lang
With This As c_conversor_vcx_a_prg Of 'FOXBIN2PRG.PRG'
-*SF 20230804
-*issue #95, [Kestutis Laurinavicius] prevent change ole codepage
-*set NOCPTRANS for the vcx
- SET NOCPTRANS TO ole
- Use (.c_InputFile) Shared Again Noupdate Alias _TABLAORIG
+ Use (.c_InputFile) Shared Again Noupdate Alias _TABLAORIG
+
+*SF 20230820
+*issue #96, including issue #95, [KestasL] keep CodePage relavant information for binary sources
+ toFoxBin2Prg.i_CPID = Cpdbf("_TABLAORIG")
+ SET NOCPTRANS TO Class,CLASSLOC,BaseClass,OBJNAME,Parent,PROPERTIES,Protected,METHODS,OBJCODE,OLE,OLE2,;
+ RESERVED1,RESERVED2,RESERVED3,RESERVED4,RESERVED5,RESERVED6,RESERVED7,RESERVED8,User
+*/SF 20230820
If toFoxBin2Prg.n_UseClassPerFile = 0 Or Empty(toFoxBin2Prg.c_ClassToConvert) Then
*-- Exportar la librería entera a texto
@@ -16998,11 +17054,9 @@ Define Class c_conversor_vcx_a_prg As c_conversor_bin_a_prg
OR PLATFORM == 'COMMENT ' And Lower(OBJNAME) == toFoxBin2Prg.c_ClassToConvert
Endif
-*set NOCPTRANS for the cursor
- SET NOCPTRANS TO ole
-*/SF 20230804
lnStepCount = 7
Use In (Select("_TABLAORIG"))
+
* Issue#17: Error, The Specified Key already exists (Kirides)
.ignoreCorruptedObjects('TABLABIN')
@@ -17362,14 +17416,16 @@ Define Class c_conversor_scx_a_prg As c_conversor_bin_a_prg
With This As c_conversor_scx_a_prg Of 'FOXBIN2PRG.PRG'
Use (.c_InputFile) Shared Again Noupdate Alias _TABLAORIG
-*SF 20230804
-*issue #95, [Kestutis Laurinavicius] prevent change ole codepage
-*set NOCPTRANS for the scx
- SET NOCPTRANS TO ole
+
+*SF 20230820
+*issue #96, including issue #95, [KestasL] keep CodePage relavant information for binary sources
+ toFoxBin2Prg.i_CPID = Cpdbf("_TABLAORIG")
+ SET NOCPTRANS TO CLASS,CLASSLOC,BASECLASS,OBJNAME,PARENT,PROPERTIES,PROTECTED,METHODS;
+ ,OBJCODE,OLE,OLE2,RESERVED1,RESERVED2,RESERVED3,RESERVED4,RESERVED5,RESERVED6,RESERVED7,RESERVED8,USER
+*/SF 20230820
+
Select _TABLAORIG.*,Recno() regnum From _TABLAORIG Into Cursor TABLABIN Readwrite
-*set NOCPTRANS for the cursor
- SET NOCPTRANS TO ole
-*/SF 20230804
+
Use In (Select("_TABLAORIG"))
* Issue#15: Ignorar objetos mal definidos
@@ -18077,6 +18133,13 @@ toFoxBin2Prg.n_CheckFileInPath=2
With This As c_conversor_pjx_a_prg Of 'FOXBIN2PRG.PRG'
Use (.c_InputFile) Shared Again Noupdate Alias _TABLAORIG
+
+*SF 20230820
+*issue #96, including issue #95, [KestasL] keep CodePage relavant information for binary sources
+ toFoxBin2Prg.i_CPID = Cpdbf("_TABLAORIG")
+ SET NOCPTRANS TO Name,OUTFILE,HomeDir,DEVINFO,SYMBOLS,Object,COMMENTS,RESERVED1,RESERVED2,SCCDATA,User
+*/SF, 20230820
+
Select * From _TABLAORIG Into Cursor TABLABIN
Use In (Select("_TABLAORIG"))
@@ -18699,7 +18762,14 @@ Define Class c_conversor_frx_a_prg As c_conversor_bin_a_prg
Store '' To laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
Store Null To loRegObj, loRegCab, loRegDataEnv, loRegCur
- Use (.c_InputFile) Shared Again Noupdate Alias _TABLAORIG
+ Use (.c_InputFile) Shared Again Noupdate Alias _TABLAORIG
+
+*SF 20230820
+*issue #96, including issue #95, [KestasL] keep CodePage relavant information for binary sources
+ toFoxBin2Prg.i_CPID = Cpdbf("_TABLAORIG")
+ SET NOCPTRANS TO NAME,EXPR,STYLE,PICTURE,ORDER,COMMENT,TAG,TAG2,FONTFACE,SUPEXPR,USER
+*/SF, 20230820
+
This.updateProgressbar( 'Scanning FRX...', 1, 2, 1 )
*-- Verificación de REPORTE VFP 9
@@ -18962,6 +19032,10 @@ Define Class c_conversor_dbf_a_prg As c_conversor_bin_a_prg
Endif
* LScheffler
Use (.c_InputFile) Shared Again Noupdate Alias TABLABIN
+*SF 20230820
+*issue #96, including issue #95, [KestasL] keep CodePage relavant information for binary sources
+ toFoxBin2Prg.i_CPID = Cpdbf("TABLABIN")
+
lnDataSessionID = toFoxBin2Prg.DataSessionId
.RestoreDBCEvents(loDBC, @llDBCEventsEnabled)
@@ -19145,6 +19219,12 @@ Define Class c_conversor_dbc_a_prg As c_conversor_bin_a_prg
lnDatabases_Count = Adatabases(laDatabases)
Use (.c_InputFile) Shared Again Noupdate Alias TABLABIN
+*SF 20230820
+*issue #96, including issue #95, [KestasL] keep CodePage relavant information for binary sources
+ toFoxBin2Prg.i_CPID = Cpdbf("TABLABIN")
+ SET NOCPTRANS TO OBJECTNAME,USER
+*/SF, 20230820
+
If toFoxBin2Prg.l_ProcessFiles Then
toDatabase = Createobject('CL_DBC')
toDatabase._DBC = .c_InputFile
@@ -19336,6 +19416,14 @@ Define Class c_conversor_mnx_a_prg As c_conversor_bin_a_prg
Store 0 To lnCodError
Use (.c_InputFile) Shared Again Noupdate Alias _TABLAORIG
+
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ toFoxBin2Prg.i_CPID = Cpdbf("_TABLAORIG")
+ SET NOCPTRANS TO NAME,PROMPT,COMMAND,MESSAGE,PROCEDURE,SETUP,CLEANUP,KEYNAME,KEYLABEL,SKIPFOR
+*/SF, 20230820
+
+
Select * From _TABLAORIG Into Cursor TABLABIN
Use In (Select("_TABLAORIG"))
.updateProgressbar( 'Analyzing MNX...', 1, 2, 1 )
@@ -19967,12 +20055,16 @@ Define Class CL_CLASSLIB As CL_CUS_BASE
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ []
Dimension _Ole_Objs[1], _Clases[1], _ExternalClasses(1,2)
_Version = 0
_SourceFile = ''
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ _cpid = Cpcurrent()
_ExternalClasses_Count = 0
_Ole_Obj_count = 0
_Clases_Count = 0
@@ -20384,12 +20476,16 @@ Define Class CL_REPORT As CL_COL_BASE
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ []
*-- Report.Info
_TimeStamp = 0
_Version = ''
_SourceFile = ''
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ _cpid = Cpcurrent()
Enddefine
@@ -20417,6 +20513,7 @@ Define Class CL_PROJECT As CL_COL_BASE
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -20469,6 +20566,9 @@ Define Class CL_PROJECT As CL_COL_BASE
_ServerHead = Null
_ServerInfo = ''
_SourceFile = ''
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ _cpid = Cpcurrent()
_TimeStamp = 0
_Version = ''
_SccData = ''
@@ -21933,6 +22033,7 @@ Define Class CL_DBC As CL_DBC_BASE
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -21949,6 +22050,10 @@ Define Class CL_DBC As CL_DBC_BASE
_Members_Count = 0
_Version = 0
_SourceFile = ''
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ _cpid = Cpcurrent()
+
*-- Database Info
_Name = ''
@@ -23616,19 +23721,21 @@ Define Class CL_DBC_FIELD_DB As CL_DBC_BASE
Procedure read_BinDataToProperties
Lparameters tcTable, tcField
+ Local lcFullFieldName
With This As CL_DBC_FIELD_DB Of 'FOXBIN2PRG.PRG'
If Not ._Saved Then
._Name = Alltrim(tcField)
- ._Caption = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","Caption")
- ._Comment = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","Comment")
- ._DefaultValue = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","DefaultValue")
- ._DisplayClass = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","DisplayClass")
- ._DisplayClassLibrary = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","DisplayClassLibrary")
- ._Format = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","Format")
- ._InputMask = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","InputMask")
- ._RuleExpression = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","RuleExpression")
- ._RuleText = DBGetProp( Rtrim(tcTable) + '.' + Rtrim(tcField),"FIELD","RuleText")
+ lcFullFieldName = Rtrim(tcTable) + '.' + Rtrim(tcField)
+ ._Caption = DBGetProp( lcFullFieldName,"FIELD","Caption")
+ ._Comment = DBGetProp( lcFullFieldName,"FIELD","Comment")
+ ._DefaultValue = DBGetProp( lcFullFieldName,"FIELD","DefaultValue")
+ ._DisplayClass = DBGetProp( lcFullFieldName,"FIELD","DisplayClass")
+ ._DisplayClassLibrary = DBGetProp( lcFullFieldName,"FIELD","DisplayClassLibrary")
+ ._Format = DBGetProp( lcFullFieldName,"FIELD","Format")
+ ._InputMask = DBGetProp( lcFullFieldName,"FIELD","InputMask")
+ ._RuleExpression = DBGetProp( lcFullFieldName,"FIELD","RuleExpression")
+ ._RuleText = DBGetProp( lcFullFieldName,"FIELD","RuleText")
*--
._Saved = .T.
Endif
@@ -25441,6 +25548,7 @@ Define Class CL_DBF_TABLE As CL_CUS_BASE
_MemberData = [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -25461,6 +25569,9 @@ Define Class CL_DBF_TABLE As CL_CUS_BASE
*-- Modulo
_Version = 0
_SourceFile = ''
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ _cpid = Cpcurrent()
_I = 0
*-- Table Info
@@ -25636,7 +25747,7 @@ Define Class CL_DBF_TABLE As CL_CUS_BASE
<<>>
<>
<<>> <>
- <<>> <>
+ <<>> <>
<<>> <>
<<>> <>
<<>> <>
@@ -27837,6 +27948,7 @@ Define Class CL_MENU As CL_MENU_COL_BASE
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ []
@@ -27844,6 +27956,9 @@ Define Class CL_MENU As CL_MENU_COL_BASE
*-- Modulo
_Version = 0
_SourceFile = ''
+*SF 20230820
+*issue #96, [KestasL] keep CodePage relavant information for binary sources
+ _cpid = Cpcurrent()
Procedure analyzeCodeBlock
@@ -30901,7 +31016,6 @@ Define Class CL_LANG As Custom
<<>>cNoTimestamps: Indicates if timestamp of several file types must be cleared ('1' or empty) or not ('0')
<<>>cCFG_File: Indicates a CFG filename for not using the default on foxbin2prg directory
<<>>cOutputFolder: The output folder to write to. If it isn't specified, the same folder as the source is used.
- <<>>
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<<>>
<<>>FOXBIN2PRG.EXE [c|C|t [OutFileName]]
@@ -30914,6 +31028,13 @@ Define Class CL_LANG As Custom
<<>> If OutFileName is not given a FoxBin2Prg._cfg config file will be created at default folder
<<>>-t (t) Creates a template table-config-file (like .dbf.cfg)
<<>> If OutFileName is not given, and a table is open a .dbf._cfg config file will be created at table folder.
+ <<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ <<>>
+ <<>>FOXBIN2PRG.EXE [VERNO]
+ <<>>DO FOXBIN2PRG.EXE WITH [VERNO]
+ <<>>
+ <<>>-- Parameter details:
+ <<>>-VERNO (VERNO) Return version number of FoxBin2Prg
<<>>
<<>>
ENDTEXT
@@ -30930,7 +31051,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 single DBF's Syntax: .dbf.cfg in tables folder)
+ <<>> 5., optional Special settings per single DBF's Syntax: .dbf.cfg in tables folder)
<<>> 6., Parameter calling FOXBIN2PRG.EXE.
<<>>
<<>> Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults)
@@ -31190,7 +31311,6 @@ Define Class CL_LANG As Custom
<<>>cNoTimestamps: Indica si se debe anular el timestamp ('1' o vacío) o no ('0')
<<>>cCFG_File: Indica un nombre de archivo CFG para no usar el predeterminado en el directorio de foxbin2prg
<<>>cOutputFolder: The output folder to write to. If it isn't specified, the same folder as the source is used.
- <<>>
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<<>>
<<>>FOXBIN2PRG.EXE [c|C|t [OutFileName]]
@@ -31203,6 +31323,14 @@ Define Class CL_LANG As Custom
<<>> If OutFileName is not given a FoxBin2Prg._cfg config file will be created at default folder
<<>>-t (t) Creates a template table-config-file (like .dbf.cfg)
<<>> If OutFileName is not given, and a table is open a .dbf._cfg config file will be created at table folder.
+ <<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ <<>>
+ <<>>FOXBIN2PRG.EXE [VERNO]
+ <<>>DO FOXBIN2PRG.EXE WITH [VERNO]
+ <<>>
+ <<>>-- Parameter details:
+ <<>>-VERNO (VERNO) Return version number of FoxBin2Prg
+ <<>>
<<>>
ENDTEXT
*** DH 2021-03-04: added HomeDir to text
@@ -31218,7 +31346,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 single DBF's Syntax: .dbf.cfg in tables folder)
+ <<>> 5., optional Special settings per single DBF's Syntax: .dbf.cfg in tables folder)
<<>> 6., Parameter calling FOXBIN2PRG.EXE.
<<>>
<<>> Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults)
@@ -31491,6 +31619,14 @@ Define Class CL_LANG As Custom
<<>>-t (t) Erzeugt eine Vorlage für eine Tabellen-Config-Datei (wie .dbf.cfg)
<<>> Wird OutFileName nicht angegeben und ist eine Tabelle offen,
<<>> so wird eine Konfigurationsdatei .dbf._cfg im Verzeichnis der Tabelle angelegt.
+ <<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ <<>>
+ <<>>FOXBIN2PRG.EXE [VERNO]
+ <<>>DO FOXBIN2PRG.EXE WITH [VERNO]
+ <<>>
+ <<>>-- Parameter:
+ <<>>-VERNO (VERNO) Debe dies Versionnummer zurück.
+ <<>>
<<>>
ENDTEXT
*** DH 2021-03-04: added HomeDir to text
@@ -31506,7 +31642,7 @@ Define Class CL_LANG As Custom
<<>> 2., optional FOXBIN2PRG.CFG im Vereichnis aus dem FOXBIN2PRG.EXE startet
<<>> 3., optional FOXBIN2PRG.CFG in der Wurzel des Arbeitsverzeichnises
<<>> 4., optional FOXBIN2PRG.CFG in jedem Verzeichnis bis zum Arbeitsverzeichnis
- <<>> 5., optional Es können spezielle Einstellungen für einzelne DBF's erzeugt werden (Syntax: .dbf.cfg im Verzeichnis der Tabelle)
+ <<>> 5., optional Es können spezielle Einstellungen für einzelne DBF's erzeugt werden (Syntax: .dbf.cfg im Verzeichnis der Tabelle)
<<>> 6., Parameter des Aufrufs von FOXBIN2PRG.EXE.
<<>>
<<>> Einige Parameter im Aufruf von FOXBIN2PRG.EXE übersteueren diese Vorgaben (bis auf die Defaults)
@@ -31637,7 +31773,7 @@ Define Class CL_LANG As Custom
ENDTEXT
TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_tab_cfg TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
<<>>################################################################################################################
- <<>>-- Individual DBF configuration file (Syntax: .dbf.cfg im Verzeichnis der Tabelle) Defaults siehe FoxBin2prg.cfg
+ <<>>-- Individuelle DBF Konfigurations-Datei (Syntax: .dbf.cfg im Verzeichnis der Tabelle) Defaults siehe FoxBin2prg.cfg
<<>>Version: <<_Screen.c_FB2PRG_EXE_Version>>
<<>>****************************************************************************************************************
<<>>
@@ -31791,7 +31927,6 @@ Define Class CL_LANG As Custom
<<>>cNoTimestamps: Indicates if timestamp of several file types must be cleared ('1' or empty) or not ('0')
<<>>cCFG_File: Indicates a CFG filename for not using the default on foxbin2prg directory
<<>>cOutputFolder: The output folder to write to. If it isn't specified, the same folder as the source is used.
- <<>>
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<<>>
<<>>FOXBIN2PRG.EXE [c|C|t [OutFileName]]
@@ -31804,6 +31939,13 @@ Define Class CL_LANG As Custom
<<>> If OutFileName is not given a FoxBin2Prg._cfg config file will be created at default folder
<<>>-t (t) Creates a template table-config-file (like .dbf.cfg)
<<>> If OutFileName is not given, and a table is open a .dbf._cfg config file will be created at table folder.
+ <<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ <<>>
+ <<>>FOXBIN2PRG.EXE [VERNO]
+ <<>>DO FOXBIN2PRG.EXE WITH [VERNO]
+ <<>>
+ <<>>-- Parameter details:
+ <<>>-VERNO (VERNO) Return version number of FoxBin2Prg
<<>>
<<>>
ENDTEXT
@@ -31820,7 +31962,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 single DBF's Syntax: .dbf.cfg in tables folder)
+ <<>> 5., optional Special settings per single DBF's Syntax: .dbf.cfg in tables folder)
<<>> 6., Parameter calling FOXBIN2PRG.EXE.
<<>>
<<>> Some Parameter calling FOXBIN2PRG.EXE overturn this settings (except Defaults)
@@ -33372,13 +33514,13 @@ Define Class CL_MEMVAR_RECORD As CL_CUS_BASE
If pnCols = 0
* Elemento de Array Unidimensional
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
- <<>> (<>) <><> <<.getValue()>>
+ <<>> (<>) <><> <<.getValue()>>
ENDTEXT
Else
* Elemento de Array Bidimensional
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
- <<>> (<>,<>) <><> <<.getValue()>>
+ <<>> (<>,<>) <><> <<.getValue()>>
ENDTEXT
Endif
@@ -33398,5 +33540,4 @@ Define Class CL_MEMVAR_RECORD As CL_CUS_BASE
Endproc
-Enddefine
-
+Enddefine
\ No newline at end of file