Changeset: 236 v1.19.21
- Agregado soporte para convertir a texto o binario todos los archivos de un proyecto desde pjx o pj2 (Matt Slay) - Optimización de búsqueda del programa de capitalización al procesar proyectos - Agregado AGAIN a la apertura SHARED de las tablas, para permitir concurrencia (Jim Nelson) - Agregada optimización basada en la la fecha/hora de modificación de los archivos para regerenar solo los archivos binarios y tx2 modificados (Matt Slay) - Agregada traducción al inglés en foxbin2prg_en.h del mensaje de LOG para la nueva optimización - Simplificación de la sección <DefinedPropArrayMethod>: Los métodos y arrays ya no requieren los símbolos * y ^ delante.
This commit is contained in:
@@ -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.19" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\menu1.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
*< FOXBIN2PRG: Version="1.19" SourceFile="menu1.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
*
|
*
|
||||||
*<MenuType>1</MenuType>
|
*<MenuType>1</MenuType>
|
||||||
*<MenuLocation>APPEND</MenuLocation>
|
*<MenuLocation>APPEND</MenuLocation>
|
||||||
|
|||||||
@@ -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.19" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\menu3.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
*< FOXBIN2PRG: Version="1.19" SourceFile="menu3.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
*
|
*
|
||||||
*<MenuType>1</MenuType>
|
*<MenuType>1</MenuType>
|
||||||
*<MenuLocation>REPLACE</MenuLocation>
|
*<MenuLocation>REPLACE</MenuLocation>
|
||||||
|
|||||||
@@ -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.19" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\menu_shortcut.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
*< FOXBIN2PRG: Version="1.19" SourceFile="menu_shortcut.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
*
|
*
|
||||||
*<MenuType>4</MenuType>
|
*<MenuType>4</MenuType>
|
||||||
*<MenuLocation>REPLACE</MenuLocation>
|
*<MenuLocation>REPLACE</MenuLocation>
|
||||||
|
|||||||
@@ -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.19" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\menu_shortcut2.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
*< FOXBIN2PRG: Version="1.19" SourceFile="menu_shortcut2.mnx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
*
|
*
|
||||||
*<MenuType>4</MenuType>
|
*<MenuType>4</MenuType>
|
||||||
*<MenuLocation>REPLACE</MenuLocation>
|
*<MenuLocation>REPLACE</MenuLocation>
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
*
|
*
|
||||||
* extension: xx2 && Default FoxBin2Prg extensions ends in '2' / Las extensiones por defecto de FoxBin2Prg terminan en '2'
|
* extension: xx2 && Default FoxBin2Prg extensions ends in '2' / Las extensiones por defecto de FoxBin2Prg terminan en '2'
|
||||||
* DontShowProgress: 0 && Show progress bar by default in multi-file processing / Mostrar barra de progreso por defecto en procesamiento multi-archivo
|
* DontShowProgress: 0 && Show progress bar by default in multi-file processing / Mostrar barra de progreso por defecto en procesamiento multi-archivo
|
||||||
* DontShowErrors: 1 && Show message errors by default / Mostrar mensajes de error por defecto
|
* DontShowErrors: 0 && Show message errors by default / Mostrar mensajes de error por defecto
|
||||||
* NoTimestamps: 1 && Crear timespampt by default for minimize differences / Vaciar Timestamps por defecto para minimizar diferencias
|
* NoTimestamps: 1 && Crear timespampt by default for minimize differences / Vaciar Timestamps por defecto para minimizar diferencias
|
||||||
* Debug: 1 && Activate individual <file>.Log by default / Activar <archivo>.Log por defecto
|
* Debug: 0 && Don't Activate individual <file>.Log by default / No Activar <archivo>.Log por defecto
|
||||||
* ExtraBackupLevels: 0 && By default 1 BAK is created. With this you can make more .N.BAK / Por defecto 1 BAK es creado. Con esto puede crear m<>s .N.BAK
|
* ExtraBackupLevels: 0 && By default 1 BAK is created. With this you can make more .N.BAK, or none / Por defecto 1 BAK es creado. Con esto puede crear m<>s .N.BAK, o ninguno
|
||||||
* ClearUniqueID: 0 && EXPERIMENTAL! - 0=Keep UniqueID, 1=Clear Unique ID. Useful for Diff and Merge / 0=Mantener UniqueID, 1=Borrar Unique ID. Util para Diff y Merge
|
* ClearUniqueID: 0 && EXPERIMENTAL! - 0=Keep UniqueID, 1=Clear Unique ID. Useful for Diff and Merge / 0=Mantener UniqueID, 1=Borrar Unique ID. Util para Diff y Merge
|
||||||
* XXX_Conversion_Support: N && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
* XXX_Conversion_Support: N && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||||
* PJX_Conversion_Support: 2 && Default value
|
* PJX_Conversion_Support: 2 && Default value
|
||||||
@@ -67,4 +67,4 @@ ClearUniqueID: 1
|
|||||||
*LBX_Conversion_Support: 2
|
*LBX_Conversion_Support: 2
|
||||||
*MNX_Conversion_Support: 2
|
*MNX_Conversion_Support: 2
|
||||||
*DBC_Conversion_Support: 2
|
*DBC_Conversion_Support: 2
|
||||||
*DBF_Conversion_Support: 1
|
*DBF_Conversion_Support: 2
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ _LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa):
|
|||||||
_ProductName = " FOXBIN2PRG v1.19.20"
|
_ProductName = " FOXBIN2PRG v1.19.20"
|
||||||
_MajorVer = "1"
|
_MajorVer = "1"
|
||||||
_MinorVer = "19"
|
_MinorVer = "19"
|
||||||
_Revision = " 317"
|
_Revision = " 319"
|
||||||
_LanguageID = "1034"
|
_LanguageID = "1034"
|
||||||
_AutoIncrement = "1"
|
_AutoIncrement = "1"
|
||||||
*</DevInfo>
|
*</DevInfo>
|
||||||
|
|||||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
392
foxbin2prg.prg
392
foxbin2prg.prg
@@ -82,10 +82,11 @@
|
|||||||
* 22/03/2014 FDBOZZO v1.19.18 Arreglo bug vcx/scx: Las im<69>genes no mantienen sus dimensiones programadas y asumen sus dimensiones reales // El comentario a nivel de librer<65>a se pierde
|
* 22/03/2014 FDBOZZO v1.19.18 Arreglo bug vcx/scx: Las im<69>genes no mantienen sus dimensiones programadas y asumen sus dimensiones reales // El comentario a nivel de librer<65>a se pierde
|
||||||
* 29/03/2014 FDBOZZO v1.19.19 Nueva caracter<65>stica: Hooks al regenerar DBF para poder realizar procesos intermedios, como la carga de datos del DBF regenerado desde una fuente externa
|
* 29/03/2014 FDBOZZO v1.19.19 Nueva caracter<65>stica: Hooks al regenerar DBF para poder realizar procesos intermedios, como la carga de datos del DBF regenerado desde una fuente externa
|
||||||
* 17/04/2014 FDBOZZO v1.19.20 Relativizaci<63>n de directorios de CDX dentro de los DB2 para minimizar diferencias
|
* 17/04/2014 FDBOZZO v1.19.20 Relativizaci<63>n de directorios de CDX dentro de los DB2 para minimizar diferencias
|
||||||
|
* 29/04/2014 FDBOZZO v1.19.21 Agregada posibilidad de convertir un proyecto entero a tx2 // Optimizaciones en generaci<63>n seg<65>n timestamps // AGAIN en aperturas // Simplificaci<63>n secci<63>n PAM
|
||||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* <TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
* <TESTEO, REPORTE DE BUGS Y MEJORAS (AGRADECIMIENTOS)>
|
||||||
* 23/11/2013 Luis Mart<72>nez REPORTE BUG scx v1.4: En algunos forms solo se generaba el dataenvironment (arreglado en v.1.5)
|
* 23/11/2013 Luis Mart<72>nez REPORTE BUG scx v1.4: En algunos forms solo se generaba el dataenvironment (arreglado en v.1.5)
|
||||||
* 27/11/2013 Fidel Charny REPORTE BUG vcx v1.5: Error en el guardado de ciertas propiedades de array (arreglado en v.1.6)
|
* 27/11/2013 Fidel Charny REPORTE BUG vcx v1.5: Error en el guardado de ciertas propiedades de array (arreglado en v.1.6)
|
||||||
* 02/12/2013 Fidel Charny REPORTE BUG scx v1.6: Se pierden algunas propiedades y no muestra picture si "Name" no es la <20>ltima (arreglado en v.1.7)
|
* 02/12/2013 Fidel Charny REPORTE BUG scx v1.6: Se pierden algunas propiedades y no muestra picture si "Name" no es la <20>ltima (arreglado en v.1.7)
|
||||||
@@ -106,6 +107,8 @@
|
|||||||
* 10/03/2014 Ryan Harris REPORTE BUG mnx v1.19.16: Al usar comentarios multil<69>nea en las opciones, se corrompe el MN2 y el MNX regenerado (solucionado en v1.19.17)
|
* 10/03/2014 Ryan Harris REPORTE BUG mnx v1.19.16: Al usar comentarios multil<69>nea en las opciones, se corrompe el MN2 y el MNX regenerado (solucionado en v1.19.17)
|
||||||
* 20/03/2014 Arturo Ramos REPORTE BUG vcx/scx v1.19.17: Las im<69>genes no mantienen sus dimensiones programadas y asumen sus dimensiones reales (Solucionado en v1.19.18)
|
* 20/03/2014 Arturo Ramos REPORTE BUG vcx/scx v1.19.17: Las im<69>genes no mantienen sus dimensiones programadas y asumen sus dimensiones reales (Solucionado en v1.19.18)
|
||||||
* 24/03/2014 Ryan Harris REPORTE BUG vcx/scx v1.19.17: El comentario a nivel de librer<65>a se pierde (Solucionado en v1.19.18)
|
* 24/03/2014 Ryan Harris REPORTE BUG vcx/scx v1.19.17: El comentario a nivel de librer<65>a se pierde (Solucionado en v1.19.18)
|
||||||
|
* 29/04/2014 Matt Slay MEJORA v1.19.20: Posibilidad de convertir un proyecto entero a tx2 // Optimizaci<63>n de generaci<63>n seg<65>n timestamps (Agregado en v1.19.21)
|
||||||
|
* 30/04/2014 Jim Nelson MEJORA v1.19.20: Agregado de AGAIN en apertura de tablas (Agregado en v1.19.21)
|
||||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -117,9 +120,9 @@
|
|||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* 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 completo (fullpath) del archivo a convertir
|
* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir
|
||||||
* tcType ( ) Tipo de archivo de entrada. SIN USO. Compatibilidad con SCCTEXT.PRG
|
* tcType (v? IN ) Tipo de archivo de entrada. SIN USO. Compatibilidad con SCCTEXT.PRG // Si se indica "*" y tc_InputFile es un PJX, se procesa todo el proyecto
|
||||||
* tcTextName ( ) Nombre del archivo texto. Compatibilidad con SCCTEXT.PRG
|
* tcTextName (v? IN ) Nombre del archivo texto. Compatibilidad con SCCTEXT.PRG
|
||||||
* tlGenText ( ) .T.=Genera Texto, .F.=Genera Binario. Compatibilidad con SCCTEXT.PRG
|
* tlGenText (v? IN ) .T.=Genera Texto, .F.=Genera Binario. Compatibilidad con SCCTEXT.PRG
|
||||||
* tcDontShowErrors (v? IN ) '1' para NO mostrar errores con MESSAGEBOX
|
* tcDontShowErrors (v? IN ) '1' para NO mostrar errores con MESSAGEBOX
|
||||||
* tcDebug (v? IN ) '1' para depurar en el sitio donde ocurre el error (solo modo desarrollo)
|
* tcDebug (v? IN ) '1' para depurar en el sitio donde ocurre el error (solo modo desarrollo)
|
||||||
* tcDontShowProgress (v? IN ) '1' para NO mostrar la ventana de progreso
|
* tcDontShowProgress (v? IN ) '1' para NO mostrar la ventana de progreso
|
||||||
@@ -272,6 +275,7 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb
|
|||||||
#DEFINE FILETYPE_LABEL "B" && Label (.LBX)
|
#DEFINE FILETYPE_LABEL "B" && Label (.LBX)
|
||||||
#DEFINE FILETYPE_CLASSLIB "V" && Class Library (.VCX)
|
#DEFINE FILETYPE_CLASSLIB "V" && Class Library (.VCX)
|
||||||
#DEFINE FILETYPE_PROGRAM "P" && Program (.PRG)
|
#DEFINE FILETYPE_PROGRAM "P" && Program (.PRG)
|
||||||
|
#DEFINE FILETYPE_PROJECT "J" && Project (.PJX) [NON STANDARD!]
|
||||||
#DEFINE FILETYPE_APILIB "L" && API Library (.FLL)
|
#DEFINE FILETYPE_APILIB "L" && API Library (.FLL)
|
||||||
#DEFINE FILETYPE_APPLICATION "Z" && Application (.APP)
|
#DEFINE FILETYPE_APPLICATION "Z" && Application (.APP)
|
||||||
#DEFINE FILETYPE_MENU "M" && Menu (.MNX)
|
#DEFINE FILETYPE_MENU "M" && Menu (.MNX)
|
||||||
@@ -325,6 +329,7 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb
|
|||||||
#DEFINE C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC "Objeto [<<toObj.CLASS>>] no contiene el objeto oReg (nivel <<TRANSFORM(tnNivel)>>)"
|
#DEFINE C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC "Objeto [<<toObj.CLASS>>] no contiene el objeto oReg (nivel <<TRANSFORM(tnNivel)>>)"
|
||||||
#DEFINE C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC "Operaci<63>n no reconocida. Solo re reconoce SETNAME y GETNAME."
|
#DEFINE C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC "Operaci<63>n no reconocida. Solo re reconoce SETNAME y GETNAME."
|
||||||
#DEFINE C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC "Optimizaci<63>n: El archivo de salida [<<THIS.c_OutputFile>>] no se sobreescribe por ser igual al generado."
|
#DEFINE C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC "Optimizaci<63>n: El archivo de salida [<<THIS.c_OutputFile>>] no se sobreescribe por ser igual al generado."
|
||||||
|
#DEFINE C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC "Optimizaci<63>n: El archivo de salida [<<THIS.c_OutputFile>>] no se regenera por ser m<>s nuevo que el de entrada."
|
||||||
#DEFINE C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC "Procedimiento sin cerrar. La <20>ltima l<>nea de c<>digo debe ser ENDPROC. [<<laLineas(1)>>]"
|
#DEFINE C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC "Procedimiento sin cerrar. La <20>ltima l<>nea de c<>digo debe ser ENDPROC. [<<laLineas(1)>>]"
|
||||||
#DEFINE C_PROCESSING_LOC "Procesando archivo"
|
#DEFINE C_PROCESSING_LOC "Procesando archivo"
|
||||||
#DEFINE C_PROCESS_PROGRESS_LOC "Avance del proceso:"
|
#DEFINE C_PROCESS_PROGRESS_LOC "Avance del proceso:"
|
||||||
@@ -405,6 +410,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
|
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
|
||||||
+ [<memberdata name="evaluarconfiguracion" display="EvaluarConfiguracion"/>] ;
|
+ [<memberdata name="evaluarconfiguracion" display="EvaluarConfiguracion"/>] ;
|
||||||
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
||||||
|
+ [<memberdata name="get_ext2fromext" display="Get_Ext2FromExt"/>] ;
|
||||||
+ [<memberdata name="get_program_header" display="get_PROGRAM_HEADER"/>] ;
|
+ [<memberdata name="get_program_header" display="get_PROGRAM_HEADER"/>] ;
|
||||||
+ [<memberdata name="getnext_bak" display="getNext_BAK"/>] ;
|
+ [<memberdata name="getnext_bak" display="getNext_BAK"/>] ;
|
||||||
+ [<memberdata name="run_aftercreatetable" display="run_AfterCreateTable"/>] ;
|
+ [<memberdata name="run_aftercreatetable" display="run_AfterCreateTable"/>] ;
|
||||||
@@ -421,6 +427,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="l_showprogress" display="l_ShowProgress"/>] ;
|
+ [<memberdata name="l_showprogress" display="l_ShowProgress"/>] ;
|
||||||
+ [<memberdata name="l_notimestamps" display="l_NoTimestamps"/>] ;
|
+ [<memberdata name="l_notimestamps" display="l_NoTimestamps"/>] ;
|
||||||
+ [<memberdata name="normalizarcapitalizacionarchivos" display="normalizarCapitalizacionArchivos"/>] ;
|
+ [<memberdata name="normalizarcapitalizacionarchivos" display="normalizarCapitalizacionArchivos"/>] ;
|
||||||
|
+ [<memberdata name="n_existecapitalizacion" display="n_ExisteCapitalizacion"/>] ;
|
||||||
+ [<memberdata name="n_extrabackuplevels" display="n_ExtraBackupLevels"/>] ;
|
+ [<memberdata name="n_extrabackuplevels" display="n_ExtraBackupLevels"/>] ;
|
||||||
+ [<memberdata name="n_fb2prg_version" display="n_FB2PRG_Version"/>] ;
|
+ [<memberdata name="n_fb2prg_version" display="n_FB2PRG_Version"/>] ;
|
||||||
+ [<memberdata name="o_conversor" display="o_Conversor"/>] ;
|
+ [<memberdata name="o_conversor" display="o_Conversor"/>] ;
|
||||||
@@ -437,6 +444,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="renamefile" display="RenameFile"/>] ;
|
+ [<memberdata name="renamefile" display="RenameFile"/>] ;
|
||||||
+ [<memberdata name="tienesoporte_bin2prg" display="TieneSoporte_Bin2Prg"/>] ;
|
+ [<memberdata name="tienesoporte_bin2prg" display="TieneSoporte_Bin2Prg"/>] ;
|
||||||
+ [<memberdata name="tienesoporte_prg2bin" display="TieneSoporte_Prg2Bin"/>] ;
|
+ [<memberdata name="tienesoporte_prg2bin" display="TieneSoporte_Prg2Bin"/>] ;
|
||||||
|
+ [<memberdata name="t_inputfile_timestamp" display="t_InputFile_TimeStamp"/>] ;
|
||||||
|
+ [<memberdata name="t_outputfile_timestamp" display="t_OutputFile_TimeStamp"/>] ;
|
||||||
+ [<memberdata name="writelog" display="writeLog"/>] ;
|
+ [<memberdata name="writelog" display="writeLog"/>] ;
|
||||||
+ [<memberdata name="writelog_flush" display="writeLog_Flush"/>] ;
|
+ [<memberdata name="writelog_flush" display="writeLog_Flush"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
@@ -454,12 +463,15 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
c_TextLog = ''
|
c_TextLog = ''
|
||||||
c_OutputFile = ''
|
c_OutputFile = ''
|
||||||
c_Type = ''
|
c_Type = ''
|
||||||
|
t_InputFile_TimeStamp = {//::}
|
||||||
|
t_OutputFile_TimeStamp = {//::}
|
||||||
lFileMode = .F.
|
lFileMode = .F.
|
||||||
|
n_ExisteCapitalizacion = -1
|
||||||
l_ConfigEvaluated = .F.
|
l_ConfigEvaluated = .F.
|
||||||
l_Debug = .F.
|
l_Debug = .F.
|
||||||
l_Test = .F.
|
l_Test = .F.
|
||||||
l_ShowErrors = .T.
|
l_ShowErrors = .T.
|
||||||
l_ShowProgress = .F.
|
l_ShowProgress = .T.
|
||||||
l_Recompile = .F.
|
l_Recompile = .F.
|
||||||
l_NoTimestamps = .T.
|
l_NoTimestamps = .T.
|
||||||
l_ClearUniqueID = .F.
|
l_ClearUniqueID = .F.
|
||||||
@@ -836,7 +848,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
.writeLog( '> l_ShowErrors: ' + TRANSFORM(.l_ShowErrors) )
|
.writeLog( '> l_ShowErrors: ' + TRANSFORM(.l_ShowErrors) )
|
||||||
.writeLog( '> l_Recompile: ' + TRANSFORM(.l_Recompile) + ' (' + EVL(tcRecompile,'') + ')' )
|
.writeLog( '> l_Recompile: ' + TRANSFORM(.l_Recompile) + ' (' + EVL(tcRecompile,'') + ')' )
|
||||||
.writeLog( '> l_NoTimestamps: ' + TRANSFORM(.l_NoTimestamps) )
|
.writeLog( '> l_NoTimestamps: ' + TRANSFORM(.l_NoTimestamps) )
|
||||||
.writeLog( '> ClearUniqueID: ' + TRANSFORM(.l_ClearUniqueID) )
|
.writeLog( '> l_ClearUniqueID: ' + TRANSFORM(.l_ClearUniqueID) )
|
||||||
.writeLog( '> l_Debug: ' + TRANSFORM(.l_Debug) )
|
.writeLog( '> l_Debug: ' + TRANSFORM(.l_Debug) )
|
||||||
.writeLog( '> n_ExtraBackupLevels: ' + TRANSFORM(.n_ExtraBackupLevels) )
|
.writeLog( '> n_ExtraBackupLevels: ' + TRANSFORM(.n_ExtraBackupLevels) )
|
||||||
.l_ConfigEvaluated = .T.
|
.l_ConfigEvaluated = .T.
|
||||||
@@ -847,6 +859,24 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE Get_Ext2FromExt
|
||||||
|
LPARAMETERS tcExt
|
||||||
|
LOCAL lcExt2
|
||||||
|
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
lcExt2 = ICASE( tcExt == 'PJX', .c_PJ2 ;
|
||||||
|
, tcExt == 'VCX', .c_VC2 ;
|
||||||
|
, tcExt == 'SCX', .c_SC2 ;
|
||||||
|
, tcExt == 'FRX', .c_FR2 ;
|
||||||
|
, tcExt == 'LBX', .c_LB2 ;
|
||||||
|
, tcExt == 'MNX', .c_MN2 ;
|
||||||
|
, tcExt == 'DBF', .c_DB2 ;
|
||||||
|
, tcExt == 'DBC', .c_DC2 ;
|
||||||
|
, 'XXX' )
|
||||||
|
ENDWITH && THIS
|
||||||
|
RETURN lcExt2
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE TieneSoporte_Bin2Prg
|
PROCEDURE TieneSoporte_Bin2Prg
|
||||||
LPARAMETERS tcExt
|
LPARAMETERS tcExt
|
||||||
LOCAL llTieneSoporte
|
LOCAL llTieneSoporte
|
||||||
@@ -887,9 +917,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
* 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
|
||||||
* tcType ( ) Tipo de archivo de entrada. SIN USO. Compatibilidad con SCCTEXT.PRG
|
* tcType (v? IN ) Tipo de archivo de entrada. SIN USO. Compatibilidad con SCCTEXT.PRG // Si se indica "*" y tc_InputFile es un PJX, se procesa todo el proyecto
|
||||||
* tcTextName ( ) Nombre del archivo texto. Compatibilidad con SCCTEXT.PRG
|
* tcTextName (v? IN ) Nombre del archivo texto. Compatibilidad con SCCTEXT.PRG
|
||||||
* tlGenText ( ) .T.=Genera Texto, .F.=Genera Binario. Compatibilidad con SCCTEXT.PRG
|
* tlGenText (v? IN ) .T.=Genera Texto, .F.=Genera Binario. Compatibilidad con SCCTEXT.PRG
|
||||||
* tcDontShowErrors (?v IN ) '1' para no mostrar mensajes de error (MESSAGEBOX)
|
* tcDontShowErrors (?v IN ) '1' para no mostrar mensajes de error (MESSAGEBOX)
|
||||||
* tcDebug (?v IN ) '1' para habilitar modo debug (SOLO DESARROLLO)
|
* tcDebug (?v IN ) '1' para habilitar modo debug (SOLO DESARROLLO)
|
||||||
* tcDontShowProgress (?v IN ) '1' para inhabilitar la barra de progreso
|
* tcDontShowProgress (?v IN ) '1' para inhabilitar la barra de progreso
|
||||||
@@ -1009,13 +1039,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF FILE( lcFile )
|
IF FILE( lcFile )
|
||||||
lnCodError = .Convertir( lcFile, toModulo, toEx, tlRelanzarError, tcOriginalFileName )
|
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
*-- UN ARCHIVO INDIVIDUAL O CONSULTA DE SOPORTE DE ARCHIVO
|
*-- UN ARCHIVO INDIVIDUAL O CONSULTA DE SOPORTE DE ARCHIVO
|
||||||
IF LEN(NVL(tc_InputFile,'')) = 1
|
IF LEN(EVL(tc_InputFile,'')) = 1
|
||||||
*-- Consulta de soporte de conversi<73>n (compatibilidad con SourceSafe)
|
*-- Consulta de soporte de conversi<73>n (compatibilidad con SourceSafe)
|
||||||
*-- SourceSafe consulta el tipo de soporte de cada archivo antes del Checkin/Checkout
|
*-- SourceSafe consulta el tipo de soporte de cada archivo antes del Checkin/Checkout
|
||||||
*-- para saber si se puede hacer Diff y Merge.
|
*-- para saber si se puede hacer Diff y Merge.
|
||||||
@@ -1042,7 +1072,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
CASE tc_InputFile == FILETYPE_CLASSLIB
|
CASE tc_InputFile == FILETYPE_CLASSLIB
|
||||||
lnCodError = .VCX_Conversion_Support
|
lnCodError = .VCX_Conversion_Support
|
||||||
|
|
||||||
CASE tc_InputFile $ 'J' && PJX (J no exite en FoxPro, es un valor inventado para evitar conflicto con los tipos existentes)
|
CASE tc_InputFile $ FILETYPE_PROJECT && PJX (J no exite en FoxPro, es un valor inventado para evitar conflicto con los tipos existentes)
|
||||||
lnCodError = .PJX_Conversion_Support
|
lnCodError = .PJX_Conversion_Support
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
@@ -1051,7 +1081,119 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
|
|
||||||
IF EVL(tcType,'0') <> '0' AND EVL(tcTextName,'0') <> '0'
|
DO CASE
|
||||||
|
CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJX' AND EVL(tcType,'0') == '*'
|
||||||
|
*-- SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UN PROYECTO
|
||||||
|
lcFileSpec = FULLPATH( tc_InputFile )
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile)
|
||||||
|
CD (tcRecompile)
|
||||||
|
CASE tcRecompile == '1'
|
||||||
|
CD (JUSTPATH(lcFileSpec))
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
|
||||||
|
|
||||||
|
IF .l_Debug
|
||||||
|
IF FILE( .c_LogFile )
|
||||||
|
ERASE ( .c_LogFile )
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
SELECT 0
|
||||||
|
USE (tc_InputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
|
||||||
|
lnFileCount = 0
|
||||||
|
|
||||||
|
SCAN FOR NOT DELETED()
|
||||||
|
lnFileCount = lnFileCount + 1
|
||||||
|
DIMENSION laFiles(lnFileCount,1)
|
||||||
|
laFiles(lnFileCount,1) = ADDBS( JUSTPATH( lcFileSpec ) ) + ALLTRIM( NAME, 0, ' ', CHR(0) )
|
||||||
|
ENDSCAN
|
||||||
|
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
IF .l_ShowProgress
|
||||||
|
.o_Frm_Avance.nMAX_VALUE = lnFileCount
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- Primero convierto el proyecto
|
||||||
|
*IF .TieneSoporte_Bin2Prg( UPPER(JUSTEXT(tc_InputFile)) )
|
||||||
|
* lnCodError = .Convertir( tc_InputFile, toModulo, toEx, tlRelanzarError, tcOriginalFileName )
|
||||||
|
*ENDIF
|
||||||
|
|
||||||
|
*-- Luego convierto los archivos incluidos
|
||||||
|
FOR I = 1 TO lnFileCount
|
||||||
|
lcFile = laFiles(I,1)
|
||||||
|
.o_Frm_Avance.lbl_TAREA.CAPTION = C_PROCESSING_LOC + ' ' + lcFile + '...'
|
||||||
|
.o_Frm_Avance.nVALUE = I
|
||||||
|
|
||||||
|
IF .l_ShowProgress
|
||||||
|
.o_Frm_Avance.SHOW()
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF .TieneSoporte_Bin2Prg( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile )
|
||||||
|
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJ2' AND EVL(tcType,'0') == '*'
|
||||||
|
*-- SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UN PROYECTO
|
||||||
|
lcFileSpec = FULLPATH( tc_InputFile )
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile)
|
||||||
|
CD (tcRecompile)
|
||||||
|
CASE tcRecompile == '1'
|
||||||
|
CD (JUSTPATH(lcFileSpec))
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
|
||||||
|
|
||||||
|
IF .l_Debug
|
||||||
|
IF FILE( .c_LogFile )
|
||||||
|
ERASE ( .c_LogFile )
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnFileCount = ALINES( laFiles, STREXTRACT( FILETOSTR(tc_InputFile), C_BUILDPROJ_I, C_BUILDPROJ_F ), 1+4 )
|
||||||
|
|
||||||
|
FOR I = lnFileCount TO 1 STEP -1
|
||||||
|
IF '.ADD(' $ laFiles(I)
|
||||||
|
laFiles(I) = ADDBS( JUSTPATH( lcFileSpec ) ) + STREXTRACT( laFiles(I), ".ADD('", "')" )
|
||||||
|
laFiles(I) = FORCEEXT( laFiles(I), .Get_Ext2FromExt( UPPER(JUSTEXT(laFiles(I))) ) )
|
||||||
|
ELSE
|
||||||
|
lnFileCount = lnFileCount - 1
|
||||||
|
ADEL( laFiles, I )
|
||||||
|
DIMENSION laFiles(lnFileCount)
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
IF .l_ShowProgress
|
||||||
|
.o_Frm_Avance.nMAX_VALUE = lnFileCount
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- Primero convierto el proyecto
|
||||||
|
*IF .TieneSoporte_Prg2Bin( UPPER(JUSTEXT(tc_InputFile)) )
|
||||||
|
* lnCodError = .Convertir( tc_InputFile, toModulo, toEx, tlRelanzarError, tcOriginalFileName )
|
||||||
|
*ENDIF
|
||||||
|
|
||||||
|
*-- Luego convierto los archivos incluidos
|
||||||
|
FOR I = 1 TO lnFileCount
|
||||||
|
lcFile = laFiles(I)
|
||||||
|
.o_Frm_Avance.lbl_TAREA.CAPTION = C_PROCESSING_LOC + ' ' + lcFile + '...'
|
||||||
|
.o_Frm_Avance.nVALUE = I
|
||||||
|
|
||||||
|
IF .l_ShowProgress
|
||||||
|
.o_Frm_Avance.SHOW()
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF .TieneSoporte_Prg2Bin( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile )
|
||||||
|
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
CASE EVL(tcType,'0') <> '0' AND EVL(tcTextName,'0') <> '0'
|
||||||
*-- Compatibilidad con SourceSafe
|
*-- Compatibilidad con SourceSafe
|
||||||
|
|
||||||
IF NOT tlGenText
|
IF NOT tlGenText
|
||||||
@@ -1063,7 +1205,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
tc_InputFile = tcTextName
|
tc_InputFile = tcTextName
|
||||||
.l_Recompile = .T.
|
.l_Recompile = .T.
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDCASE
|
||||||
|
|
||||||
IF FILE(tc_InputFile)
|
IF FILE(tc_InputFile)
|
||||||
ERASE ( tc_InputFile + '.ERR' )
|
ERASE ( tc_InputFile + '.ERR' )
|
||||||
@@ -1110,6 +1252,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
THIS.writeLog_Flush()
|
THIS.writeLog_Flush()
|
||||||
IF THIS.l_ShowProgress AND VARTYPE(THIS.o_Frm_Avance) = "O"
|
IF THIS.l_ShowProgress AND VARTYPE(THIS.o_Frm_Avance) = "O"
|
||||||
THIS.o_Frm_Avance.HIDE()
|
THIS.o_Frm_Avance.HIDE()
|
||||||
@@ -1137,7 +1280,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
LPARAMETERS tc_InputFile, toModulo, toEx AS EXCEPTION, tlRelanzarError, tcOriginalFileName
|
LPARAMETERS tc_InputFile, toModulo, toEx AS EXCEPTION, tlRelanzarError, tcOriginalFileName
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, lcErrorInfo, laDirFile(1,5), lcExtension ;
|
LOCAL lnCodError, lcErrorInfo, laDirFile(1,5), lcExtension, lnFileCount, laFiles(1,1), I ;
|
||||||
, loFSO AS Scripting.FileSystemObject
|
, loFSO AS Scripting.FileSystemObject
|
||||||
lnCodError = 0
|
lnCodError = 0
|
||||||
|
|
||||||
@@ -1324,21 +1467,50 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
|
*-- Optimizaci<63>n: Comparaci<63>n de los timestamps de InputFile y OutputFile para saber
|
||||||
.o_Conversor.c_InputFile = .c_InputFile
|
*-- si el OutputFile se debe regenerar o no.
|
||||||
.o_Conversor.c_OutputFile = .c_OutputFile
|
lnFileCount = ADIR( laFiles, FORCEEXT( .c_InputFile, '*' ), '', 1 )
|
||||||
.o_Conversor.c_LogFile = .c_LogFile
|
STORE {//::} TO .t_InputFile_TimeStamp, .t_OutputFile_TimeStamp
|
||||||
.o_Conversor.l_Debug = .l_Debug
|
|
||||||
.o_Conversor.l_Test = .l_Test
|
IF lnFileCount >= 1 THEN
|
||||||
.o_Conversor.n_FB2PRG_Version = .n_FB2PRG_Version
|
I = ASCAN( laFiles, JUSTFNAME(.c_InputFile), 1, 0, 1, 1+2+4+8 )
|
||||||
.o_Conversor.l_MethodSort_Enabled = .l_MethodSort_Enabled
|
IF I > 0 THEN
|
||||||
.o_Conversor.l_PropSort_Enabled = .l_PropSort_Enabled
|
.t_InputFile_TimeStamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ;
|
||||||
.o_Conversor.l_ReportSort_Enabled = .l_ReportSort_Enabled
|
, VAL(LEFT(laFiles(I,4),2)), VAL(SUBSTR(laFiles(I,4),4,2)), VAL(RIGHT(laFiles(I,4),2)) )
|
||||||
.o_Conversor.c_OriginalFileName = .c_OriginalFileName
|
ENDIF
|
||||||
.o_Conversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath
|
|
||||||
*--
|
IF FILE( .c_OutputFile )
|
||||||
.o_Conversor.Convertir( @toModulo, .F., THIS )
|
I = ASCAN( laFiles, JUSTFNAME(.c_OutputFile), 1, 0, 1, 1+2+4+8 )
|
||||||
.c_TextLog = .c_TextLog + CR_LF + .o_Conversor.c_TextLog && Recojo el LOG que haya generado el conversor
|
IF I > 0 THEN
|
||||||
|
.t_OutputFile_TimeStamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ;
|
||||||
|
, VAL(LEFT(laFiles(I,4),2)), VAL(SUBSTR(laFiles(I,4),4,2)), VAL(RIGHT(laFiles(I,4),2)) )
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF .t_InputFile_TimeStamp >= .t_OutputFile_TimeStamp THEN
|
||||||
|
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
|
||||||
|
.o_Conversor.c_InputFile = .c_InputFile
|
||||||
|
.o_Conversor.c_OutputFile = .c_OutputFile
|
||||||
|
.o_Conversor.c_LogFile = .c_LogFile
|
||||||
|
.o_Conversor.l_Debug = .l_Debug
|
||||||
|
.o_Conversor.l_Test = .l_Test
|
||||||
|
.o_Conversor.n_FB2PRG_Version = .n_FB2PRG_Version
|
||||||
|
.o_Conversor.l_MethodSort_Enabled = .l_MethodSort_Enabled
|
||||||
|
.o_Conversor.l_PropSort_Enabled = .l_PropSort_Enabled
|
||||||
|
.o_Conversor.l_ReportSort_Enabled = .l_ReportSort_Enabled
|
||||||
|
.o_Conversor.c_OriginalFileName = .c_OriginalFileName
|
||||||
|
.o_Conversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath
|
||||||
|
*--
|
||||||
|
.o_Conversor.Convertir( @toModulo, .F., THIS )
|
||||||
|
.c_TextLog = .c_TextLog + CR_LF + .o_Conversor.c_TextLog && Recojo el LOG que haya generado el conversor
|
||||||
|
ELSE
|
||||||
|
*-- Optimizado: El Origen es anterior al Destino - No hace falta regenerar
|
||||||
|
*.writeLog( '> El archivo de salida [<<THIS.c_OutputFile>>] no se regenera por ser m<>s nuevo que el de entrada.' )
|
||||||
|
.writeLog( TEXTMERGE(C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC) )
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
||||||
.normalizarCapitalizacionArchivos()
|
.normalizarCapitalizacionArchivos()
|
||||||
ENDWITH && THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
ENDWITH && THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
|
||||||
@@ -1350,11 +1522,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
IF _VFP.STARTMODE = 0
|
IF _VFP.STARTMODE = 0
|
||||||
SET STEP ON
|
SET STEP ON
|
||||||
ENDIF
|
ENDIF
|
||||||
*THIS.writeLog( lcErrorInfo )
|
|
||||||
ENDIF
|
ENDIF
|
||||||
*IF THIS.l_Debug AND THIS.l_ShowErrors
|
|
||||||
* MESSAGEBOX( lcErrorInfo, 0+16+4096, C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 )
|
|
||||||
*ENDIF
|
|
||||||
IF tlRelanzarError && Usado en Unit Testing
|
IF tlRelanzarError && Usado en Unit Testing
|
||||||
THROW
|
THROW
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -1362,7 +1530,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
FINALLY
|
FINALLY
|
||||||
loFSO = NULL
|
loFSO = NULL
|
||||||
THIS.o_Conversor = NULL
|
THIS.o_Conversor = NULL
|
||||||
*THIS.writeLog_Flush()
|
|
||||||
|
IF lnCodError = 0 OR NOT THIS.l_ShowErrors THEN
|
||||||
|
THIS.writeLog( REPLICATE('-',80) )
|
||||||
|
*THIS.writeLog_Flush()
|
||||||
|
ENDIF
|
||||||
|
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
@@ -1426,15 +1598,29 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
lcEXE_CAPS = FORCEPATH( 'filename_caps.exe', lcPath )
|
lcEXE_CAPS = FORCEPATH( 'filename_caps.exe', lcPath )
|
||||||
loFSO = .o_FSO
|
loFSO = .o_FSO
|
||||||
|
|
||||||
IF FILE(lcEXE_CAPS)
|
DO CASE
|
||||||
*.writeLog( '* Se ha encontrado el programa de capitalizaci<63>n de nombres [' + lcEXE_CAPS + ']' )
|
CASE .n_ExisteCapitalizacion = -1
|
||||||
.writeLog( TEXTMERGE(C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC) )
|
*-- La primera vez vale -1, hace la verificaci<63>n por <20>nica vez y cachea la respuesta
|
||||||
ELSE
|
IF FILE(lcEXE_CAPS)
|
||||||
*-- No existe el programa de capitalizaci<63>n, as<61> que no se capitalizan los nombres.
|
*.writeLog( '* Se ha encontrado el programa de capitalizaci<63>n de nombres [' + lcEXE_CAPS + ']' )
|
||||||
*.writeLog( '* No se ha encontrado el programa de capitalizaci<63>n de nombres [' + lcEXE_CAPS + ']' )
|
.writeLog( TEXTMERGE(C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC) )
|
||||||
.writeLog( TEXTMERGE(C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC) )
|
.n_ExisteCapitalizacion = 1
|
||||||
|
ELSE
|
||||||
|
*-- No existe el programa de capitalizaci<63>n, as<61> que no se capitalizan los nombres.
|
||||||
|
*.writeLog( '* No se ha encontrado el programa de capitalizaci<63>n de nombres [' + lcEXE_CAPS + ']' )
|
||||||
|
.writeLog( TEXTMERGE(C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC) )
|
||||||
|
.n_ExisteCapitalizacion = 0
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CASE .n_ExisteCapitalizacion = 0
|
||||||
|
*-- Segunda pasada en adelante: No hay programa de capitalizaci<63>n
|
||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
|
||||||
|
OTHERWISE
|
||||||
|
*-- Segunda pasada en adelante: Hay programa de capitalizaci<63>n
|
||||||
|
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
.RenameFile( .c_OutputFile, lcEXE_CAPS, loFSO )
|
.RenameFile( .c_OutputFile, lcEXE_CAPS, loFSO )
|
||||||
|
|
||||||
@@ -1672,7 +1858,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
C_FB2PRG_CODE = '' && Contendr<64> todo el c<>digo generado
|
C_FB2PRG_CODE = '' && Contendr<64> todo el c<>digo generado
|
||||||
THIS.c_CurDir = SYS(5) + CURDIR()
|
THIS.c_CurDir = SYS(5) + CURDIR()
|
||||||
THIS.oFSO = CREATEOBJECT( "Scripting.FileSystemObject")
|
THIS.oFSO = CREATEOBJECT( "Scripting.FileSystemObject")
|
||||||
|
|
||||||
THIS.SortSpecialProps()
|
THIS.SortSpecialProps()
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -2313,10 +2499,10 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
LPARAMETERS tcOperation, tcPropName
|
LPARAMETERS tcOperation, tcPropName
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lcPropName, lnPos, loEx as Exception
|
LOCAL lcPropName, lnPos, loEx AS EXCEPTION
|
||||||
lcPropName = tcPropName
|
lcPropName = tcPropName
|
||||||
tcOperation = UPPER(EVL(tcOperation,''))
|
tcOperation = UPPER(EVL(tcOperation,''))
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE tcOperation == 'GETNAME'
|
CASE tcOperation == 'GETNAME'
|
||||||
lcPropName = SUBSTR(tcPropName,5)
|
lcPropName = SUBSTR(tcPropName,5)
|
||||||
@@ -2470,18 +2656,18 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PROTECTED PROCEDURE SortSpecialProps_Add
|
PROTECTED PROCEDURE SortSpecialProps_Add
|
||||||
LPARAMETERS tcPropName, I
|
LPARAMETERS tcPropName, I
|
||||||
I = I + 1
|
I = I + 1
|
||||||
DIMENSION THIS.a_SpecialProps(I)
|
DIMENSION THIS.a_SpecialProps(I)
|
||||||
THIS.a_SpecialProps(I) = tcPropName
|
THIS.a_SpecialProps(I) = tcPropName
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE SortSpecialProps
|
PROCEDURE SortSpecialProps
|
||||||
LOCAL I
|
LOCAL I
|
||||||
I = 0
|
I = 0
|
||||||
@@ -2514,7 +2700,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
.SortSpecialProps_Add( 'Picture', @I ) && Image: Debe estar antes que Stretch y despu<70>s de DefTop/DefLeft
|
.SortSpecialProps_Add( 'Picture', @I ) && Image: Debe estar antes que Stretch y despu<70>s de DefTop/DefLeft
|
||||||
.SortSpecialProps_Add( 'Stretch', @I ) && Image: Debe estar antes que BackStyle
|
.SortSpecialProps_Add( 'Stretch', @I ) && Image: Debe estar antes que BackStyle
|
||||||
.SortSpecialProps_Add( 'BackStyle', @I ) && Image: Debe estar antes que BorderStyle
|
.SortSpecialProps_Add( 'BackStyle', @I ) && Image: Debe estar antes que BorderStyle
|
||||||
.SortSpecialProps_Add( 'BorderStyle', @I ) &&
|
.SortSpecialProps_Add( 'BorderStyle', @I ) &&
|
||||||
.SortSpecialProps_Add( 'BorderWidth', @I )
|
.SortSpecialProps_Add( 'BorderWidth', @I )
|
||||||
.SortSpecialProps_Add( 'Enabled', @I )
|
.SortSpecialProps_Add( 'Enabled', @I )
|
||||||
.SortSpecialProps_Add( 'Top', @I )
|
.SortSpecialProps_Add( 'Top', @I )
|
||||||
@@ -4007,7 +4193,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS toClase, tcLine, taCodeLines, tnCodeLines, I
|
LPARAMETERS toClase, tcLine, taCodeLines, tnCodeLines, I
|
||||||
|
|
||||||
*-- ESTRUCTURA A ANALIZAR:
|
*-- ESTRUCTURA A ANALIZAR (tambi<62>n se admite sin los s<>mbolos ^ y *):
|
||||||
*<DefinedPropArrayMethod>
|
*<DefinedPropArrayMethod>
|
||||||
*m: *metodovacio_con_comentarios && Este m<>todo no tiene c<>digo, pero tiene comentarios. A ver que pasa!
|
*m: *metodovacio_con_comentarios && Este m<>todo no tiene c<>digo, pero tiene comentarios. A ver que pasa!
|
||||||
*m: *mimetodo && Mi metodo
|
*m: *mimetodo && Mi metodo
|
||||||
@@ -4023,7 +4209,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL llBloqueEncontrado, lcDefinedPAM, lnPos, lnPos2, lcPAM_Name, lcItem, lcMethods
|
LOCAL llBloqueEncontrado, lcDefinedPAM, lnPos, lnPos2, lcPAM_Name, lcItem, lcMethods, lcPAM_Type
|
||||||
|
|
||||||
IF LEFT( tcLine, C_LEN_DEFINED_PAM_I) == C_DEFINED_PAM_I
|
IF LEFT( tcLine, C_LEN_DEFINED_PAM_I) == C_DEFINED_PAM_I
|
||||||
llBloqueEncontrado = .T.
|
llBloqueEncontrado = .T.
|
||||||
@@ -4039,28 +4225,32 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
EXIT
|
EXIT
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
lnPos = AT( ' ', tcLine, 1 )
|
lnPos = AT( ':', tcLine, 1 )
|
||||||
lnPos2 = AT( '&'+'&', tcLine )
|
lnPos2 = AT( '&'+'&', tcLine )
|
||||||
|
lcPAM_Type = LEFT(tcLine,3) && *p:, *a:, *m:
|
||||||
|
|
||||||
IF lnPos2 > 0
|
IF lnPos2 > 0
|
||||||
*-- Con comentarios
|
*-- Con comentarios
|
||||||
lcPAM_Name = LOWER( RTRIM( SUBSTR( tcLine, lnPos+1, lnPos2 - lnPos - 1 ), 0, ' ', CHR(9) ) )
|
lcPAM_Name = LOWER( ALLTRIM( SUBSTR( tcLine, lnPos+1, lnPos2 - lnPos - 1 ), 0, ' ', CHR(9) ) )
|
||||||
lcItem = lcPAM_Name + ' ' + SUBSTR( tcLine, lnPos2 + 3 ) + CR_LF
|
lcItem = lcPAM_Name + ' ' + SUBSTR( tcLine, lnPos2 + 3 ) + CR_LF
|
||||||
|
|
||||||
*-- Separo propiedades y m<>todos
|
ELSE
|
||||||
|
*-- Sin comentarios
|
||||||
|
lcPAM_Name = LOWER( ALLTRIM( SUBSTR( tcLine, lnPos+1 ), 0, ' ', CHR(9) ) )
|
||||||
|
lcItem = lcPAM_Name + IIF( lcPAM_Type == '*p:' , '', ' ') + CR_LF
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- Separo propiedades y m<>todos
|
||||||
|
IF lcPAM_Type == '*m:'
|
||||||
IF LEFT(lcItem,1) == '*'
|
IF LEFT(lcItem,1) == '*'
|
||||||
lcMethods = lcMethods + lcItem
|
lcMethods = lcMethods + lcItem
|
||||||
ELSE
|
ELSE
|
||||||
lcDefinedPAM = lcDefinedPAM + lcItem
|
lcMethods = lcMethods + '*' + lcItem
|
||||||
ENDIF
|
ENDIF
|
||||||
ELSE
|
ELSE
|
||||||
*-- Sin comentarios
|
IF lcPAM_Type == '*a:' AND LEFT(lcItem,1) <> '^'
|
||||||
lcPAM_Name = LOWER( RTRIM( SUBSTR( tcLine, lnPos+1 ), 0, ' ', CHR(9) ) )
|
lcDefinedPAM = lcDefinedPAM + '^' + lcItem
|
||||||
lcItem = lcPAM_Name + IIF( LEFT(lcPAM_Name,1) $ '^*' , ' ', '') + CR_LF
|
|
||||||
|
|
||||||
*-- Separo propiedades y m<>todos
|
|
||||||
IF LEFT(lcItem,1) == '*'
|
|
||||||
lcMethods = lcMethods + lcItem
|
|
||||||
ELSE
|
ELSE
|
||||||
lcDefinedPAM = lcDefinedPAM + lcItem
|
lcDefinedPAM = lcDefinedPAM + lcItem
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -4360,7 +4550,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
I = I - 1
|
I = I - 1
|
||||||
|
|
||||||
IF NOT EMPTY(toClase._Comentario)
|
IF NOT EMPTY(toClase._Comentario)
|
||||||
toClase._Comentario = SUBSTR( toClase._Comentario, 3 ) + CR_LF && Quito el primer CR+LF
|
toClase._Comentario = SUBSTR( toClase._Comentario, 3 ) + CR_LF && Quito el primer CR+LF
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -6558,7 +6748,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
STORE 0 TO lnCodError
|
STORE 0 TO lnCodError
|
||||||
STORE '' TO lcIndex, lcFieldDef
|
STORE '' TO lcIndex, lcFieldDef
|
||||||
lnDataSessionID = .DataSessionId
|
lnDataSessionID = .DATASESSIONID
|
||||||
|
|
||||||
ERASE (FORCEEXT(.c_OutputFile, 'DBF'))
|
ERASE (FORCEEXT(.c_OutputFile, 'DBF'))
|
||||||
ERASE (FORCEEXT(.c_OutputFile, 'FPT'))
|
ERASE (FORCEEXT(.c_OutputFile, 'FPT'))
|
||||||
@@ -6618,7 +6808,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
lcCreateTable = lcCreateTable + SUBSTR(lcFieldDef,3) + ')'
|
lcCreateTable = lcCreateTable + SUBSTR(lcFieldDef,3) + ')'
|
||||||
&lcCreateTable.
|
&lcCreateTable.
|
||||||
|
|
||||||
IF NOT EMPTY(toFoxBin2Prg.run_AfterCreateTable)
|
IF NOT EMPTY(toFoxBin2Prg.run_AfterCreateTable)
|
||||||
lnSelect = SELECT()
|
lnSelect = SELECT()
|
||||||
DO (toFoxBin2Prg.run_AfterCreateTable) WITH (lnDataSessionID), (.c_OutputFile), (toTable)
|
DO (toFoxBin2Prg.run_AfterCreateTable) WITH (lnDataSessionID), (.c_OutputFile), (toTable)
|
||||||
@@ -8054,9 +8244,15 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
, lcType == '^', 'a' ;
|
, lcType == '^', 'a' ;
|
||||||
, 'p' )
|
, 'p' )
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
IF lcType == 'p' THEN
|
||||||
<<>> *<<lcType>>: <<taPropsAndComments(I,1)>>
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
ENDTEXT
|
<<>> *<<lcType>>: <<taPropsAndComments(I,1)>>
|
||||||
|
ENDTEXT
|
||||||
|
ELSE
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> *<<lcType>>: <<SUBSTR( taPropsAndComments(I,1), 2)>>
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
IF NOT EMPTY(taPropsAndComments(I,2))
|
IF NOT EMPTY(taPropsAndComments(I,2))
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||||
@@ -8331,15 +8527,15 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
supgroup="<<toReg.supgroup>>" supvalchng="<<toReg.supvalchng>>" <<>>
|
supgroup="<<toReg.supgroup>>" supvalchng="<<toReg.supvalchng>>" <<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <picture><![CDATA[" + toReg.picture + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <picture><![CDATA[" + toReg.PICTURE + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag><![CDATA[" + THIS.encode_SpecialCodes_1_31( toReg.tag ) + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag><![CDATA[" + THIS.encode_SpecialCodes_1_31( toReg.TAG ) + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag2><![CDATA[" + IIF( INLIST(toReg.ObjType,5,6,8), toReg.tag2, STRCONV( toReg.tag2,13 ) ) + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag2><![CDATA[" + IIF( INLIST(toReg.ObjType,5,6,8), toReg.TAG2, STRCONV( toReg.TAG2,13 ) ) + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <penred><![CDATA[" + TRANSFORM(toReg.penred) + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <penred><![CDATA[" + TRANSFORM(toReg.penred) + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <style><![CDATA[" + toReg.style + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <style><![CDATA[" + toReg.STYLE + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <expr><![CDATA[" + toReg.expr + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <expr><![CDATA[" + toReg.EXPR + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <supexpr><![CDATA[" + toReg.supexpr + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <supexpr><![CDATA[" + toReg.supexpr + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <comment><![CDATA[" + toReg.comment + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <comment><![CDATA[" + toReg.COMMENT + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <user><![CDATA[" + toReg.user + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <user><![CDATA[" + toReg.USER + "]]>"
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<lc_TAG_REPORTE_F>>
|
<<lc_TAG_REPORTE_F>>
|
||||||
@@ -8443,15 +8639,15 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
supgroup="<<toReg.supgroup>>" supvalchng="<<toReg.supvalchng>>" <<>>
|
supgroup="<<toReg.supgroup>>" supvalchng="<<toReg.supvalchng>>" <<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <picture><![CDATA[" + toReg.picture + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <picture><![CDATA[" + toReg.PICTURE + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag><![CDATA[" + THIS.encode_SpecialCodes_1_31( toReg.tag ) + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag><![CDATA[" + THIS.encode_SpecialCodes_1_31( toReg.TAG ) + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag2><![CDATA[" + IIF( INLIST(toReg.ObjType,5,6,8), toReg.tag2, STRCONV( toReg.tag2,13 ) ) + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag2><![CDATA[" + IIF( INLIST(toReg.ObjType,5,6,8), toReg.TAG2, STRCONV( toReg.TAG2,13 ) ) + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <penred><![CDATA[" + TRANSFORM(toReg.penred) + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <penred><![CDATA[" + TRANSFORM(toReg.penred) + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <style><![CDATA[" + toReg.style + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <style><![CDATA[" + toReg.STYLE + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <expr><![CDATA[" + toReg.expr + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <expr><![CDATA[" + toReg.EXPR + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <supexpr><![CDATA[" + toReg.supexpr + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <supexpr><![CDATA[" + toReg.supexpr + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <comment><![CDATA[" + toReg.comment + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <comment><![CDATA[" + toReg.COMMENT + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <user><![CDATA[" + toReg.user + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <user><![CDATA[" + toReg.USER + "]]>"
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<lc_TAG_REPORTE_F>>
|
<<lc_TAG_REPORTE_F>>
|
||||||
@@ -8555,15 +8751,15 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
supgroup="<<toReg.supgroup>>" supvalchng="<<toReg.supvalchng>>" <<>>
|
supgroup="<<toReg.supgroup>>" supvalchng="<<toReg.supvalchng>>" <<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <picture><![CDATA[" + toReg.picture + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <picture><![CDATA[" + toReg.PICTURE + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag><![CDATA[" + CR_LF + toReg.tag + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag><![CDATA[" + CR_LF + toReg.TAG + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag2><![CDATA[]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <tag2><![CDATA[]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <penred><![CDATA[" + TRANSFORM(toReg.penred) + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <penred><![CDATA[" + TRANSFORM(toReg.penred) + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <style><![CDATA[" + toReg.style + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <style><![CDATA[" + toReg.STYLE + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <expr><![CDATA[" + toReg.expr + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <expr><![CDATA[" + toReg.EXPR + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <supexpr><![CDATA[" + toReg.supexpr + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <supexpr><![CDATA[" + toReg.supexpr + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <comment><![CDATA[" + toReg.comment + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <comment><![CDATA[" + toReg.COMMENT + "]]>"
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <user><![CDATA[" + toReg.user + "]]>"
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + " <user><![CDATA[" + toReg.USER + "]]>"
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<lc_TAG_REPORTE_F>>
|
<<lc_TAG_REPORTE_F>>
|
||||||
@@ -10062,7 +10258,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
|||||||
lc_FileTypeDesc = loDBFUtils.fileTypeDescription(ln_HexFileType)
|
lc_FileTypeDesc = loDBFUtils.fileTypeDescription(ln_HexFileType)
|
||||||
lnDatabases_Count = ADATABASES(laDatabases)
|
lnDatabases_Count = ADATABASES(laDatabases)
|
||||||
|
|
||||||
USE (.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
|
USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
|
||||||
|
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
|
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
|
||||||
|
|
||||||
@@ -10165,7 +10361,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
|||||||
WITH THIS AS c_conversor_dbc_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_dbc_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
lnDatabases_Count = ADATABASES(laDatabases)
|
lnDatabases_Count = ADATABASES(laDatabases)
|
||||||
|
|
||||||
USE (.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
|
USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
|
||||||
OPEN DATABASE (.c_InputFile) SHARED NOUPDATE
|
OPEN DATABASE (.c_InputFile) SHARED NOUPDATE
|
||||||
|
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
|
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
|
||||||
@@ -16982,7 +17178,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE
|
|||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
CASE .set_Line( @tcLine, @taCodeLines, I ) AND .get_SeparatedLineAndComment( @tcLine, @lcComment )
|
CASE .set_Line( @tcLine, @taCodeLines, I ) AND .get_SeparatedLineAndComment( @tcLine, @lcComment )
|
||||||
*-- Es un Bar de una sola l<>nea y con comentarios
|
*-- Es un Bar de una sola l<>nea y con comentarios
|
||||||
loReg.COMMENT = STRTRAN( STRTRAN( lcComment, '<CR>', CHR(13) ), '<LF>', CHR(10) )
|
loReg.COMMENT = STRTRAN( STRTRAN( lcComment, '<CR>', CHR(13) ), '<LF>', CHR(10) )
|
||||||
@@ -17173,7 +17369,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE
|
|||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
CASE .set_Line( @tcLine, @taCodeLines, I ) AND .get_SeparatedLineAndComment( @tcLine, @lcComment )
|
CASE .set_Line( @tcLine, @taCodeLines, I ) AND .get_SeparatedLineAndComment( @tcLine, @lcComment )
|
||||||
*-- Es un Bar de una sola l<>nea y con comentarios
|
*-- Es un Bar de una sola l<>nea y con comentarios
|
||||||
loReg.COMMENT = STRTRAN( STRTRAN( lcComment, '<CR>', CHR(13) ), '<LF>', CHR(10) )
|
loReg.COMMENT = STRTRAN( STRTRAN( lcComment, '<CR>', CHR(13) ), '<LF>', CHR(10) )
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
#DEFINE C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC "* Names capitalization program [<<lcEXE_CAPS>>] not found"
|
#DEFINE C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC "* Names capitalization program [<<lcEXE_CAPS>>] not found"
|
||||||
#DEFINE C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC "Operation not recognized. Only SETNAME and GETNAME allowed."
|
#DEFINE C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC "Operation not recognized. Only SETNAME and GETNAME allowed."
|
||||||
#DEFINE C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC "Optimization: Output file [<<THIS.c_OutputFile>>] was not overwritten because it is the same as was generated."
|
#DEFINE C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC "Optimization: Output file [<<THIS.c_OutputFile>>] was not overwritten because it is the same as was generated."
|
||||||
|
#DEFINE C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC "Optimization: Output file [<<THIS.c_OutputFile>>] was not regenerated because it is newer than the inputfile."
|
||||||
#DEFINE C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC "Procedure not closed. Last line of code must be ENDPROC. [<<laLineas(1)>>]"
|
#DEFINE C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC "Procedure not closed. Last line of code must be ENDPROC. [<<laLineas(1)>>]"
|
||||||
#DEFINE C_PROCESSING_LOC "Processing file"
|
#DEFINE C_PROCESSING_LOC "Processing file"
|
||||||
#DEFINE C_PROCESS_PROGRESS_LOC "Process Progress:"
|
#DEFINE C_PROCESS_PROGRESS_LOC "Process Progress:"
|
||||||
|
|||||||
Reference in New Issue
Block a user