Changeset: 145 Estructuración en archivo .h y localización de los textos en Inglés
This commit is contained in:
13
README.txt
13
README.txt
@@ -1,4 +1,4 @@
|
|||||||
06/01/2014 FOXBIN2PRG VER.1.18 FOR VISUAL FOXPRO 9 BINARIES Fernando D. Bozzo (fdbozzo@gmail.com)
|
26/01/2014 FOXBIN2PRG v1.19 FOR VISUAL FOXPRO 9 BINARIES Fernando D. Bozzo (fdbozzo@gmail.com)
|
||||||
|
|
||||||
ESPAÑOL --------------------------------------------------------------------------------------------
|
ESPAÑOL --------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -33,6 +33,12 @@ TRUCO UTIL:
|
|||||||
Se puede crear un acceso directo en la carpeta "SendTo" del perfil del usuario, para poder "enviar"
|
Se puede crear un acceso directo en la carpeta "SendTo" del perfil del usuario, para poder "enviar"
|
||||||
el archivo elegido (pjx,pj2,etc) a Foxbin2prg.exe, y así se hacen conversiones al vuelo.
|
el archivo elegido (pjx,pj2,etc) a Foxbin2prg.exe, y así se hacen conversiones al vuelo.
|
||||||
|
|
||||||
|
LOCALIZACIÓN:
|
||||||
|
Si se crea un archivo [foxbin2prg.h], se pueden trasladar los textos a otros idiomas. Se adjunta
|
||||||
|
un archivo de ejemplo [foxbin2prg_en.h] con la traslación al inglés.
|
||||||
|
Es necesario recompilar el programa para que se actualicen los textos con el archivo include.
|
||||||
|
|
||||||
|
|
||||||
NOTA FINAL:
|
NOTA FINAL:
|
||||||
Este programa es Open Source y "libre", y como tal no ofrezco garantías de que cumpla con sus espectativas
|
Este programa es Open Source y "libre", y como tal no ofrezco garantías de que cumpla con sus espectativas
|
||||||
o de que está libre de fallos, que intentaré solucionar si me reporta y mis obligaciones me lo permiten.
|
o de que está libre de fallos, que intentaré solucionar si me reporta y mis obligaciones me lo permiten.
|
||||||
@@ -77,6 +83,11 @@ USEFUL TRICK:
|
|||||||
You can create a shortcut in the "SendTo" folder on your user Windows Profile, so you can "send"
|
You can create a shortcut in the "SendTo" folder on your user Windows Profile, so you can "send"
|
||||||
the selected file (pjx,pj2,etc) to Foxbin2prg.exe, and make on-the-fly conversions.
|
the selected file (pjx,pj2,etc) to Foxbin2prg.exe, and make on-the-fly conversions.
|
||||||
|
|
||||||
|
LOCALIZATION:
|
||||||
|
If file [foxbin2prg.h] is created, texts to other languages can be translated. En example
|
||||||
|
file [foxbin2prg_en.h] is attached with english translation.
|
||||||
|
Recompiling is necesary to update the strings from the include file.
|
||||||
|
|
||||||
|
|
||||||
FINAL NOTE:
|
FINAL NOTE:
|
||||||
This program is Open Source and "libre", and I don't make any garanties that it fulfills your espectations
|
This program is Open Source and "libre", and I don't make any garanties that it fulfills your espectations
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ _LegalTrademark = "Open Source"
|
|||||||
_ProductName = " FOXBIN2PRG"
|
_ProductName = " FOXBIN2PRG"
|
||||||
_MajorVer = "1"
|
_MajorVer = "1"
|
||||||
_MinorVer = "19"
|
_MinorVer = "19"
|
||||||
_Revision = " 209"
|
_Revision = " 210"
|
||||||
_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="1144485039" ID="1130644423" ObjRev="544" />
|
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1144682071" 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.
283
foxbin2prg.prg
283
foxbin2prg.prg
@@ -257,49 +257,58 @@ LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErro
|
|||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
*-- INTERNACIONALIZACI<43>N / INTERNATIONALIZATION
|
*-- INTERNACIONALIZACI<43>N / INTERNATIONALIZATION
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
#IF .T. &&VERSION(3) == "34" && Espa<70>ol (Spanish) [NO FUNCIONA M<>S ESTO :( ]
|
#IF FILE('foxbin2prg.h')
|
||||||
#DEFINE C_FOXBIN2PRG_JUST_VFP_9_LOC '<27>FOXBIN2PRG es solo para Visual FoxPro 9.0!'
|
#INCLUDE FOXBIN2PRG.H
|
||||||
#DEFINE C_FOXBIN2PRG_WARN_CAPTION_LOC 'FOXBIN2PRG: <20>ATENCI<43>N!'
|
#ELSE
|
||||||
#DEFINE FOXBIN2PRG_INFO_SINTAX_LOC 'FOXBIN2PRG <cEspecArchivo.Ext> [cType_ND cTextName_ND cGenText_ND cNoMostrarErrores cDebug]' + CR_LF + CR_LF ;
|
*---------------------------------------------------------------------------------------------------------
|
||||||
|
*-- TRANSLACI<43>N AL ESPA<50>OL
|
||||||
|
*---------------------------------------------------------------------------------------------------------
|
||||||
|
#DEFINE C_ASTERISK_EXT_NOT_ALLOWED_LOC 'No se admiten extensiones * o ? porque es peligroso (se pueden pisar binarios con archivo xx2 vac<61>os).'
|
||||||
|
#DEFINE C_BACKLINK_CANT_UPDATE_BL_LOC 'No se pudo actualizar el backlink'
|
||||||
|
#DEFINE C_BACKLINK_OF_TABLE_LOC 'de la tabla'
|
||||||
|
#DEFINE C_BACKUP_OF_LOC 'Backup de: '
|
||||||
|
#DEFINE C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC 'No se puede generar el archivo [<<THIS.c_OutputFile>>] porque es ReadOnly'
|
||||||
|
#DEFINE C_CONFIGFILE_LOC 'Archivo de configuraci<63>n:'
|
||||||
|
#DEFINE C_CONVERTER_UNLOAD_LOC 'Descarga del conversor'
|
||||||
|
#DEFINE C_CONVERTING_FILE_LOC 'Convirtiendo archivo'
|
||||||
|
#DEFINE C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC 'Error de datos: No se puede parsear porque las comillas no son pares en la l<>nea <<lcMetadatos>>'
|
||||||
|
#DEFINE C_DUPLICATED_FILE_LOC 'Archivo duplicado'
|
||||||
|
#DEFINE C_ENDDEFINE_MARKER_NOT_FOUND_LOC 'No se ha encontrado el marcador de fin [ENDDEFINE] de la l<>nea <<TRANSFORM( toClase._Inicio )>> para el identificador [<<toClase._Nombre>>]'
|
||||||
|
#DEFINE C_END_MARKER_NOT_FOUND_LOC 'No se ha encontrado el marcador de fin [<<ta_ID_Bloques(lnPrimerID,2)>>] que cierra al marcador de inicio [<<ta_ID_Bloques(lnPrimerID,1)>>] de la l<>nea <<TRANSFORM(taBloquesExclusion(tnBloquesExclusion,1))>>'
|
||||||
|
#DEFINE C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC 'No se encontr<74> el campo [<<laProps(I)>>] en la estructura del archivo <<DBF("TABLABIN")>>'
|
||||||
|
#DEFINE C_FILE_DOESNT_EXIST_LOC 'El archivo no existe:'
|
||||||
|
#DEFINE C_FILE_NAME_IS_NOT_SUPPORTED_LOC 'El archivo [<<.c_InputFile>>] no est<73> soportado'
|
||||||
|
#DEFINE C_FILE_NOT_FOUND_LOC 'No se encontr<74> el archivo'
|
||||||
|
#DEFINE C_FOXBIN2PRG_CFG_EXTENSION_LOC 'extension:'
|
||||||
|
#DEFINE C_FOXBIN2PRG_ERROR_CAPTION_LOC 'FOXBIN2PRG: ERROR!!'
|
||||||
|
#DEFINE C_FOXBIN2PRG_INFO_SINTAX_LOC 'FOXBIN2PRG: INFORMACI<43>N DE SINTAXIS'
|
||||||
|
#DEFINE C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC 'FOXBIN2PRG <cEspecArchivo.Ext> [cType_ND cTextName_ND cGenText_ND cNoMostrarErrores cDebug]' + CR_LF + CR_LF ;
|
||||||
+ 'Ejemplo para generar los TXT de todos los VCX de "c:\desa\clases", sin mostrar ventana de error y generando archivo LOG: ' + CR_LF ;
|
+ 'Ejemplo para generar los TXT de todos los VCX de "c:\desa\clases", sin mostrar ventana de error y generando archivo LOG: ' + CR_LF ;
|
||||||
+ ' FOXBIN2PRG "c:\desa\clases\*.vcx" "0" "0" "0" "1" "1"' + CR_LF + CR_LF ;
|
+ ' FOXBIN2PRG "c:\desa\clases\*.vcx" "0" "0" "0" "1" "1"' + CR_LF + CR_LF ;
|
||||||
+ 'Ejemplo para generar los VCX de todos los TXT de "c:\desa\clases", sin mostrar ventana de error y sin LOG: ' + CR_LF ;
|
+ 'Ejemplo para generar los VCX de todos los TXT de "c:\desa\clases", sin mostrar ventana de error y sin LOG: ' + CR_LF ;
|
||||||
+ ' FOXBIN2PRG "c:\desa\clases\*.vc2" "0" "0" "0" "1" "0"'
|
+ ' FOXBIN2PRG "c:\desa\clases\*.vc2" "0" "0" "0" "1" "0"'
|
||||||
#DEFINE ASTERISK_EXT_NOT_ALLOWED_LOC 'No se admiten extensiones * o ? porque es peligroso (se pueden pisar binarios con archivo xx2 vac<61>os).'
|
#DEFINE C_FOXBIN2PRG_JUST_VFP_9_LOC '<27>FOXBIN2PRG es solo para Visual FoxPro 9.0!'
|
||||||
#DEFINE C_PROCESSING_LOC 'Procesando archivo '
|
#DEFINE C_FOXBIN2PRG_WARN_CAPTION_LOC 'FOXBIN2PRG: <20>ATENCI<43>N!'
|
||||||
#DEFINE C_FILE_DOESNT_EXIST_LOC "El archivo no existe:"
|
#DEFINE C_MENU_NOT_IN_VFP9_FORMAT_LOC 'El Men<EFBFBD> [<<THIS.c_InputFile>>] NO est<73> en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY MENU <<JUSTFNAME((THIS.c_InputFile))>>'
|
||||||
#DEFINE C_SOURCEFILE_LOC "Archivo origen: "
|
#DEFINE C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC '* Se ha encontrado el programa de capitalizaci<63>n de nombres [<<lcEXE_CAPS>>]'
|
||||||
#DEFINE C_PROCESS_PROGRESS_LOC "Avance del proceso: "
|
#DEFINE C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC '* No se ha encontrado el programa de capitalizaci<63>n de nombres [<<lcEXE_CAPS>>]'
|
||||||
#DEFINE C_CONVERTER_UNLOAD_LOC "Descarga del conversor"
|
#DEFINE C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC 'Objeto [<<toObj.CLASS>>] no contiene el objeto oReg (nivel <<TRANSFORM(tnNivel)>>)'
|
||||||
#DEFINE C_CONVERTING_FILE_LOC "Convirtiendo archivo "
|
#DEFINE C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC 'Operaci<63>n no reconocida. Solo re reconoce SETNAME y GETNAME.'
|
||||||
#DEFINE C_BACKUP_OF_LOC "Backup de: "
|
#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_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC 'Operaci<63>n no reconocida. Solo re reconoce SETNAME y GETNAME.'
|
#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_BACKLINK_CANT_UPDATE_BL_LOC 'No se pudo actualizar el backlink'
|
#DEFINE C_PROCESSING_LOC 'Procesando archivo'
|
||||||
#DEFINE C_BACKLINK_OF_TABLE_LOC 'de la tabla'
|
#DEFINE C_PROCESS_PROGRESS_LOC 'Avance del proceso:'
|
||||||
|
#DEFINE C_PROPERTY_NAME_NOT_RECOGNIZED_LOC 'Propiedad [<<TRANSFORM(tnPropertyID)>>] no reconocida.'
|
||||||
#ELSE && English
|
#DEFINE C_REQUESTING_CAPITALIZATION_OF_FILE_LOC '- Solicitado capitalizar el archivo [<<tcFileName>>]'
|
||||||
#DEFINE C_FOXBIN2PRG_JUST_VFP_9_LOC 'FOXBIN2PRG is only for Visual FoxPro 9.0!'
|
#DEFINE C_SOURCEFILE_LOC 'Archivo origen: '
|
||||||
#DEFINE C_FOXBIN2PRG_WARN_CAPTION_LOC 'FOXBIN2PRG: WARNING!'
|
#DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC 'Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontr<74> ENDDEFINE en la clase <<toClase._Nombre>> (<<loProcedure._Nombre>>), l<>nea <<TRANSFORM(I)>> del archivo <<THIS.c_InputFile>>'
|
||||||
#DEFINE FOXBIN2PRG_INFO_SINTAX_LOC 'FOXBIN2PRG <cFileSpec.Ext> [cType_NA cTextName_NA cGenText_NA cDontShowErrors cDebug cDontShowProgress cOriginalFileName cRecompile]' + CR_LF + CR_LF ;
|
#DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC 'Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontr<74> ENDDEFINE en la clase <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), l<>nea <<TRANSFORM(I)>> del archivo <<THIS.c_InputFile>>'
|
||||||
+ 'Example to generate TXT of all VCX of "c:\desa\clases", without showing error window and generating LOG file: ' + CR_LF ;
|
#DEFINE C_UNKNOWN_CLASS_NAME_LOC 'Clase [<<THIS.CLASS>>] desconocida'
|
||||||
+ ' FOXBIN2PRG "c:\desa\clases\*.vcx" "0" "0" "0" "1" "1"' + CR_LF + CR_LF ;
|
#DEFINE C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC '<27><>ATENCI<43>N!!' + CR_LF+ 'ASEG<45>RESE DE QUE NO EST<53> USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS <20>NDICES!! (ej: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag nombreclave)'
|
||||||
+ 'Example to generate TXT of all VCX of "c:\desa\clases", without showing error window and without LOG file: ' + CR_LF ;
|
|
||||||
+ ' FOXBIN2PRG "c:\desa\clases\*.vc2" "0" "0" "0" "1" "0"'
|
|
||||||
#DEFINE ASTERISK_EXT_NOT_ALLOWED_LOC '* and ? extensions are not allowed because is dangerous (binaries can be overwriten with xx2 empty files)'
|
|
||||||
#DEFINE C_PROCESSING_LOC 'Processing file '
|
|
||||||
#DEFINE C_FILE_DOESNT_EXIST_LOC "File doesn't exist:"
|
|
||||||
#DEFINE C_SOURCEFILE_LOC "Source file: "
|
|
||||||
#DEFINE C_PROCESS_PROGRESS_LOC "Process Progress: "
|
|
||||||
#DEFINE C_CONVERTER_UNLOAD_LOC "Converter unload"
|
|
||||||
#DEFINE C_CONVERTING_FILE_LOC "Converting file "
|
|
||||||
#DEFINE C_BACKUP_OF_LOC "Backup of: "
|
|
||||||
#DEFINE C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC 'Operation not recognized. Only SETNAME and GETNAME allowed.'
|
|
||||||
#DEFINE C_BACKLINK_CANT_UPDATE_BL_LOC 'Could not update backlink'
|
|
||||||
#DEFINE C_BACKLINK_OF_TABLE_LOC 'of table'
|
|
||||||
|
|
||||||
#ENDIF
|
#ENDIF
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
|
|
||||||
|
|
||||||
PUBLIC goCnv AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
PUBLIC goCnv AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL lnResp
|
LOCAL lnResp
|
||||||
goCnv = CREATEOBJECT("c_foxbin2prg")
|
goCnv = CREATEOBJECT("c_foxbin2prg")
|
||||||
@@ -384,8 +393,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
l_Debug = .F.
|
l_Debug = .F.
|
||||||
l_Test = .F.
|
l_Test = .F.
|
||||||
l_ShowErrors = .F.
|
l_ShowErrors = .F.
|
||||||
l_ShowProgress = .T.
|
l_ShowProgress = .F.
|
||||||
l_Recompile = .T.
|
l_Recompile = .F.
|
||||||
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
@@ -605,7 +614,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
CASE EMPTY(tc_InputFile)
|
CASE EMPTY(tc_InputFile)
|
||||||
*-- (Ejemplo de sintaxis y uso)
|
*-- (Ejemplo de sintaxis y uso)
|
||||||
MESSAGEBOX( FOXBIN2PRG_INFO_SINTAX_LOC, 0+64+4096, 'FOXBIN2PRG: SINTAXIS INFO', 60000 )
|
MESSAGEBOX( C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC, 0+64+4096, C_FOXBIN2PRG_INFO_SINTAX_LOC, 60000 )
|
||||||
lnCodError = 1
|
lnCodError = 1
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
@@ -625,7 +634,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
IF llExisteConfig
|
IF llExisteConfig
|
||||||
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 )
|
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 )
|
||||||
IF LOWER( LEFT( laConfig(I), 10 ) ) == 'extension:'
|
IF LOWER( LEFT( laConfig(I), 10 ) ) == C_FOXBIN2PRG_CFG_EXTENSION_LOC && 'extension:'
|
||||||
lcConfData = ALLTRIM( SUBSTR( laConfig(I), 11 ) )
|
lcConfData = ALLTRIM( SUBSTR( laConfig(I), 11 ) )
|
||||||
lcExt = 'c_' + ALLTRIM( GETWORDNUM( lcConfData, 1, '=' ) )
|
lcExt = 'c_' + ALLTRIM( GETWORDNUM( lcConfData, 1, '=' ) )
|
||||||
IF PEMSTATUS( THIS, lcExt, 5 )
|
IF PEMSTATUS( THIS, lcExt, 5 )
|
||||||
@@ -640,9 +649,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
DO CASE
|
DO CASE
|
||||||
CASE '*' $ JUSTEXT( tc_InputFile ) OR '?' $ JUSTEXT( tc_InputFile )
|
CASE '*' $ JUSTEXT( tc_InputFile ) OR '?' $ JUSTEXT( tc_InputFile )
|
||||||
IF THIS.l_ShowErrors
|
IF THIS.l_ShowErrors
|
||||||
MESSAGEBOX( ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, 'FOXBIN2PRG: ERROR!!', 60000 )
|
*MESSAGEBOX( 'No se admiten extensiones * o ? porque es peligroso (se pueden pisar binarios con archivo xx2 vac<61>os).', 0+48+4096, 'FOXBIN2PRG: ERROR!!', 60000 )
|
||||||
|
MESSAGEBOX( C_ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 )
|
||||||
ELSE
|
ELSE
|
||||||
ERROR ASTERISK_EXT_NOT_ALLOWED_LOC
|
ERROR C_ASTERISK_EXT_NOT_ALLOWED_LOC
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CASE '*' $ JUSTSTEM( tc_InputFile )
|
CASE '*' $ JUSTSTEM( tc_InputFile )
|
||||||
@@ -662,7 +672,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDIF
|
ENDIF
|
||||||
THIS.writeLog( THIS.c_Foxbin2prg_FullPath + ' - FileSpec: ' + EVL(tc_InputFile,'') )
|
THIS.writeLog( THIS.c_Foxbin2prg_FullPath + ' - FileSpec: ' + EVL(tc_InputFile,'') )
|
||||||
IF llExisteConfig
|
IF llExisteConfig
|
||||||
THIS.writeLog( 'ConfigFile: ' + lcConfigFile )
|
*THIS.writeLog( 'ConfigFile:' + ' ' + lcConfigFile )
|
||||||
|
THIS.writeLog( C_CONFIGFILE_LOC + ' ' + lcConfigFile )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -674,7 +685,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
FOR I = 1 TO lnFileCount
|
FOR I = 1 TO lnFileCount
|
||||||
lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) )
|
lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) )
|
||||||
THIS.o_Frm_Avance.lbl_TAREA.CAPTION = C_PROCESSING_LOC + lcFile + '...'
|
THIS.o_Frm_Avance.lbl_TAREA.CAPTION = C_PROCESSING_LOC + ' ' + lcFile + '...'
|
||||||
THIS.o_Frm_Avance.nVALUE = I
|
THIS.o_Frm_Avance.nVALUE = I
|
||||||
|
|
||||||
IF THIS.l_ShowProgress
|
IF THIS.l_ShowProgress
|
||||||
@@ -759,7 +770,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
.c_InputFile = FULLPATH( tc_InputFile )
|
.c_InputFile = FULLPATH( tc_InputFile )
|
||||||
|
|
||||||
IF ADIR( laDirFile, .c_InputFile, '', 1 ) = 0
|
IF ADIR( laDirFile, .c_InputFile, '', 1 ) = 0
|
||||||
ERROR 'No se encontr<74> el archivo [' + .c_InputFile + ']'
|
*ERROR 'No se encontr<74> el archivo [' + .c_InputFile + ']'
|
||||||
|
ERROR C_FILE_NOT_FOUND_LOC + ' [' + .c_InputFile + ']'
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.c_InputFile = loFSO.GetAbsolutePathName( FORCEPATH( laDirFile(1,1), JUSTPATH(.c_InputFile) ) )
|
.c_InputFile = loFSO.GetAbsolutePathName( FORCEPATH( laDirFile(1,1), JUSTPATH(.c_InputFile) ) )
|
||||||
@@ -860,7 +872,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_mnx' )
|
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_mnx' )
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
ERROR 'El archivo [' + .c_InputFile + '] no est<73> soportado'
|
*ERROR 'El archivo [' + .c_InputFile + '] no est<73> soportado'
|
||||||
|
ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
@@ -898,7 +911,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
THIS.writeLog( lcErrorInfo )
|
THIS.writeLog( lcErrorInfo )
|
||||||
ENDIF
|
ENDIF
|
||||||
IF THIS.l_Debug AND THIS.l_ShowErrors
|
IF THIS.l_Debug AND THIS.l_ShowErrors
|
||||||
MESSAGEBOX( lcErrorInfo, 0+16+4096, 'FOXBIN2PRG: ERROR!!', 60000 )
|
MESSAGEBOX( lcErrorInfo, 0+16+4096, C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 )
|
||||||
ENDIF
|
ENDIF
|
||||||
IF tlRelanzarError && Usado en Unit Testing
|
IF tlRelanzarError && Usado en Unit Testing
|
||||||
THROW
|
THROW
|
||||||
@@ -942,21 +955,21 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
LOCAL lcNext_Bak, I
|
LOCAL lcNext_Bak, I
|
||||||
lcNext_Bak = ''
|
lcNext_Bak = ''
|
||||||
|
|
||||||
FOR I = 0 TO 99
|
FOR I = 0 TO 9
|
||||||
IF I = 0
|
IF I = 0
|
||||||
IF NOT FILE( tcOutputFileName + '.BAK' )
|
IF NOT FILE( tcOutputFileName + '.BAK' )
|
||||||
lcNext_Bak = '.BAK'
|
lcNext_Bak = '.BAK'
|
||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
ELSE
|
ELSE
|
||||||
IF NOT FILE( tcOutputFileName + '.' + PADL(I,2,'0') + '.BAK' )
|
IF NOT FILE( tcOutputFileName + '.' + PADL(I,1,'0') + '.BAK' )
|
||||||
lcNext_Bak = '.' + PADL(I,2,'0') + '.BAK'
|
lcNext_Bak = '.' + PADL(I,1,'0') + '.BAK'
|
||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
lcNext_Bak = EVL( lcNext_Bak, '.100.BAK' ) && Para que no quede nunca vac<61>o
|
lcNext_Bak = EVL( lcNext_Bak, '.X.BAK' ) && Para que no quede nunca vac<61>o
|
||||||
|
|
||||||
RETURN lcNext_Bak
|
RETURN lcNext_Bak
|
||||||
ENDPROC
|
ENDPROC
|
||||||
@@ -972,10 +985,12 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
loFSO = THIS.o_FSO
|
loFSO = THIS.o_FSO
|
||||||
|
|
||||||
IF FILE(lcEXE_CAPS)
|
IF FILE(lcEXE_CAPS)
|
||||||
THIS.writeLog( '* Se ha encontrado el programa de capitalizaci<63>n de nombres [' + lcEXE_CAPS + ']' )
|
*THIS.writeLog( '* Se ha encontrado el programa de capitalizaci<63>n de nombres [' + lcEXE_CAPS + ']' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC) )
|
||||||
ELSE
|
ELSE
|
||||||
*-- No existe el programa de capitalizaci<63>n, as<61> que no se capitalizan los nombres.
|
*-- No existe el programa de capitalizaci<63>n, as<61> que no se capitalizan los nombres.
|
||||||
THIS.writeLog( '* No se ha encontrado el programa de capitalizaci<63>n de nombres [' + lcEXE_CAPS + ']' )
|
*THIS.writeLog( '* No se ha encontrado el programa de capitalizaci<63>n de nombres [' + lcEXE_CAPS + ']' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC) )
|
||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -1024,15 +1039,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
LPARAMETERS tcFileName, tcEXE_CAPS, toFSO AS Scripting.FileSystemObject
|
LPARAMETERS tcFileName, tcEXE_CAPS, toFSO AS Scripting.FileSystemObject
|
||||||
|
|
||||||
LOCAL lcLog, laFile(1,5)
|
LOCAL lcLog, laFile(1,5)
|
||||||
THIS.writeLog( '- Se ha solicitado capitalizar el archivo [' + tcFileName + ']' )
|
*THIS.writeLog( '- Se ha solicitado capitalizar el archivo [' + tcFileName + ']' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_REQUESTING_CAPITALIZATION_OF_FILE_LOC) )
|
||||||
lcLog = ''
|
lcLog = ''
|
||||||
DO (tcEXE_CAPS) WITH tcFileName, '', 'F', lcLog, .T.
|
DO (tcEXE_CAPS) WITH tcFileName, '', 'F', lcLog, .T.
|
||||||
*IF ADIR( laFile, tcFileName, '', 1 ) > 0 AND laFile(1,1) <> JUSTFNAME(tcFileName)
|
|
||||||
* toFSO.MoveFile( FORCEPATH( laFile(1,1), JUSTPATH(tcFileName) ), tcFileName )
|
|
||||||
* THIS.writeLog( ' => Se renombrar<61> a [' + tcFileName + ']' )
|
|
||||||
*ELSE
|
|
||||||
* THIS.writeLog( ' => No se renombrar<61> a [' + tcFileName + '] porque ya estaba correcto.' )
|
|
||||||
*ENDIF
|
|
||||||
THIS.writeLog( lcLog )
|
THIS.writeLog( lcLog )
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -1080,7 +1090,7 @@ DEFINE CLASS frm_avance AS FORM
|
|||||||
DOCREATE = .T.
|
DOCREATE = .T.
|
||||||
AUTOCENTER = .T.
|
AUTOCENTER = .T.
|
||||||
BORDERSTYLE = 2
|
BORDERSTYLE = 2
|
||||||
CAPTION = C_PROCESS_PROGRESS_LOC
|
CAPTION = C_PROCESS_PROGRESS_LOC + ' '
|
||||||
CONTROLBOX = .F.
|
CONTROLBOX = .F.
|
||||||
BACKCOLOR = RGB(255,255,255)
|
BACKCOLOR = RGB(255,255,255)
|
||||||
nMAX_VALUE = 100
|
nMAX_VALUE = 100
|
||||||
@@ -1394,7 +1404,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
THIS.writeLog( '' )
|
THIS.writeLog( '' )
|
||||||
THIS.writeLog( C_CONVERTING_FILE_LOC + THIS.c_OutputFile + '...' )
|
THIS.writeLog( C_CONVERTING_FILE_LOC + ' ' + THIS.c_OutputFile + '...' )
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
@@ -1563,19 +1573,6 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Esto fuerza la conversi<73>n a formato 12 hs, que no me interesa.
|
|
||||||
*lcTime=laDir[1,4]
|
|
||||||
*lnHour=VAL(lcTime)
|
|
||||||
*IF lnHour<12
|
|
||||||
* lcTime=ALLTRIM(STR(IIF(lnHour=0,12,lnHour),2))+SUBSTR(lcTime,3)+" AM"
|
|
||||||
*ELSE
|
|
||||||
* lcTime=ALLTRIM(STR(IIF(lnHour=12,24,lnHour)-12,2))+SUBSTR(lcTime,3)+" PM"
|
|
||||||
*ENDIF
|
|
||||||
*IF VAL(lcTime)<10
|
|
||||||
* lcTime="0"+lcTime
|
|
||||||
*ENDIF
|
|
||||||
*lcTimeStamp_Ret = DTOC(laDir[1,3])+" "+lcTime
|
|
||||||
|
|
||||||
ltTimeStamp = EVALUATE( '{^' + DTOC(laDir(1,3)) + ' ' + TRANSFORM(laDir(1,4)) + '}' )
|
ltTimeStamp = EVALUATE( '{^' + DTOC(laDir(1,3)) + ' ' + TRANSFORM(laDir(1,4)) + '}' )
|
||||||
|
|
||||||
*-- En mi arreglo, si la hora pasada tiene 32 segundos o m<>s, redondeo al siguiente minuto, ya que
|
*-- En mi arreglo, si la hora pasada tiene 32 segundos o m<>s, redondeo al siguiente minuto, ya que
|
||||||
@@ -2386,7 +2383,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
lnCantComillas = OCCURS( '"', lcMetadatos )
|
lnCantComillas = OCCURS( '"', lcMetadatos )
|
||||||
|
|
||||||
IF lnCantComillas % 2 <> 0 && Valido que las comillas "" sean pares
|
IF lnCantComillas % 2 <> 0 && Valido que las comillas "" sean pares
|
||||||
ERROR "Error de datos: No se puede parsear porque las comillas no son pares en la l<>nea [" + lcMetadatos + "]"
|
*ERROR "Error de datos: No se puede parsear porque las comillas no son pares en la l<>nea [" + lcMetadatos + "]"
|
||||||
|
ERROR (TEXTMERGE(C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC))
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
lnLastPos = 1
|
lnLastPos = 1
|
||||||
@@ -2479,9 +2477,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
*-- Validaci<63>n
|
*-- Validaci<63>n
|
||||||
IF EMPTY(taBloquesExclusion(tnBloquesExclusion,2))
|
IF EMPTY(taBloquesExclusion(tnBloquesExclusion,2))
|
||||||
ERROR 'No se ha encontrado el marcador de fin [' + ta_ID_Bloques(lnPrimerID,2) ;
|
*ERROR 'No se ha encontrado el marcador de fin [' + ta_ID_Bloques(lnPrimerID,2) ;
|
||||||
+ '] que cierra al marcador de inicio [' + ta_ID_Bloques(lnPrimerID,1) ;
|
+ '] que cierra al marcador de inicio [' + ta_ID_Bloques(lnPrimerID,1) ;
|
||||||
+ '] de la l<>nea ' + TRANSFORM(taBloquesExclusion(tnBloquesExclusion,1))
|
+ '] de la l<>nea ' + TRANSFORM(taBloquesExclusion(tnBloquesExclusion,1))
|
||||||
|
ERROR (TEXTMERGE(C_END_MARKER_NOT_FOUND_LOC))
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
@@ -2848,22 +2847,20 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
*-- ESTRUCTURA A ANALIZAR: Propiedades normales, con CR codificado (<fb2p_value>) y con CR+LF (<fb2p_value>)
|
*-- ESTRUCTURA A ANALIZAR: Propiedades normales, con CR codificado (<fb2p_value>) y con CR+LF (<fb2p_value>)
|
||||||
#IF .F.
|
* HEIGHT = 2.73
|
||||||
HEIGHT = 2.73
|
* NAME = "c1"
|
||||||
NAME = "c1"
|
* prop1 = .F. && Mi prop 1
|
||||||
prop1 = .F. && Mi prop 1
|
* prop_especial_cr = <fb2p_value>Este es el valor 1 Este el 2 Y Este bajo Shift_Enter el 3</fb2p_value>
|
||||||
prop_especial_cr = <fb2p_value>Este es el valor 1 Este el 2 Y Este bajo Shift_Enter el 3</fb2p_value>
|
* prop_especial_crlf = <fb2p_value>
|
||||||
prop_especial_crlf = <fb2p_value>
|
* Este es el valor 1
|
||||||
Este es el valor 1
|
* Este el 2
|
||||||
Este el 2
|
* Y Este bajo Shift_Enter el 3
|
||||||
Y Este bajo Shift_Enter el 3
|
* </fb2p_value>
|
||||||
</fb2p_value>
|
* WIDTH = 27.40
|
||||||
WIDTH = 27.40
|
* _MEMBERDATA = <VFPData>
|
||||||
_MEMBERDATA = <VFPData>
|
* <memberdata NAME="mimetodo" DISPLAY="miMetodo"/>
|
||||||
<memberdata NAME="mimetodo" DISPLAY="miMetodo"/>
|
* <memberdata NAME="mimetodo2" DISPLAY="miMetodo2"/>
|
||||||
<memberdata NAME="mimetodo2" DISPLAY="miMetodo2"/>
|
* </VFPData> && XML Metadata for customizable properties
|
||||||
</VFPData> && XML Metadata for customizable properties
|
|
||||||
#ENDIF
|
|
||||||
*-- Fin: ESTRUCTURA A ANALIZAR:
|
*-- Fin: ESTRUCTURA A ANALIZAR:
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
@@ -3333,13 +3330,15 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
CASE LEFT( tcLine + ' ', 10 ) == C_ENDDEFINE + ' ' && Fin de bloque (ENDDEFINE) encontrado
|
CASE LEFT( tcLine + ' ', 10 ) == C_ENDDEFINE + ' ' && Fin de bloque (ENDDEFINE) encontrado
|
||||||
IF llEsProcedureDeClase
|
IF llEsProcedureDeClase
|
||||||
ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontr<74> ENDDEFINE en la clase ' ;
|
*ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontr<74> ENDDEFINE en la clase ' ;
|
||||||
+ toClase._Nombre + ' (' + loProcedure._Nombre + ')' ;
|
+ toClase._Nombre + ' (' + loProcedure._Nombre + ')' ;
|
||||||
+ ', l<>nea ' + TRANSFORM(I) + ' del archivo ' + THIS.c_InputFile
|
+ ', l<>nea ' + TRANSFORM(I) + ' del archivo ' + THIS.c_InputFile
|
||||||
|
ERROR (TEXTMERGE(C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC))
|
||||||
ELSE
|
ELSE
|
||||||
ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontr<74> ENDDEFINE en la clase ' ;
|
*ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontr<74> ENDDEFINE en la clase ' ;
|
||||||
+ toClase._Nombre + ' (' + toObjeto._Nombre + '.' + loProcedure._Nombre + ')' ;
|
+ toClase._Nombre + ' (' + toObjeto._Nombre + '.' + loProcedure._Nombre + ')' ;
|
||||||
+ ', l<>nea ' + TRANSFORM(I) + ' del archivo ' + THIS.c_InputFile
|
+ ', l<>nea ' + TRANSFORM(I) + ' del archivo ' + THIS.c_InputFile
|
||||||
|
ERROR (TEXTMERGE(C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC))
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -3686,10 +3685,11 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
*-- Validaci<63>n
|
*-- Validaci<63>n
|
||||||
IF EMPTY( toClase._Fin )
|
IF EMPTY( toClase._Fin )
|
||||||
ERROR 'No se ha encontrado el marcador de fin [ENDDEFINE] ' ;
|
*ERROR 'No se ha encontrado el marcador de fin [ENDDEFINE] ' ;
|
||||||
+ 'que cierra al marcador de inicio [DEFINE CLASS] ' ;
|
+ 'que cierra al marcador de inicio [DEFINE CLASS] ' ;
|
||||||
+ 'de la l<>nea ' + TRANSFORM( toClase._Inicio ) + ' ' ;
|
+ 'de la l<>nea ' + TRANSFORM( toClase._Inicio ) + ' ' ;
|
||||||
+ 'para el identificador [' + toClase._Nombre + ']'
|
+ 'para el identificador [' + toClase._Nombre + ']'
|
||||||
|
ERROR (TEXTMERGE(C_ENDDEFINE_MARKER_NOT_FOUND_LOC))
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
toClase._PROPERTIES = THIS.classProps2Memo( toClase )
|
toClase._PROPERTIES = THIS.classProps2Memo( toClase )
|
||||||
@@ -5478,7 +5478,8 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
|||||||
lnNumCampo = ASCAN( laFieldTypes, laProps(I), 1, -1, 1, 1+2+4+8 )
|
lnNumCampo = ASCAN( laFieldTypes, laProps(I), 1, -1, 1, 1+2+4+8 )
|
||||||
|
|
||||||
IF lnNumCampo = 0
|
IF lnNumCampo = 0
|
||||||
ERROR 'No se encontr<74> el campo [' + laProps(I) + '] en la estructura del archivo ' + DBF("TABLABIN")
|
*ERROR 'No se encontr<74> el campo [' + laProps(I) + '] en la estructura del archivo ' + DBF("TABLABIN")
|
||||||
|
ERROR (TEXTMERGE(C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC))
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
lcFieldType = laFieldTypes(lnNumCampo,2)
|
lcFieldType = laFieldTypes(lnNumCampo,2)
|
||||||
@@ -6751,7 +6752,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
FOR I = lnFin TO 1 STEP -1
|
FOR I = lnFin TO 1 STEP -1
|
||||||
IF NOT EMPTY(laLineas(I)) && <20>ltima l<>nea de c<>digo
|
IF NOT EMPTY(laLineas(I)) && <20>ltima l<>nea de c<>digo
|
||||||
IF LEFT( laLineas(I), 10 ) <> C_ENDPROC
|
IF LEFT( laLineas(I), 10 ) <> C_ENDPROC
|
||||||
ERROR 'Procedimiento sin cerrar. La <20>ltima l<>nea de c<>digo debe ser ENDPROC. [' + laLineas(1) + ']'
|
*ERROR 'Procedimiento sin cerrar. La <20>ltima l<>nea de c<>digo debe ser ENDPROC. [' + laLineas(1) + ']'
|
||||||
|
ERROR (TEXTMERGE(C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC))
|
||||||
ENDIF
|
ENDIF
|
||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -8006,9 +8008,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -8171,9 +8175,11 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -8478,9 +8484,11 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -8490,7 +8498,8 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME )
|
CASE lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME )
|
||||||
toEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME
|
*toEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME
|
||||||
|
toEx.USERVALUE = C_DUPLICATED_FILE_LOC + ': ' + loReg.NAME
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
@@ -8845,9 +8854,11 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -8857,7 +8868,8 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME )
|
CASE lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME )
|
||||||
toEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME
|
*toEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME
|
||||||
|
toEx.USERVALUE = C_DUPLICATED_FILE_LOC + ': ' + loReg.NAME
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
@@ -8977,9 +8989,11 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -9051,9 +9065,11 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -9061,20 +9077,21 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
|||||||
CATCH TO toEx
|
CATCH TO toEx
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE toEx.ERRORNO = 13 && Alias not found
|
CASE toEx.ERRORNO = 13 && Alias not found
|
||||||
toEx.USERVALUE = 'WARNING!!' + CR_LF ;
|
*toEx.USERVALUE = 'WARNING!!' + CR_LF ;
|
||||||
+ 'MAKE SURE YOU ARE NOT USING A TABLE ALIAS ON INDEX KEY EXPRESSIONS!! (ex: index on ' ;
|
+ 'MAKE SURE YOU ARE NOT USING A TABLE ALIAS ON INDEX KEY EXPRESSIONS!! (ex: index on ' ;
|
||||||
+ UPPER(JUSTSTEM(THIS.c_InputFile)) + '.field tag keyname)' + CR_LF + CR_LF ;
|
+ UPPER(JUSTSTEM(THIS.c_InputFile)) + '.field tag keyname)' + CR_LF + CR_LF ;
|
||||||
+ '<27><>ATENCI<43>N!!' + CR_LF ;
|
+ '<27><>ATENCI<43>N!!' + CR_LF ;
|
||||||
+ 'ASEG<45>RESE DE QUE NO EST<53> USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS <20>NDICES!! (ej: index on ' ;
|
+ 'ASEG<45>RESE DE QUE NO EST<53> USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS <20>NDICES!! (ej: index on ' ;
|
||||||
+ UPPER(JUSTSTEM(THIS.c_InputFile)) + '.campo tag nombreclave)'
|
+ UPPER(JUSTSTEM(THIS.c_InputFile)) + '.campo tag nombreclave)'
|
||||||
|
toEx.USERVALUE = TEXTMERGE(C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC)
|
||||||
|
|
||||||
*!* CASE toEx.ErrorNo = 1976 && Cannot resolve backlink
|
*!* CASE toEx.ErrorNo = 1976 && Cannot resolve backlink
|
||||||
*!* toEx.UserValue = 'WARNING!!' + CR_LF ;
|
*!* toEx.UserValue = 'WARNING!!' + CR_LF ;
|
||||||
*!* + "MAY BE DATABASE FIELDS DOESN'T" ;
|
*!* + "MAY BE DATABASE FIELDS DOESN'T" ;
|
||||||
*!* + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.field tag keyname)' + CR_LF + CR_LF ;
|
*!* + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.field tag keyname)' + CR_LF + CR_LF ;
|
||||||
*!* + '<27><>ATENCI<43>N!!' + CR_LF ;
|
*!* + '<27><>ATENCI<43>N!!' + CR_LF ;
|
||||||
*!* + 'ASEG<45>RESE DE QUE NO EST<53> USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS <20>NDICES!! (ej: index on ' ;
|
*!* + 'ASEG<45>RESE DE QUE NO EST<53> USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS <20>NDICES!! (ej: index on ' ;
|
||||||
*!* + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.campo tag nombreclave)'
|
*!* + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.campo tag nombreclave)'
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
@@ -9148,9 +9165,11 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -9205,7 +9224,8 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
*-- Verificaci<63>n de men<65> VFP 9
|
*-- Verificaci<63>n de men<65> VFP 9
|
||||||
IF FCOUNT() < 25 OR EMPTY(FIELD("RESNAME")) OR EMPTY(FIELD("SYSRES"))
|
IF FCOUNT() < 25 OR EMPTY(FIELD("RESNAME")) OR EMPTY(FIELD("SYSRES"))
|
||||||
ERROR 'Menu [' + (THIS.c_InputFile) + '] is NOT VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU ' + JUSTFNAME((THIS.c_InputFile))
|
*ERROR 'Menu [' + (THIS.c_InputFile) + '] is NOT VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU ' + JUSTFNAME((THIS.c_InputFile))
|
||||||
|
ERROR (TEXTMERGE(C_MENU_NOT_IN_VFP9_FORMAT_LOC))
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Header
|
*-- Header
|
||||||
@@ -9223,9 +9243,11 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -10618,7 +10640,8 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
lcValueType = 'C'
|
lcValueType = 'C'
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
ERROR 'Propiedad [' + TRANSFORM(tnPropertyID) + '] no reconocida.'
|
*ERROR 'Propiedad [' + TRANSFORM(tnPropertyID) + '] no reconocida.'
|
||||||
|
ERROR (TEXTMERGE(C_PROPERTY_NAME_NOT_RECOGNIZED_LOC))
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
RETURN lcValueType
|
RETURN lcValueType
|
||||||
@@ -10853,7 +10876,8 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
lcType = 'Field'
|
lcType = 'Field'
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
ERROR 'Clase [' + THIS.CLASS + '] desconocida'
|
*ERROR 'Clase [' + THIS.CLASS + '] desconocida'
|
||||||
|
ERROR (TEXTMERGE(C_UNKNOWN_CLASS_NAME_LOC))
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
@@ -15286,8 +15310,9 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE
|
|||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
IF THIS.l_Debug
|
IF THIS.l_Debug
|
||||||
toConversor.writeLog( REPLICATE(C_TAB,tnNivel) ;
|
*toConversor.writeLog( REPLICATE(C_TAB,tnNivel) ;
|
||||||
+ 'Objeto [' + toObj.CLASS + '] sin registro oReg (nivel ' + TRANSFORM(tnNivel) + ')' )
|
+ 'Objeto [' + toObj.CLASS + '] no contiene el objeto oReg (nivel ' + TRANSFORM(tnNivel) + ')' )
|
||||||
|
toConversor.writeLog( REPLICATE(C_TAB,tnNivel) + TEXTMERGE(C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC) )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|||||||
Reference in New Issue
Block a user