Changeset: 124 - v1.16
- Agregado soporte bidireccional para conversión de Menus - Mejora del backup: Ahora también se hace de los archivos de texto - Optimizaciones varias, limpieza de código, refactorizaciones
This commit is contained in:
@@ -24,12 +24,12 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes
|
|||||||
*******************************************************************************************************************************************
|
*******************************************************************************************************************************************
|
||||||
FUNCTION SETUP
|
FUNCTION SETUP
|
||||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
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"
|
LOCAL loObj AS c_foxbin2prg OF "FOXBIN2PRG.PRG"
|
||||||
SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG')
|
oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG')
|
||||||
oFXU_LIB.setup_comun()
|
oFXU_LIB.setup_comun()
|
||||||
|
|
||||||
THIS.icObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
|
THIS.icObj = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||||
loObj = THIS.icObj
|
loObj = THIS.icObj
|
||||||
loObj.l_Test = .T.
|
loObj.l_Test = .T.
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes
|
|||||||
#IF .F.
|
#IF .F.
|
||||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
|
LOCAL loObj AS c_foxbin2prg OF "FOXBIN2PRG.PRG"
|
||||||
loObj = THIS.icObj
|
loObj = THIS.icObj
|
||||||
|
|
||||||
IF PCOUNT() = 0
|
IF PCOUNT() = 0
|
||||||
@@ -67,7 +67,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes
|
|||||||
RETURN .T.
|
RETURN .T.
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF ISNULL(toEx)
|
IF VARTYPE(toEx) <> 'O'
|
||||||
*-- Visualizaci<63>n de valores
|
*-- Visualizaci<63>n de valores
|
||||||
THIS.messageout( 'BackFile_1: ' + TRANSFORM(tcBackFile_1) )
|
THIS.messageout( 'BackFile_1: ' + TRANSFORM(tcBackFile_1) )
|
||||||
THIS.messageout( 'BackFile_2: ' + TRANSFORM(tcBackFile_2) )
|
THIS.messageout( 'BackFile_2: ' + TRANSFORM(tcBackFile_2) )
|
||||||
@@ -76,7 +76,9 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes
|
|||||||
|
|
||||||
*-- Evaluaci<63>n de valores
|
*-- Evaluaci<63>n de valores
|
||||||
THIS.assertequals( .T., FILE(tcBackFile_1), "Existencia del archivo " + tcBackFile_1 )
|
THIS.assertequals( .T., FILE(tcBackFile_1), "Existencia del archivo " + tcBackFile_1 )
|
||||||
THIS.assertequals( .T., FILE(tcBackFile_2), "Existencia del archivo " + tcBackFile_2 )
|
IF NOT EMPTY(tcBackFile_2)
|
||||||
|
THIS.assertequals( .T., FILE(tcBackFile_2), "Existencia del archivo " + tcBackFile_2 )
|
||||||
|
ENDIF
|
||||||
IF NOT EMPTY(tcBackFile_3)
|
IF NOT EMPTY(tcBackFile_3)
|
||||||
THIS.assertequals( .T., FILE(tcBackFile_3), "Existencia del archivo " + tcBackFile_3 )
|
THIS.assertequals( .T., FILE(tcBackFile_3), "Existencia del archivo " + tcBackFile_3 )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -102,7 +104,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes
|
|||||||
LOCAL lnCodError, lcMenError, lnCodError_Esperado ;
|
LOCAL lnCodError, lcMenError, lnCodError_Esperado ;
|
||||||
, lcMemo, lcMemo_Salida, lcMemo_Esperado, lcBackFile_1, lcBackFile_2, lcBackFile_3 ;
|
, lcMemo, lcMemo_Salida, lcMemo_Esperado, lcBackFile_1, lcBackFile_2, lcBackFile_3 ;
|
||||||
, loEx AS EXCEPTION
|
, loEx AS EXCEPTION
|
||||||
LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
|
LOCAL loObj AS c_foxbin2prg OF "FOXBIN2PRG.PRG"
|
||||||
loObj = THIS.icObj
|
loObj = THIS.icObj
|
||||||
loEx = NULL
|
loEx = NULL
|
||||||
loObj.c_OutputFile = FORCEPATH( 'FB2P_DBC.DBC', oFXU_LIB.cPathDatosTest )
|
loObj.c_OutputFile = FORCEPATH( 'FB2P_DBC.DBC', oFXU_LIB.cPathDatosTest )
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>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!!
|
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
*< FOXBIN2PRG: Version="1.16" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2014/01/02 01:26:10" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
*< FOXBIN2PRG: Version="1.16" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2014/01/02 02:10:04" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
*
|
*
|
||||||
LPARAMETERS tcDir
|
LPARAMETERS tcDir
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ _LegalTrademark = "Open Source"
|
|||||||
_ProductName = " FOXBIN2PRG"
|
_ProductName = " FOXBIN2PRG"
|
||||||
_MajorVer = "1"
|
_MajorVer = "1"
|
||||||
_MinorVer = "16"
|
_MinorVer = "16"
|
||||||
_Revision = " 142"
|
_Revision = " 143"
|
||||||
_LanguageID = "1034"
|
_LanguageID = "1034"
|
||||||
_AutoIncrement = "1"
|
_AutoIncrement = "1"
|
||||||
*</DevInfo>
|
*</DevInfo>
|
||||||
@@ -51,7 +51,7 @@ loProject = _VFP.Projects('foxbin2prg.pjx')
|
|||||||
|
|
||||||
WITH loProject.FILES
|
WITH loProject.FILES
|
||||||
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" />
|
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" />
|
||||||
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1143081697" ID="1130644423" ObjRev="544" />
|
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1143083147" ID="1130644423" ObjRev="544" />
|
||||||
*</BuildProj>
|
*</BuildProj>
|
||||||
|
|
||||||
.ITEM('__newproject.f2b').Remove()
|
.ITEM('__newproject.f2b').Remove()
|
||||||
|
|||||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
273
foxbin2prg.prg
273
foxbin2prg.prg
@@ -284,7 +284,7 @@ goCnv = CREATEOBJECT("c_foxbin2prg")
|
|||||||
lnResp = goCnv.ejecutar( tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErrors, tcDebug ;
|
lnResp = goCnv.ejecutar( tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErrors, tcDebug ;
|
||||||
, '', NULL, NULL, .F., tcOriginalFileName )
|
, '', NULL, NULL, .F., tcOriginalFileName )
|
||||||
|
|
||||||
IF _VFP.STARTMODE = 0
|
IF _VFP.STARTMODE <= 1
|
||||||
RETURN lnResp
|
RETURN lnResp
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -319,8 +319,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="c_pj2" display="c_PJ2"/>] ;
|
+ [<memberdata name="c_pj2" display="c_PJ2"/>] ;
|
||||||
+ [<memberdata name="c_sc2" display="c_SC2"/>] ;
|
+ [<memberdata name="c_sc2" display="c_SC2"/>] ;
|
||||||
+ [<memberdata name="c_vc2" display="c_VC2"/>] ;
|
+ [<memberdata name="c_vc2" display="c_VC2"/>] ;
|
||||||
|
+ [<memberdata name="dobackup" display="doBackup"/>] ;
|
||||||
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
|
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
|
||||||
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
||||||
|
+ [<memberdata name="getnext_bak" display="getNext_BAK"/>] ;
|
||||||
+ [<memberdata name="lfilemode" display="lFileMode"/>] ;
|
+ [<memberdata name="lfilemode" display="lFileMode"/>] ;
|
||||||
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
||||||
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
||||||
@@ -401,7 +403,93 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE ejecutar
|
PROCEDURE doBackup
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
|
* toEx (@? IN ) Objeto Exception con informaci<63>n del error
|
||||||
|
* tlRelanzarError (v? IN ) Indica si se debe relanzar el error
|
||||||
|
* tcBakFile_1 (@? OUT) Nombre del archivo backup 1 (vcx,scx,pjx,frx,lbx,dbf,dbc,mnx,vc2,sc2,pj2,etc)
|
||||||
|
* tcBakFile_2 (@? OUT) Nombre del archivo backup 2 (vct,sct,pjt,frt,lbt,fpt,dct,mnt,etc)
|
||||||
|
* tcBakFile_3 (@? OUT) Nombre del archivo backup 1 (vcx,scx,pjx,cdx,dcx,etc)
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL lcNext_Bak, lcExt_1, lcExt_2, lcExt_3
|
||||||
|
STORE '' TO tcBakFile_1, tcBakFile_2, tcBakFile_3
|
||||||
|
lcNext_Bak = THIS.getNext_BAK( THIS.c_OutputFile )
|
||||||
|
lcExt_1 = JUSTEXT( THIS.c_OutputFile )
|
||||||
|
tcBakFile_1 = FORCEEXT(THIS.c_OutputFile, lcExt_1 + lcNext_Bak)
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE INLIST( lcExt_1, THIS.c_PJ2, THIS.c_VC2, THIS.c_SC2, THIS.c_FR2 ;
|
||||||
|
, THIS.c_LB2, THIS.c_DB2, THIS.c_DC2, THIS.c_MN2 )
|
||||||
|
*-- Extensiones TEXTO
|
||||||
|
|
||||||
|
CASE lcExt_1 = 'DBF'
|
||||||
|
*-- DBF
|
||||||
|
lcExt_2 = 'FPT'
|
||||||
|
lcExt_3 = 'CDX'
|
||||||
|
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
||||||
|
tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak)
|
||||||
|
|
||||||
|
CASE lcExt_1 = 'DBC'
|
||||||
|
*-- DBC
|
||||||
|
lcExt_2 = 'DCT'
|
||||||
|
lcExt_3 = 'DCX'
|
||||||
|
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
||||||
|
tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak)
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
|
*-- PJX, VCX, SCX, FRX, LBX, MNX
|
||||||
|
lcExt_2 = LEFT(lcExt_1,2) + 'T'
|
||||||
|
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
||||||
|
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
IF NOT EMPTY(lcExt_1) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_1) )
|
||||||
|
*-- LOG
|
||||||
|
DO CASE
|
||||||
|
CASE EMPTY(lcExt_2)
|
||||||
|
THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) )
|
||||||
|
CASE EMPTY(lcExt_3)
|
||||||
|
THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 )
|
||||||
|
OTHERWISE
|
||||||
|
THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 + '/' + lcExt_3 )
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
*-- COPIA BACKUP
|
||||||
|
COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_1) ) TO ( tcBakFile_1 )
|
||||||
|
|
||||||
|
IF NOT EMPTY(lcExt_2) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_2) )
|
||||||
|
COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_2) ) TO ( tcBakFile_2 )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF NOT EMPTY(lcExt_3) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_3) )
|
||||||
|
COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_3) ) TO ( tcBakFile_3 )
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CATCH TO toEx
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF tlRelanzarError
|
||||||
|
THROW
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE Ejecutar
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
* tc_InputFile (!v IN ) Nombre del archivo de entrada
|
* tc_InputFile (!v IN ) Nombre del archivo de entrada
|
||||||
@@ -722,7 +810,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
loFSO = NULL
|
loFSO = NULL
|
||||||
THIS.o_FSO = NULL
|
|
||||||
THIS.o_Conversor = NULL
|
THIS.o_Conversor = NULL
|
||||||
THIS.writeLog_Flush()
|
THIS.writeLog_Flush()
|
||||||
|
|
||||||
@@ -732,6 +819,35 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE getNext_BAK
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
|
* tc_OutputFilename (!v IN ) Nombre del archivo de salida a crear el backup
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tcOutputFileName
|
||||||
|
LOCAL lcNext_Bak, I
|
||||||
|
lcNext_Bak = ''
|
||||||
|
|
||||||
|
FOR I = 0 TO 99
|
||||||
|
IF I = 0
|
||||||
|
IF NOT FILE( tcOutputFileName + '.BAK' )
|
||||||
|
lcNext_Bak = '.BAK'
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
IF NOT FILE( tcOutputFileName + '.' + PADL(I,2,'0') + '.BAK' )
|
||||||
|
lcNext_Bak = '.' + PADL(I,2,'0') + '.BAK'
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
lcNext_Bak = EVL( lcNext_Bak, '.100.BAK' ) && Para que no quede nunca vac<61>o
|
||||||
|
|
||||||
|
RETURN lcNext_Bak
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE normalizarCapitalizacionArchivos
|
PROCEDURE normalizarCapitalizacionArchivos
|
||||||
TRY
|
TRY
|
||||||
@@ -920,12 +1036,10 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
+ [<memberdata name="desnormalizarasignacion" display="desnormalizarAsignacion"/>] ;
|
+ [<memberdata name="desnormalizarasignacion" display="desnormalizarAsignacion"/>] ;
|
||||||
+ [<memberdata name="desnormalizarvalorpropiedad" display="desnormalizarValorPropiedad"/>] ;
|
+ [<memberdata name="desnormalizarvalorpropiedad" display="desnormalizarValorPropiedad"/>] ;
|
||||||
+ [<memberdata name="desnormalizarvalorxml" display="desnormalizarValorXML"/>] ;
|
+ [<memberdata name="desnormalizarvalorxml" display="desnormalizarValorXML"/>] ;
|
||||||
+ [<memberdata name="dobackup" display="doBackup"/>] ;
|
|
||||||
+ [<memberdata name="encode_specialcodes_1_31" display="encode_SpecialCodes_1_31"/>] ;
|
+ [<memberdata name="encode_specialcodes_1_31" display="encode_SpecialCodes_1_31"/>] ;
|
||||||
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
||||||
+ [<memberdata name="filetypecode" display="fileTypeCode"/>] ;
|
+ [<memberdata name="filetypecode" display="fileTypeCode"/>] ;
|
||||||
+ [<memberdata name="getdbfmetadata" display="getDBFmetadata"/>] ;
|
+ [<memberdata name="getdbfmetadata" display="getDBFmetadata"/>] ;
|
||||||
+ [<memberdata name="getnext_bak" display="getNext_BAK"/>] ;
|
|
||||||
+ [<memberdata name="get_separatedlineandcomment" display="get_SeparatedLineAndComment"/>] ;
|
+ [<memberdata name="get_separatedlineandcomment" display="get_SeparatedLineAndComment"/>] ;
|
||||||
+ [<memberdata name="get_separatedpropandvalue" display="get_SeparatedPropAndValue"/>] ;
|
+ [<memberdata name="get_separatedpropandvalue" display="get_SeparatedPropAndValue"/>] ;
|
||||||
+ [<memberdata name="get_valuefromnullterminatedvalue" display="get_ValueFromNullTerminatedValue"/>] ;
|
+ [<memberdata name="get_valuefromnullterminatedvalue" display="get_ValueFromNullTerminatedValue"/>] ;
|
||||||
@@ -1293,94 +1407,6 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE doBackup
|
|
||||||
*---------------------------------------------------------------------------------------------------
|
|
||||||
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
|
||||||
* toEx (@? IN ) Objeto Exception con informaci<63>n del error
|
|
||||||
* tlRelanzarError (v? IN ) Indica si se debe relanzar el error
|
|
||||||
* tcBakFile_1 (@? OUT) Nombre del archivo backup 1 (vcx,scx,pjx,frx,lbx,dbf,dbc,mnx,vc2,sc2,pj2,etc)
|
|
||||||
* tcBakFile_2 (@? OUT) Nombre del archivo backup 2 (vct,sct,pjt,frt,lbt,fpt,dct,mnt,etc)
|
|
||||||
* tcBakFile_3 (@? OUT) Nombre del archivo backup 1 (vcx,scx,pjx,cdx,dcx,etc)
|
|
||||||
* toFoxbin2prg (v! IN ) Referencia al objeto principal
|
|
||||||
*---------------------------------------------------------------------------------------------------
|
|
||||||
LPARAMETERS toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3, toFoxbin2prg
|
|
||||||
|
|
||||||
#IF .F.
|
|
||||||
LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
|
||||||
#ENDIF
|
|
||||||
|
|
||||||
TRY
|
|
||||||
LOCAL lcNext_Bak, lcExt_1, lcExt_2, lcExt_3
|
|
||||||
STORE '' TO tcBakFile_1, tcBakFile_2, tcBakFile_3
|
|
||||||
lcNext_Bak = THIS.getNext_BAK( THIS.c_OutputFile )
|
|
||||||
lcExt_1 = JUSTEXT( THIS.c_OutputFile )
|
|
||||||
tcBakFile_1 = FORCEEXT(THIS.c_OutputFile, lcExt_1 + lcNext_Bak)
|
|
||||||
|
|
||||||
DO CASE
|
|
||||||
CASE INLIST( lcExt_1, toFoxbin2prg.c_PJ2, toFoxbin2prg.c_VC2, toFoxbin2prg.c_SC2, toFoxbin2prg.c_FR2 ;
|
|
||||||
, toFoxbin2prg.c_LB2, toFoxbin2prg.c_DB2, toFoxbin2prg.c_DC2, toFoxbin2prg.c_MN2 )
|
|
||||||
*-- Extensiones TEXTO
|
|
||||||
|
|
||||||
CASE lcExt_1 = 'DBF'
|
|
||||||
*-- DBF
|
|
||||||
lcExt_2 = 'FPT'
|
|
||||||
lcExt_3 = 'CDX'
|
|
||||||
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
|
||||||
tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak)
|
|
||||||
|
|
||||||
CASE lcExt_1 = 'DBC'
|
|
||||||
*-- DBC
|
|
||||||
lcExt_2 = 'DCT'
|
|
||||||
lcExt_3 = 'DCX'
|
|
||||||
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
|
||||||
tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak)
|
|
||||||
|
|
||||||
OTHERWISE
|
|
||||||
*-- PJX, VCX, SCX, FRX, LBX, MNX
|
|
||||||
lcExt_2 = LEFT(lcExt_1,2) + 'T'
|
|
||||||
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
|
||||||
|
|
||||||
ENDCASE
|
|
||||||
|
|
||||||
IF NOT EMPTY(lcExt_1) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_1) )
|
|
||||||
*-- LOG
|
|
||||||
DO CASE
|
|
||||||
CASE EMPTY(lcExt_2)
|
|
||||||
THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) )
|
|
||||||
CASE EMPTY(lcExt_3)
|
|
||||||
THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 )
|
|
||||||
OTHERWISE
|
|
||||||
THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 + '/' + lcExt_3 )
|
|
||||||
ENDCASE
|
|
||||||
|
|
||||||
*-- COPIA BACKUP
|
|
||||||
COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_1) ) TO ( tcBakFile_1 )
|
|
||||||
|
|
||||||
IF NOT EMPTY(lcExt_2) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_2) )
|
|
||||||
COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_2) ) TO ( tcBakFile_2 )
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IF NOT EMPTY(lcExt_3) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_3) )
|
|
||||||
COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_3) ) TO ( tcBakFile_3 )
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
CATCH TO loEx
|
|
||||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
|
||||||
SET STEP ON
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IF tlRelanzarError
|
|
||||||
THROW
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
ENDTRY
|
|
||||||
|
|
||||||
RETURN
|
|
||||||
ENDPROC
|
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE encode_SpecialCodes_1_31
|
PROCEDURE encode_SpecialCodes_1_31
|
||||||
LPARAMETERS tcText
|
LPARAMETERS tcText
|
||||||
@@ -1426,32 +1452,6 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE getNext_BAK
|
|
||||||
LPARAMETERS tcOutputFileName
|
|
||||||
LOCAL lcNext_Bak, I
|
|
||||||
lcNext_Bak = ''
|
|
||||||
|
|
||||||
FOR I = 0 TO 99
|
|
||||||
IF I = 0
|
|
||||||
IF NOT FILE( tcOutputFileName + '.BAK' )
|
|
||||||
lcNext_Bak = '.BAK'
|
|
||||||
EXIT
|
|
||||||
ENDIF
|
|
||||||
ELSE
|
|
||||||
IF NOT FILE( tcOutputFileName + '.' + PADL(I,2,'0') + '.BAK' )
|
|
||||||
lcNext_Bak = '.' + PADL(I,2,'0') + '.BAK'
|
|
||||||
EXIT
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
lcNext_Bak = EVL( lcNext_Bak, '.100.BAK' ) && Para que no quede nunca vac<61>o
|
|
||||||
|
|
||||||
RETURN lcNext_Bak
|
|
||||||
ENDPROC
|
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE getDBFmetadata
|
PROCEDURE getDBFmetadata
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
@@ -4163,7 +4163,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
|||||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Creo la librer<65>a
|
*-- Creo la librer<65>a
|
||||||
THIS.createClasslib()
|
THIS.createClasslib()
|
||||||
@@ -4440,7 +4440,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
|||||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Creo el form
|
*-- Creo el form
|
||||||
THIS.createForm()
|
THIS.createForm()
|
||||||
@@ -4727,7 +4727,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
|||||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Creo solo la cabecera del proyecto
|
*-- Creo solo la cabecera del proyecto
|
||||||
THIS.createProject()
|
THIS.createProject()
|
||||||
@@ -5450,7 +5450,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
|||||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Creo el reporte
|
*-- Creo el reporte
|
||||||
THIS.createReport()
|
THIS.createReport()
|
||||||
@@ -5848,7 +5848,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
|
|||||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo del reporte
|
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo del reporte
|
||||||
THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toTable )
|
THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toTable )
|
||||||
@@ -6095,7 +6095,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Creo la tabla
|
*-- Creo la tabla
|
||||||
*THIS.createTable()
|
*THIS.createTable()
|
||||||
@@ -6258,7 +6258,7 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin
|
|||||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Creo la tabla
|
*-- Creo la tabla
|
||||||
THIS.createMenu()
|
THIS.createMenu()
|
||||||
@@ -8014,7 +8014,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
THIS.write_ENDDEFINE_SiCorresponde( lnLastClass )
|
THIS.write_ENDDEFINE_SiCorresponde( lnLastClass )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Genero el VC2
|
*-- Genero el VC2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
@@ -8179,7 +8179,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
THIS.write_ENDDEFINE_SiCorresponde( lnLastClass )
|
THIS.write_ENDDEFINE_SiCorresponde( lnLastClass )
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Genero el SC2
|
*-- Genero el SC2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
@@ -8484,7 +8484,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Genero el PJ2
|
*-- Genero el PJ2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
@@ -8616,7 +8616,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
|||||||
THIS.write_DETALLE_REPORTE( @loRegCur )
|
THIS.write_DETALLE_REPORTE( @loRegCur )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Genero el FR2
|
*-- Genero el FR2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
@@ -8687,7 +8687,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
|||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + loTable.toText( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, THIS.c_InputFile )
|
C_FB2PRG_CODE = C_FB2PRG_CODE + loTable.toText( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, THIS.c_InputFile )
|
||||||
|
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Genero el DB2
|
*-- Genero el DB2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
@@ -8768,7 +8768,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
|||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + toDatabase.toText()
|
C_FB2PRG_CODE = C_FB2PRG_CODE + toDatabase.toText()
|
||||||
|
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Genero el DC2
|
*-- Genero el DC2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
@@ -8838,7 +8838,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
|
|||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + toMenu.toText()
|
C_FB2PRG_CODE = C_FB2PRG_CODE + toMenu.toText()
|
||||||
|
|
||||||
|
|
||||||
THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg )
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
*-- Genero el DC2
|
*-- Genero el DC2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
@@ -14286,13 +14286,6 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE
|
|||||||
_SourceFile = ''
|
_SourceFile = ''
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE INIT
|
|
||||||
DODEFAULT()
|
|
||||||
*--
|
|
||||||
*THIS.ADDOBJECT("_Options", "CL_MENU_OPTIONS")
|
|
||||||
ENDPROC
|
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE analizarBloque
|
PROCEDURE analizarBloque
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
|
|||||||
Reference in New Issue
Block a user