Changeset: 379 fdbozzo - 26/07/2014 17:49:05:
v1.19.28 - Nuevas opciones en foxbin2prg.cfg (DBF_Conversion_Included, DBF_Conversion_Excluded) y en archivo.dbf.cfg (DBF_Conversion_Order, DBF_Conversion_Condition) para la conversión de DBFs a texto cuando DBF_Conversion_Support es 4 (Edyshor)
This commit is contained in:
@@ -2,8 +2,8 @@ Lparameters toUpdateInfo
|
||||
|
||||
Local lcNote
|
||||
With toUpdateInfo
|
||||
.VersionNumber = 'v1.19.27'
|
||||
.VersionDate = Date(2014,07,18)
|
||||
.VersionNumber = 'v1.19.28'
|
||||
.VersionDate = Date(2014,07,26)
|
||||
.SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip'
|
||||
|
||||
.Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG'
|
||||
@@ -17,6 +17,8 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
|
||||
|
||||
Change History -------------------------------------------------------------
|
||||
|
||||
2014/07/26 v1.19.28
|
||||
- Feature: Added new options in foxbin2prg.cfg (DBF_Conversion_Included, DBF_Conversion_Excluded) and in filename.dbf.cfg (DBF_Conversion_Order, DBF_Conversion_Condition) for exporting DBFs data to text when DBF_Conversion_Support is 4 (Edyshor)
|
||||
|
||||
2014/07/18 v1.19.27
|
||||
- Feature: Added support for exporting DBF data for DIFF (It's intended just for DIFF small DBFs, as config ones, not for true Data export. Binary fields are not exported and there is not an Import Data feature) (Doug Hennig)
|
||||
|
||||
239
TESTS/ut__foxbin2prg__c_foxbin2prg__FilenameFoundInFilter.prg
Normal file
239
TESTS/ut__foxbin2prg__c_foxbin2prg__FilenameFoundInFilter.prg
Normal file
@@ -0,0 +1,239 @@
|
||||
DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__FilenameFoundInFilter AS FxuTestCase OF FxuTestCase.prg
|
||||
|
||||
#IF .F.
|
||||
LOCAL THIS AS ut__foxbin2prg__c_foxbin2prg__FilenameFoundInFilter OF ut__foxbin2prg__c_foxbin2prg__FilenameFoundInFilter.PRG
|
||||
#ENDIF
|
||||
|
||||
icObj = NULL
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION SETUP
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
*LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG"
|
||||
SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG')
|
||||
*oFXU_LIB.setup_comun()
|
||||
THIS.icObj = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||
*loObj = THIS.icObj
|
||||
*loObj.l_Test = .F.
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION TearDown
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
THIS.icObj = NULL
|
||||
|
||||
IF VARTYPE(oFXU_LIB) = "O"
|
||||
*oFXU_LIB.teardown_comun()
|
||||
oFXU_LIB = NULL
|
||||
ENDIF
|
||||
RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
RELEASE oFXU_LIB
|
||||
CLOSE PROCEDURES
|
||||
CLEAR RESOURCES
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION Evaluate_results
|
||||
LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, tl_Valor, tl_ValorEsperado
|
||||
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
|
||||
IF PCOUNT() = 0
|
||||
THIS.messageout( "* Support method, not a valid test." )
|
||||
RETURN .T.
|
||||
ENDIF
|
||||
|
||||
LOCAL loFoxBin2Prg AS c_foxbin2prg OF "FOXBIN2PRG.PRG"
|
||||
|
||||
IF ISNULL(toEx)
|
||||
loFoxBin2Prg = THIS.icObj
|
||||
|
||||
*-- MESSAGES
|
||||
THIS.messageout( 'Filename found in filter >> Esperado: ' + TRANSFORM(tl_ValorEsperado) )
|
||||
THIS.messageout( 'Filename found in filter >> Actual : ' + TRANSFORM(tl_Valor) )
|
||||
|
||||
*-- ASSERTIONS
|
||||
THIS.assertequals( tl_ValorEsperado, tl_Valor, 'Filename found in filter' )
|
||||
|
||||
loFoxBin2Prg = NULL
|
||||
RELEASE loFoxBin2Prg
|
||||
|
||||
ELSE
|
||||
*-- Evaluaci<63>n de errores
|
||||
THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) )
|
||||
THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) )
|
||||
IF NOT INLIST( toEx.ERRORNO, 1098, 2071 ) && Error del usuario (ERROR y THROW)
|
||||
THIS.messageout( TRANSFORM(toEx.LINECONTENTS) )
|
||||
ENDIF
|
||||
|
||||
THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' )
|
||||
ENDIF
|
||||
|
||||
THIS.messageout( '' )
|
||||
THIS.messageout( REPLICATE('*',80) )
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION Deberia_EncontrarElArchivo__FB2P_FOXUSER_DBF__UsandoElFiltro__TB2P_xpx
|
||||
LOCAL lnCodError, lnCodError_Esperado ;
|
||||
, lc_File, lc_Filtros, ll_Valor, ll_ValorEsperado ;
|
||||
, loFoxBin2Prg AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||
, loEx AS EXCEPTION
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
loEx = NULL
|
||||
loFoxBin2Prg = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||
*loFoxBin2Prg.l_Debug = .F.
|
||||
loFoxBin2Prg.l_ShowErrors = .F.
|
||||
*loFoxBin2Prg.l_Test = .T.
|
||||
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError, lnCodError_Esperado
|
||||
lc_File = 'FB2P_FOXUSER.DBF'
|
||||
lc_Filtros = 'XX.DBF,FF.FRX,FB2P_*.*'
|
||||
ll_ValorEsperado = .T.
|
||||
|
||||
*-- EVALUACI<43>N DEL TEST
|
||||
ll_Valor = loFoxBin2Prg.FilenameFoundInFilter( lc_File, lc_Filtros )
|
||||
|
||||
CATCH TO loEx
|
||||
|
||||
FINALLY
|
||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, ll_Valor, ll_ValorEsperado )
|
||||
STORE NULL TO loFoxBin2Prg
|
||||
RELEASE loFoxBin2Prg
|
||||
ENDTRY
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION Deberia_EncontrarElArchivo__FB2P_FOXUSER_DBF__UsandoElFiltro__x_FOXUSERpx
|
||||
LOCAL lnCodError, lnCodError_Esperado ;
|
||||
, lc_File, lc_Filtros, ll_Valor, ll_ValorEsperado ;
|
||||
, loFoxBin2Prg AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||
, loEx AS EXCEPTION
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
loEx = NULL
|
||||
loFoxBin2Prg = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||
*loFoxBin2Prg.l_Debug = .F.
|
||||
loFoxBin2Prg.l_ShowErrors = .F.
|
||||
*loFoxBin2Prg.l_Test = .T.
|
||||
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError, lnCodError_Esperado
|
||||
lc_File = 'FB2P_FOXUSER.DBF'
|
||||
lc_Filtros = 'XX.DBF,FF.FRX,*_FOXUSER.*'
|
||||
ll_ValorEsperado = .T.
|
||||
|
||||
*-- EVALUACI<43>N DEL TEST
|
||||
ll_Valor = loFoxBin2Prg.FilenameFoundInFilter( lc_File, lc_Filtros )
|
||||
|
||||
CATCH TO loEx
|
||||
|
||||
FINALLY
|
||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, ll_Valor, ll_ValorEsperado )
|
||||
STORE NULL TO loFoxBin2Prg
|
||||
RELEASE loFoxBin2Prg
|
||||
ENDTRY
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION Deberia_EncontrarElArchivo__FB2P_FOXUSER_DBF__UsandoElFiltro__x_F_Xxpx
|
||||
LOCAL lnCodError, lnCodError_Esperado ;
|
||||
, lc_File, lc_Filtros, ll_Valor, ll_ValorEsperado ;
|
||||
, loFoxBin2Prg AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||
, loEx AS EXCEPTION
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
loEx = NULL
|
||||
loFoxBin2Prg = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||
*loFoxBin2Prg.l_Debug = .F.
|
||||
loFoxBin2Prg.l_ShowErrors = .F.
|
||||
*loFoxBin2Prg.l_Test = .T.
|
||||
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError, lnCodError_Esperado
|
||||
lc_File = 'FB2P_FOXUSER.DBF'
|
||||
lc_Filtros = 'XX.DBF,FF.FRX,*_F?X*.*'
|
||||
ll_ValorEsperado = .T.
|
||||
|
||||
*-- EVALUACI<43>N DEL TEST
|
||||
ll_Valor = loFoxBin2Prg.FilenameFoundInFilter( lc_File, lc_Filtros )
|
||||
|
||||
CATCH TO loEx
|
||||
|
||||
FINALLY
|
||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, ll_Valor, ll_ValorEsperado )
|
||||
STORE NULL TO loFoxBin2Prg
|
||||
RELEASE loFoxBin2Prg
|
||||
ENDTRY
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************************************
|
||||
FUNCTION Deberia_NoEncontrarElArchivo__FB2P_FOXUSER_DBF__UsandoElFiltro__uuFxpx
|
||||
LOCAL lnCodError, lnCodError_Esperado ;
|
||||
, lc_File, lc_Filtros, ll_Valor, ll_ValorEsperado ;
|
||||
, loFoxBin2Prg AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||
, loEx AS EXCEPTION
|
||||
#IF .F.
|
||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
loEx = NULL
|
||||
loFoxBin2Prg = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||
*loFoxBin2Prg.l_Debug = .F.
|
||||
loFoxBin2Prg.l_ShowErrors = .F.
|
||||
*loFoxBin2Prg.l_Test = .T.
|
||||
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError, lnCodError_Esperado
|
||||
lc_File = 'FB2P_FOXUSER.DBF'
|
||||
lc_Filtros = 'XX.DBF,FF.FRX,??F*.*'
|
||||
ll_ValorEsperado = .F.
|
||||
|
||||
*-- EVALUACI<43>N DEL TEST
|
||||
ll_Valor = loFoxBin2Prg.FilenameFoundInFilter( lc_File, lc_Filtros )
|
||||
|
||||
CATCH TO loEx
|
||||
|
||||
FINALLY
|
||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, ll_Valor, ll_ValorEsperado )
|
||||
STORE NULL TO loFoxBin2Prg
|
||||
RELEASE loFoxBin2Prg
|
||||
ENDTRY
|
||||
|
||||
ENDFUNC
|
||||
|
||||
|
||||
ENDDEFINE
|
||||
@@ -2,7 +2,8 @@
|
||||
* FOXBIN2PRG v1.19.26
|
||||
* CONFIGURATION FILE / ARCHIVO DE CONFIGURACI<43>N
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
* DON'T MODIFY THIS DOCUMENTATION SECTION / NO MODIFIQUE ESTA SECCI<43>N DE DOCUMENTACI<43>N
|
||||
* EN: DON'T MODIFY THIS DOCUMENTATION SECTION, MODIFY *UNDER* THIS SECTION
|
||||
* ES: NO MODIFIQUE ESTA SECCI<43>N DE DOCUMENTACI<43>N, MODIFIQUE *DEBAJO* DE ESTA SECCI<43>N
|
||||
*
|
||||
* DETAIL OF SUPPORTED VALUES / DETALLE DE VALORES SOPORTADOS
|
||||
* If no values given, this are the defaults / Si no se proporcionan valores, estos son los predeterminados
|
||||
@@ -27,6 +28,8 @@
|
||||
* DBC_Conversion_Support: 2 && Default value
|
||||
* DBF_Conversion_Support: 1 && Default value >> EN: FoxBin2Prg support bi-directional convertion of DBFs, but does not keep data. Use with care.
|
||||
* >> ES: FoxBin2Prg tiene soporte bi-direccional para convertir DBF, pero no mantiene los datos. Usar con cuidado.
|
||||
* DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify mnultiple filemasks: www,fb2p_free.dbf / Si DBF_Conversion_Support:4, se pueden indicar m<>ltiples m<>scaras de archivo: www,fb2p_free.dbf
|
||||
* DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify mnultiple filemasks: www,fb2p_free.dbf / Si DBF_Conversion_Support:4, se pueden indicar m<>ltiples m<>scaras de archivo: www,fb2p_free.dbf
|
||||
*
|
||||
* EN: Note: This values have precedence over internal parameters and parameters used on scripts
|
||||
* ES: Nota: Estos valores tienen precedencia sobre los par<61>metros internos y los par<61>metros usados en los scripts
|
||||
@@ -35,6 +38,9 @@
|
||||
****************************************************************************************************
|
||||
|
||||
|
||||
****************************************************************************************************
|
||||
* YOU CAN MODIFY FROM HERE! / PUEDE MODIFICAR DESDE AQU<51>!
|
||||
|
||||
* EN: Uncomment for SourceSafe compatibility. You can change the extension on the right side.
|
||||
* ES: Descomentar para compatibilidad con SourceSafe. Puede cambiar la extensi<73>n del lado derecho.
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
@@ -47,30 +53,3 @@
|
||||
*extension: db2=dba
|
||||
*extension: dc2=dca
|
||||
|
||||
|
||||
* EN: Uncomment to activate the new value, comment to deactivate and use the default
|
||||
* ES: Descomente para activar el nuevo valor, comente para desactivarlo y usar el predeterminado
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
*DontShowProgress: 1
|
||||
*DontShowErrors: 1
|
||||
*NoTimestamps: 0
|
||||
*Debug: 1
|
||||
*ExtraBackupLevels: 0
|
||||
*ClearUniqueID: 0
|
||||
*OptimizeByFilestamp: 0
|
||||
*AllowMultiConfig: 0
|
||||
*DropNullCharsFromCode: 0
|
||||
|
||||
|
||||
* EN: Uncomment to activate the new value, comment to deactivate and use the default
|
||||
* ES: Descomente para activar el nuevo valor, comente para desactivarlo y usar el predeterminado
|
||||
* 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
*PJX_Conversion_Support: 2
|
||||
*VCX_Conversion_Support: 2
|
||||
*SCX_Conversion_Support: 2
|
||||
*FRX_Conversion_Support: 2
|
||||
*LBX_Conversion_Support: 2
|
||||
*MNX_Conversion_Support: 2
|
||||
*DBC_Conversion_Support: 2
|
||||
*DBF_Conversion_Support: 2
|
||||
|
||||
BIN
foxbin2prg.exe
BIN
foxbin2prg.exe
Binary file not shown.
@@ -23,10 +23,10 @@ _CompanyName = "Fernando D. Bozzo"
|
||||
_FileDescription = "Conversor bidireccional de binarios FoxPro 9 (scx,vcx,pjx) a texto para sustituir al scctext :-)"
|
||||
_LegalCopyright = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/"
|
||||
_LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/"
|
||||
_ProductName = " FOXBIN2PRG v1.19.27"
|
||||
_ProductName = " FOXBIN2PRG v1.19.28"
|
||||
_MajorVer = "1"
|
||||
_MinorVer = "19"
|
||||
_Revision = "27"
|
||||
_Revision = "28"
|
||||
_LanguageID = "1034"
|
||||
_AutoIncrement = "0"
|
||||
*</DevInfo>
|
||||
|
||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
170
foxbin2prg.prg
170
foxbin2prg.prg
@@ -94,6 +94,7 @@
|
||||
* 27/06/2014 FDBOZZO v1.19.26 Mejora: Si el campo memo "methods" de los vcx/scx contiene asteriscos fuera de lugar (que no deber<65>a), FoxBin2Prg lo procesa igualmente. (Daniel S<>nchez)
|
||||
* 06/07/2014 FDBOZZO v1.19.26 Bug Fix cfg: ExtraBackupLevel no se tiene en cuenta cuando se usa multi-configuraci<63>n
|
||||
* 02/06/2014 DH/FDBOZZO v1.19.27 Mejora: Agregado soporte para exportar datos para DIFF (no para importar)
|
||||
* 21/07/2014 FDBOZZO v1.19.28 Mejora: Agregada funcionalidad para filtrado de tablas y datos cuando se elige DBF_Conversion_Support:4 (Edyshor)
|
||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
@@ -131,6 +132,7 @@
|
||||
* 02/07/2014 Matt Slay MEJORA v1.19.25: Se filtran algunos CHR(0) de los binarios al tx2, provocando que a veces no sea reconocido como texto. Deber<65>an poderse quitar los NULLs (Arreglado en v1.19.26)
|
||||
* 27/06/2014 Daniel S<>nchez MEJORA v1.19.25: Si el campo memo "methods" de los vcx/scx contiene asteriscos fuera de lugar (que no deber<65>a), FoxBin2Prg falla. Deber<65>a poder procesarlo igual.
|
||||
* 02/06/2014 Doug Hennig MEJORA v1.19.22: Agregada funcionalidad para exportar los datos de las tablas al archivo db2 (Agregado en v1.19.27)
|
||||
* 21/07/2014 Edyshor PROPUESTA DE MEJORA db2 v1.19.27: Ser<65>a <20>til poder filtrar tablas y datos cuando se elige DBF_Conversion_Support:4 (Agregado en v1.19.28)
|
||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
@@ -451,6 +453,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
|
||||
+ [<memberdata name="evaluarconfiguracion" display="EvaluarConfiguracion"/>] ;
|
||||
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
||||
+ [<memberdata name="filenamefoundinfilter" display="FilenameFoundInFilter"/>] ;
|
||||
+ [<memberdata name="get_l_cfg_cachedaccess" display="get_l_CFG_CachedAccess"/>] ;
|
||||
+ [<memberdata name="get_l_configevaluated" display="get_l_ConfigEvaluated"/>] ;
|
||||
+ [<memberdata name="get_ext2fromext" display="Get_Ext2FromExt"/>] ;
|
||||
@@ -492,6 +495,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
+ [<memberdata name="lbx_conversion_support" display="LBX_Conversion_Support"/>] ;
|
||||
+ [<memberdata name="mnx_conversion_support" display="MNX_Conversion_Support"/>] ;
|
||||
+ [<memberdata name="dbf_conversion_support" display="DBF_Conversion_Support"/>] ;
|
||||
+ [<memberdata name="dbf_conversion_included" display="DBF_Conversion_Included"/>] ;
|
||||
+ [<memberdata name="dbf_conversion_excluded" display="DBF_Conversion_Excluded"/>] ;
|
||||
+ [<memberdata name="dbc_conversion_support" display="DBC_Conversion_Support"/>] ;
|
||||
+ [<memberdata name="renamefile" display="RenameFile"/>] ;
|
||||
+ [<memberdata name="tienesoporte_bin2prg" display="TieneSoporte_Bin2Prg"/>] ;
|
||||
@@ -566,6 +571,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
MNX_Conversion_Support = 2
|
||||
DBF_Conversion_Support = 1
|
||||
DBC_Conversion_Support = 2
|
||||
DBF_Conversion_Included = ''
|
||||
DBF_Conversion_Excluded = ''
|
||||
|
||||
|
||||
PROCEDURE INIT
|
||||
@@ -832,6 +839,24 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ENDPROC
|
||||
|
||||
|
||||
PROCEDURE DBF_Conversion_Included_ACCESS
|
||||
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
||||
RETURN THIS.DBF_Conversion_Included
|
||||
ELSE
|
||||
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).DBF_Conversion_Included, THIS.DBF_Conversion_Included )
|
||||
ENDIF
|
||||
ENDPROC
|
||||
|
||||
|
||||
PROCEDURE DBF_Conversion_Excluded_ACCESS
|
||||
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
||||
RETURN THIS.DBF_Conversion_Excluded
|
||||
ELSE
|
||||
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).DBF_Conversion_Excluded, THIS.DBF_Conversion_Excluded )
|
||||
ENDIF
|
||||
ENDPROC
|
||||
|
||||
|
||||
PROCEDURE DBC_Conversion_Support_ACCESS
|
||||
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
||||
RETURN THIS.DBC_Conversion_Support
|
||||
@@ -1127,7 +1152,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 18 ) )
|
||||
IF NOT INLIST( TRANSFORM(tcDontShowProgress), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
||||
tcDontShowProgress = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 15 ) == LOWER('DontShowErrors:')
|
||||
@@ -1136,112 +1161,126 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 16 ) )
|
||||
IF NOT INLIST( TRANSFORM(tcDontShowErrors), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
||||
tcDontShowErrors = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 13 ) == LOWER('NoTimestamps:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 14 ) )
|
||||
IF NOT INLIST( TRANSFORM(tcNoTimestamps), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
||||
tcNoTimestamps = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 6 ) == LOWER('Debug:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 7 ) )
|
||||
IF NOT INLIST( TRANSFORM(tcDebug), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
||||
tcDebug = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDebug: ' + TRANSFORM(tcDebug) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDebug: ' + TRANSFORM(tcDebug) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 18 ) == LOWER('ExtraBackupLevels:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 19 ) )
|
||||
IF NOT ISDIGIT( TRANSFORM(tcExtraBackupLevels) ) AND ISDIGIT( lcValue ) THEN
|
||||
tcExtraBackupLevels = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcExtraBackupLevels: ' + TRANSFORM(tcExtraBackupLevels) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > tcExtraBackupLevels: ' + TRANSFORM(tcExtraBackupLevels) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 14 ) == LOWER('ClearUniqueID:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 15 ) )
|
||||
IF NOT INLIST( TRANSFORM(tcClearUniqueID), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
||||
tcClearUniqueID = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(lcValue) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(lcValue) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 20 ) == LOWER('OptimizeByFilestamp:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 21 ) )
|
||||
IF NOT INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
||||
tcOptimizeByFilestamp = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > OptimizeByFilestamp: ' + TRANSFORM(lcValue) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > OptimizeByFilestamp: ' + TRANSFORM(lcValue) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 17 ) == LOWER('AllowMultiConfig:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 18 ) )
|
||||
IF INLIST( lcValue, '0', '1' ) THEN
|
||||
.l_AllowMultiConfig = ( TRANSFORM(lcValue) == '1' )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > AllowMultiConfig: ' + TRANSFORM(lcValue) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > AllowMultiConfig: ' + TRANSFORM(lcValue) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 22 ) == LOWER('DropNullCharsFromCode:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 23 ) )
|
||||
IF INLIST( lcValue, '0', '1' ) THEN
|
||||
.l_DropNullCharsFromCode = ( TRANSFORM(lcValue) == '1' )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > DropNullCharsFromCode: ' + TRANSFORM(lcValue) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > DropNullCharsFromCode: ' + TRANSFORM(lcValue) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 23 ) == LOWER('PJX_Conversion_Support:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) )
|
||||
IF INLIST( lcValue, '0', '1', '2' ) THEN
|
||||
lo_CFG.PJX_Conversion_Support = INT( VAL( lcValue ) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > PJX_Conversion_Support: ' + TRANSFORM(lo_CFG.PJX_Conversion_Support) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > PJX_Conversion_Support: ' + TRANSFORM(lo_CFG.PJX_Conversion_Support) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 23 ) == LOWER('VCX_Conversion_Support:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) )
|
||||
IF INLIST( lcValue, '0', '1', '2' ) THEN
|
||||
lo_CFG.VCX_Conversion_Support = INT( VAL( lcValue ) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > VCX_Conversion_Support: ' + TRANSFORM(lo_CFG.VCX_Conversion_Support) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > VCX_Conversion_Support: ' + TRANSFORM(lo_CFG.VCX_Conversion_Support) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 23 ) == LOWER('SCX_Conversion_Support:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) )
|
||||
IF INLIST( lcValue, '0', '1', '2' ) THEN
|
||||
lo_CFG.SCX_Conversion_Support = INT( VAL( lcValue ) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > SCX_Conversion_Support: ' + TRANSFORM(lo_CFG.SCX_Conversion_Support) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > SCX_Conversion_Support: ' + TRANSFORM(lo_CFG.SCX_Conversion_Support) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 23 ) == LOWER('FRX_Conversion_Support:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) )
|
||||
IF INLIST( lcValue, '0', '1', '2' ) THEN
|
||||
lo_CFG.FRX_Conversion_Support = INT( VAL( lcValue ) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > FRX_Conversion_Support: ' + TRANSFORM(lo_CFG.FRX_Conversion_Support) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > FRX_Conversion_Support: ' + TRANSFORM(lo_CFG.FRX_Conversion_Support) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 23 ) == LOWER('LBX_Conversion_Support:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) )
|
||||
IF INLIST( lcValue, '0', '1', '2' ) THEN
|
||||
lo_CFG.LBX_Conversion_Support = INT( VAL( lcValue ) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > LBX_Conversion_Support: ' + TRANSFORM(lo_CFG.LBX_Conversion_Support) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > LBX_Conversion_Support: ' + TRANSFORM(lo_CFG.LBX_Conversion_Support) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 23 ) == LOWER('MNX_Conversion_Support:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) )
|
||||
IF INLIST( lcValue, '0', '1', '2' ) THEN
|
||||
lo_CFG.MNX_Conversion_Support = INT( VAL( lcValue ) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > MNX_Conversion_Support: ' + TRANSFORM(lo_CFG.MNX_Conversion_Support) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > MNX_Conversion_Support: ' + TRANSFORM(lo_CFG.MNX_Conversion_Support) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 23 ) == LOWER('DBF_Conversion_Support:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) )
|
||||
IF INLIST( lcValue, '0', '1', '2', '4' ) THEN
|
||||
lo_CFG.DBF_Conversion_Support = INT( VAL( lcValue ) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Support: ' + TRANSFORM(lo_CFG.DBF_Conversion_Support) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Support: ' + TRANSFORM(lo_CFG.DBF_Conversion_Support) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 24 ) == LOWER('DBF_Conversion_Included:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 25 ) )
|
||||
IF NOT EMPTY(lcValue) THEN
|
||||
lo_CFG.DBF_Conversion_Included = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Included: ' + TRANSFORM(lo_CFG.DBF_Conversion_Included) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 24 ) == LOWER('DBF_Conversion_Excluded:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 25 ) )
|
||||
IF NOT EMPTY(lcValue) THEN
|
||||
lo_CFG.DBF_Conversion_Excluded = lcValue
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Excluded: ' + TRANSFORM(lo_CFG.DBF_Conversion_Excluded) )
|
||||
ENDIF
|
||||
|
||||
CASE LEFT( laConfig(I), 23 ) == LOWER('DBC_Conversion_Support:')
|
||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) )
|
||||
IF INLIST( lcValue, '0', '1', '2' ) THEN
|
||||
lo_CFG.DBC_Conversion_Support = INT( VAL( lcValue ) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > DBC_Conversion_Support: ' + TRANSFORM(lo_CFG.DBC_Conversion_Support) )
|
||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > DBC_Conversion_Support: ' + TRANSFORM(lo_CFG.DBC_Conversion_Support) )
|
||||
ENDIF
|
||||
|
||||
ENDCASE
|
||||
@@ -1329,6 +1368,28 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ENDPROC
|
||||
|
||||
|
||||
FUNCTION FilenameFoundInFilter
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||
* tcFilename (v! IN ) Nombre del archivo a evaluar
|
||||
* tcFilters (v! IN ) Filtros a evaluar (*,??E.*,R*.*)
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
LPARAMETERS tcFilename, tcFilters
|
||||
|
||||
LOCAL llFound, laFiltros(1)
|
||||
tcFilename = UPPER(tcFilename)
|
||||
|
||||
FOR I = 1 TO ALINES( laFiltros, tcFilters + ',', 1+4, ',' )
|
||||
IF LIKE( UPPER(laFiltros(I)), tcFilename )
|
||||
llFound = .T.
|
||||
EXIT
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
RETURN llFound
|
||||
ENDFUNC
|
||||
|
||||
|
||||
PROCEDURE Get_Ext2FromExt
|
||||
LPARAMETERS tcExt
|
||||
LOCAL lcExt2
|
||||
@@ -11131,7 +11192,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
||||
DODEFAULT( @toModulo, @toEx )
|
||||
|
||||
TRY
|
||||
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1), lnLen, lc_FileTypeDesc ;
|
||||
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1), lnLen, lc_FileTypeDesc, laLines(1) ;
|
||||
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, lnDataSessionID, lnSelect ;
|
||||
, loTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG' ;
|
||||
, loDBFUtils AS CL_DBF_UTILS OF 'FOXBIN2PRG.PRG'
|
||||
@@ -11140,6 +11201,22 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
||||
loDBFUtils = CREATEOBJECT('CL_DBF_UTILS')
|
||||
|
||||
WITH THIS AS c_conversor_dbf_a_prg OF 'FOXBIN2PRG.PRG'
|
||||
*-- EVALUAR OPCIONES ESPEC<45>FICAS DE DBF
|
||||
|
||||
*-- Include
|
||||
IF NOT EMPTY(toFoxBin2Prg.DBF_Conversion_Included) AND NOT toFoxBin2Prg.DBF_Conversion_Included == '*' ;
|
||||
AND NOT toFoxBin2Prg.FilenameFoundInFilter( JUSTFNAME(.c_InputFile), toFoxBin2Prg.DBF_Conversion_Included )
|
||||
toFoxBin2Prg.writeLog(' ' + JUSTFNAME(.c_InputFile) + ' no est<73> en el filtro DBF_Conversion_Included (' + toFoxBin2Prg.DBF_Conversion_Included + ')' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
*-- Exclude
|
||||
IF NOT EMPTY(toFoxBin2Prg.DBF_Conversion_Excluded) ;
|
||||
AND toFoxBin2Prg.FilenameFoundInFilter( JUSTFNAME(.c_InputFile), toFoxBin2Prg.DBF_Conversion_Excluded )
|
||||
toFoxBin2Prg.writeLog(' ' + JUSTFNAME(.c_InputFile) + ' est<73> en el filtro DBF_Conversion_Excluded (' + toFoxBin2Prg.DBF_Conversion_Excluded + ')' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
loDBFUtils.getDBFmetadata( .c_InputFile, @ln_HexFileType, @ll_FileHasCDX, @ll_FileHasMemo, @ll_FileIsDBC, @lc_DBC_Name )
|
||||
lc_FileTypeDesc = loDBFUtils.fileTypeDescription(ln_HexFileType)
|
||||
lnDatabases_Count = ADATABASES(laDatabases)
|
||||
@@ -15900,7 +15977,9 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
LOCAL lcText, lcTableCFG, lcIndexKey, lcIndexFile, loEx AS EXCEPTION ;
|
||||
LOCAL lcText, lcTableCFG, lcIndexKey, lcIndexFile, laConfig(1), lcValue, lcConfigItem ;
|
||||
, lc_DBF_Conversion_Order, lc_DBF_Conversion_Condition ;
|
||||
, loEx AS EXCEPTION ;
|
||||
, loRecords AS CL_DBF_RECORDS OF 'FOXBIN2PRG.PRG' ;
|
||||
, loFields AS CL_DBF_FIELDS OF 'FOXBIN2PRG.PRG' ;
|
||||
, loIndexes AS CL_DBF_INDEXES OF 'FOXBIN2PRG.PRG'
|
||||
@@ -15932,24 +16011,43 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE
|
||||
lcText = lcText + loIndexes.toText( '', '', tc_InputFile )
|
||||
|
||||
IF toFoxBin2Prg.DBF_Conversion_Support = 4 && BIN2PRG (DATA EXPORT FOR DIFF)
|
||||
*-- If table CFG exists, use it to order records. FDBOZZO. 2014/06/15
|
||||
*-- If table CFG exists, use it for DBF-specific configuration. FDBOZZO. 2014/06/15
|
||||
lcTableCFG = tc_InputFile + '.CFG'
|
||||
|
||||
IF FILE(lcTableCFG)
|
||||
toFoxBin2Prg.writeLog()
|
||||
toFoxBin2Prg.writeLog('* Found configuration file: ' + lcTableCFG)
|
||||
lcIndexKey = ALLTRIM( FILETOSTR(lcTableCFG), 0, ' ', CHR(13), CHR(10) )
|
||||
|
||||
IF NOT EMPTY(lcIndexKey)
|
||||
*-- Leer valores de configuraci<63>n
|
||||
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcTableCFG ), 1+4 )
|
||||
lcConfigItem = LOWER( laConfig(I) )
|
||||
|
||||
DO CASE
|
||||
CASE INLIST( LEFT( lcConfigItem, 1 ), '*', '#', '/', "'" )
|
||||
LOOP
|
||||
|
||||
CASE LEFT( lcConfigItem, 21 ) == LOWER('DBF_Conversion_Order:')
|
||||
lc_DBF_Conversion_Order = ALLTRIM( SUBSTR( laConfig(I), 22 ) )
|
||||
toFoxBin2Prg.writeLog(' ' + JUSTFNAME(lcTableCFG) + ' -> DBF_Conversion_Order: ' + lc_DBF_Conversion_Order )
|
||||
|
||||
CASE LEFT( lcConfigItem, 25 ) == LOWER('DBF_Conversion_Condition:')
|
||||
lc_DBF_Conversion_Condition = ALLTRIM( SUBSTR( laConfig(I), 26 ) )
|
||||
toFoxBin2Prg.writeLog(' ' + JUSTFNAME(lcTableCFG) + ' -> DBF_Conversion_Condition: ' + lc_DBF_Conversion_Condition )
|
||||
|
||||
ENDCASE
|
||||
ENDFOR
|
||||
|
||||
IF NOT EMPTY(lc_DBF_Conversion_Order)
|
||||
lcIndexFile = FORCEEXT(tc_InputFile,'IDX')
|
||||
INDEX ON &lcIndexKey. TO (lcIndexFile) COMPACT
|
||||
toFoxBin2Prg.writeLog(' > Using Index order key: ' + lcIndexKey)
|
||||
INDEX ON &lc_DBF_Conversion_Order. TO (lcIndexFile) COMPACT
|
||||
toFoxBin2Prg.writeLog(' > Using Index order key: ' + lc_DBF_Conversion_Order)
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
*** DH 06/02/2014: added _Records
|
||||
loRecords = THIS._Records
|
||||
lcText = lcText + loRecords.toText(@laFields, lnFieldCount)
|
||||
lcText = lcText + loRecords.toText(@laFields, lnFieldCount, lc_DBF_Conversion_Condition)
|
||||
|
||||
ENDIF
|
||||
|
||||
@@ -16548,11 +16646,12 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE
|
||||
|
||||
PROCEDURE toText
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||
* taFields (@! IN ) Array de informaci<63>n de campos
|
||||
* tnField_Count (v! IN ) Cantidad de campos
|
||||
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||
* taFields (@! IN ) Array de informaci<63>n de campos
|
||||
* tnField_Count (v! IN ) Cantidad de campos
|
||||
* tc_DBF_Conversion_Condition (v? IN ) Condici<63>n de filtro para la conversi<73>n. Solo se exporta lo que la cumpla.
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
LPARAMETERS taFields, tnField_Count
|
||||
LPARAMETERS taFields, tnField_Count, tc_DBF_Conversion_Condition
|
||||
|
||||
EXTERNAL ARRAY taFields
|
||||
|
||||
@@ -16567,8 +16666,12 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE
|
||||
ENDTEXT
|
||||
|
||||
loRecord = CREATEOBJECT('CL_DBF_RECORD')
|
||||
|
||||
IF EMPTY(tc_DBF_Conversion_Condition)
|
||||
tc_DBF_Conversion_Condition = '.T.'
|
||||
ENDIF
|
||||
|
||||
SCAN
|
||||
SCAN FOR &tc_DBF_Conversion_Condition.
|
||||
lcText = lcText + loRecord.toText(@taFields, tnField_Count)
|
||||
ENDSCAN
|
||||
|
||||
@@ -16579,6 +16682,7 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE
|
||||
|
||||
|
||||
CATCH TO loEx
|
||||
loEx.UserValue = loEx.UserValue + 'tc_DBF_Conversion_Condition = [' + TRANSFORM(tc_DBF_Conversion_Condition) + ']' + CR_LF
|
||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||
SET STEP ON
|
||||
ENDIF
|
||||
@@ -19644,6 +19748,8 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
||||
+ [<memberdata name="lbx_conversion_support" display="LBX_Conversion_Support"/>] ;
|
||||
+ [<memberdata name="mnx_conversion_support" display="MNX_Conversion_Support"/>] ;
|
||||
+ [<memberdata name="dbf_conversion_support" display="DBF_Conversion_Support"/>] ;
|
||||
+ [<memberdata name="dbf_conversion_included" display="DBF_Conversion_Included"/>] ;
|
||||
+ [<memberdata name="dbf_conversion_excluded" display="DBF_Conversion_Excluded"/>] ;
|
||||
+ [<memberdata name="dbc_conversion_support" display="DBC_Conversion_Support"/>] ;
|
||||
+ [</VFPData>]
|
||||
|
||||
@@ -19652,7 +19758,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
||||
#ENDIF
|
||||
|
||||
|
||||
*--
|
||||
*-- Configuration class. By default asumes master value, except when overriding one.
|
||||
c_Foxbin2prg_FullPath = ''
|
||||
c_Foxbin2prg_ConfigFile = ''
|
||||
c_CurDir = ''
|
||||
@@ -19679,6 +19785,8 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
||||
LBX_Conversion_Support = NULL
|
||||
MNX_Conversion_Support = NULL
|
||||
DBF_Conversion_Support = NULL
|
||||
DBF_Conversion_Included = NULL
|
||||
DBF_Conversion_Excluded = NULL
|
||||
DBC_Conversion_Support = NULL
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user