- Arregladas las estadísticas de procesamiento

- Agregado un modo de "no-proceso" configurable con la propiedad l_ProcessFiles
- Agregadas algunas traducciones para los nuevos miembros del DBC/DB2
This commit is contained in:
fdbozzo
2015-03-26 00:33:41 +01:00
parent 49a1920ea9
commit 5db310c4b5

View File

@@ -147,7 +147,7 @@
* 10/03/2015 FDBOZZO v1.19.42 Mejora: Agregado soporte de errOut e implementado en writeErrorLog
* 10/03/2015 FDBOZZO v1.19.42 Mejora: Agregado soporte total de comodines *? en nombres de archivo para procesar m<>ltiples archivos de la misma extensi<73>n
* 10/03/2015 FDBOZZO v1.19.42 Mejora: Nuevo par<61>metro para permitir un CFG alternativo (Lutz Scheffler)
* 10/03/2015 FDBOZZO v1.19.42 Mejora: Nuevo m<>todo API get_Target() para obtener informaci<63>n de los archivos procesados (Lutz Scheffler)
* 10/03/2015 FDBOZZO v1.19.42 Mejora: Nuevo m<>todo API get_Processed() para obtener informaci<63>n de los archivos procesados (Lutz Scheffler)
* 10/03/2015 FDBOZZO v1.19.42 Mejora: Nueva salida de archivos procesados a stdOut (Lutz Scheffler)
* 10/03/2015 FDBOZZO v1.19.42 Bug Fix: Arreglada la cancelaci<63>n del procesamiento con tecla Esc
* 22/03/2015 FDBOZZO v1.19.42 Mejora: Permitir ordenar los campos de vistas y tablas alfab<61>ticamente y mantener en una lista aparte el orden real, para facilitar el diff y el merge (Ryan Harris)
@@ -225,7 +225,7 @@
* 05/03/2015 Lutz Scheffler Mejora v1.19.41: Cambiar clase de base de FoxBin2Prg de custom a session (Agregado en v1.19.42)
* 05/03/2015 Lutz Scheffler Mejora v1.19.41: Permitir procesar los archivos de un proyecto sin convertir el PJX/2 (Agregado en v1.19.42)
* 10/03/2015 Lutz Scheffler Mejora v1.19.41: Permitir configurar un CFG alternativo (Agregado en v1.19.42)
* 10/03/2015 Lutz Scheffler Mejora v1.19.41: Crear un m<>todo API get_Target() para obtener informaci<63>n de los archivos procesados (Agregado en v1.19.42)
* 10/03/2015 Lutz Scheffler Mejora v1.19.41: Crear un m<>todo API get_Processed() para obtener informaci<63>n de los archivos procesados (Agregado en v1.19.42)
* 10/03/2015 Lutz Scheffler Mejora v1.19.41: Permitir salida de archivos procesados a stdOut (Agregado en v1.19.42)
* 23/03/2015 Lutz Scheffler Reporte bug mnx v1.19.41: No se mantiene el Pad vac<61>o al regenerar el men<65> cuando se define un menu con un Pad sin nombre (Arreglado en v1.19.42)
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
@@ -560,7 +560,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
+ [<memberdata name="get_ext2fromext" display="Get_Ext2FromExt"/>] ;
+ [<memberdata name="get_program_header" display="get_PROGRAM_HEADER"/>] ;
+ [<memberdata name="get_separatedlineandcomment" display="get_SeparatedLineAndComment"/>] ;
+ [<memberdata name="get_target" display="get_Target"/>] ;
+ [<memberdata name="get_processed" display="get_Processed"/>] ;
+ [<memberdata name="getnext_bak" display="getNext_BAK"/>] ;
+ [<memberdata name="run_aftercreatetable" display="run_AfterCreateTable"/>] ;
+ [<memberdata name="run_aftercreate_db2" display="run_AfterCreate_DB2"/>] ;
@@ -635,7 +635,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
+ [</VFPData>]
DIMENSION a_ProcessedFiles(1, 5)
DIMENSION a_ProcessedFiles(1, 6)
PROTECTED l_ConfigEvaluated, n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess
*--
n_FB2PRG_Version = 1.19
@@ -670,6 +670,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
n_ForceWriteIfReadOnly = 0
l_AllowMultiConfig = .T.
l_AutoClearProcessedFiles = .T. && Por defecto limpia archivos procesados entre ejecuci<63>n y ejecuci<63>n
l_ProcessFiles = .T. && Por defecto procesa los archivos. En .F. sirve para obtener sus nombres sin reescribirlos.
l_CancelWithEscKey = .T.
l_DropNullCharsFromCode = .T.
l_Recompile = .T.
@@ -817,27 +818,29 @@ DEFINE CLASS c_foxbin2prg AS SESSION
PROCEDURE addProcessedFile
*---------------------------------------------------------------------------------------------------
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
* tcInputFile (v? IN ) Path del archivo (ej: 'C:\DESA\pruebas varias\lib.vcx')
* tcProcessed (v? IN ) Procesado ("P0"=Not Processed, "P1"=Processed, "P2"=Expanded)
* tcFile (v? IN ) Path del archivo (ej: 'C:\DESA\pruebas varias\lib.vcx')
* tcInOutType (v? IN ) Archivo de entrada o de salida ("I"=Input file, "O"=Output file)
* tcProcessed (v? IN ) Procesado ("P0"=Not Processed, "P1"=Processed)
* tcHasErrors (v? IN ) Tuvo Errores ("E0"=No Errors, "E1"=Has Errors)
* tcSupported (v? IN ) Archivo soportado ("S0"=Unsupported, "S1"=Supported)
* tcReserved (v? IN ) Reservado
* tcExpanded (v? IN ) Tipo de archivo ("X0"=Normal file, "X1"=Expanded multipart file)
*---------------------------------------------------------------------------------------------------
LPARAMETERS tcInputFile, tcProcessed, tcHasErrors, tcSupported, tcReserved
LPARAMETERS tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded
LOCAL llAdded
IF NOT EMPTY(tcInputFile) THEN
IF NOT EMPTY(tcFile) THEN
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
*-- Buscar si fue procesado antes
IF .n_ProcessedFiles = 0 OR ASCAN( .a_ProcessedFiles, tcInputFile, 1, 0, 1, 1+2+4 ) = 0 THEN
IF NOT .wasProcessed(tcFile) THEN
.n_ProcessedFiles = .n_ProcessedFiles + 1
DIMENSION .a_ProcessedFiles(.n_ProcessedFiles, 5)
.a_ProcessedFiles(.n_ProcessedFiles, 1) = tcInputFile
.a_ProcessedFiles(.n_ProcessedFiles, 2) = EVL(tcProcessed, '')
.a_ProcessedFiles(.n_ProcessedFiles, 3) = EVL(tcHasErrors, '')
.a_ProcessedFiles(.n_ProcessedFiles, 4) = EVL(tcSupported, '')
.a_ProcessedFiles(.n_ProcessedFiles, 5) = EVL(tcReserved, '')
DIMENSION .a_ProcessedFiles(.n_ProcessedFiles, 6)
.a_ProcessedFiles(.n_ProcessedFiles, 1) = tcFile
.a_ProcessedFiles(.n_ProcessedFiles, 2) = EVL(tcInOutType, '')
.a_ProcessedFiles(.n_ProcessedFiles, 3) = EVL(tcProcessed, '')
.a_ProcessedFiles(.n_ProcessedFiles, 4) = EVL(tcHasErrors, '')
.a_ProcessedFiles(.n_ProcessedFiles, 5) = EVL(tcSupported, '')
.a_ProcessedFiles(.n_ProcessedFiles, 6) = EVL(tcExpanded, '')
llAdded = .T.
ENDIF
ENDWITH
@@ -847,12 +850,22 @@ DEFINE CLASS c_foxbin2prg AS SESSION
ENDPROC
PROCEDURE wasProcessed
LPARAMETERS tcFile
IF THIS.n_ProcessedFiles = 0 OR ASCAN( THIS.a_ProcessedFiles, tcFile, 1, 0, 1, 1+2+4 ) = 0
RETURN .F.
ELSE
RETURN .T.
ENDIF
ENDPROC
PROCEDURE AvanceDelProceso
LPARAMETERS tcTexto, tnValor, tnTotal, tnTipo
TRY
*-- Si o_Frm_Avance se habilit<69> de forma externa, n_ShowProgressbar podr<64>a ser 0 para controlarlo desde fuera.
IF VARTYPE(THIS.o_Frm_Avance) = "O" THEN
IF THIS.l_ProcessFiles AND VARTYPE(THIS.o_Frm_Avance) = "O" THEN
*-- Cuando esta rutina se invoca desde el script, este m<>todo es el #1 y no puede cancelarse todav<61>a
IF THIS.o_Frm_Avance.l_Cancelled AND PROGRAM(-1) > 1 THEN
ERROR 1799
@@ -883,7 +896,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
.n_ProcessedFilesCount = 0
.n_ProcessedFiles = 0
DIMENSION .a_ProcessedFiles(1, 5)
DIMENSION .a_ProcessedFiles(1, 6)
.a_ProcessedFiles = ''
ENDWITH
ENDPROC
@@ -900,9 +913,9 @@ DEFINE CLASS c_foxbin2prg AS SESSION
FUNCTION get_Processed
LPARAMETERS taTargets, tcFileMask
LPARAMETERS taProcessed, tcFileMask
EXTERNAL ARRAY taTargets
EXTERNAL ARRAY taProcessed
LOCAL lnCount, I
lnCount = 0
@@ -913,12 +926,13 @@ DEFINE CLASS c_foxbin2prg AS SESSION
FOR I = 1 TO .n_ProcessedFiles
IF LIKE( tcFileMask, JUSTFNAME(.a_ProcessedFiles(I,1)) ) THEN
lnCount = lnCount + 1
DIMENSION taTargets(lnCount,5)
taTargets(lnCount,1) = .a_ProcessedFiles(I,1)
taTargets(lnCount,2) = .a_ProcessedFiles(I,2)
taTargets(lnCount,3) = .a_ProcessedFiles(I,3)
taTargets(lnCount,4) = .a_ProcessedFiles(I,4)
taTargets(lnCount,5) = .a_ProcessedFiles(I,5)
DIMENSION taProcessed(lnCount,6)
taProcessed(lnCount,1) = .a_ProcessedFiles(I,1)
taProcessed(lnCount,2) = .a_ProcessedFiles(I,2)
taProcessed(lnCount,3) = .a_ProcessedFiles(I,3)
taProcessed(lnCount,4) = .a_ProcessedFiles(I,4)
taProcessed(lnCount,5) = .a_ProcessedFiles(I,5)
taProcessed(lnCount,6) = .a_ProcessedFiles(I,6)
ENDIF
ENDFOR
ENDWITH
@@ -926,6 +940,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
RETURN lnCount
ENDFUNC
PROCEDURE l_Debug_ACCESS
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
RETURN THIS.l_Debug
@@ -1961,36 +1976,6 @@ DEFINE CLASS c_foxbin2prg AS SESSION
ENDFUNC
PROCEDURE get_TextFileNames
LPARAMETERS tcInputFile, taOutputFiles
*fdb*
EXTERNAL ARRAY taOutputFiles
LOCAL I, lnOutputFiles, lcExt, lnCodeLines, lcCode, laCodeLines(1), lnFileCount, laFiles(1), lcInputFile
IF TYPE('taOutputFiles',1) # 'A' THEN
ERROR 9, 'taOutputFiles'
ENDIF
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
lnOutputFiles = 0
lcExt = UPPER( JUSTEXT( tcInputFile ) )
DO CASE
CASE lcExt = 'VCX'
CASE .F.
ENDCASE
ENDWITH
RETURN lnOutputFiles
ENDPROC
PROCEDURE Get_Ext2FromExt
LPARAMETERS tcExt
LOCAL lcExt2
@@ -2677,8 +2662,8 @@ DEFINE CLASS c_foxbin2prg AS SESSION
.ejecutar_WriteErrorLog( @toEx )
ENDCASE
ELSE
*-- addProcessedFile( tcInputFile, tcProcessed, tcHasErrors, tcSupported, tcReserved )
IF .addProcessedFile( lcFile, 'P0', 'E0', 'S0', 'RR' )
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF .addProcessedFile( lcFile, 'I', 'P0', 'E0', 'S0', 'X0' )
.updateProcessedFile()
ENDIF
ENDIF
@@ -2779,8 +2764,8 @@ DEFINE CLASS c_foxbin2prg AS SESSION
.ejecutar_WriteErrorLog( @toEx )
ENDCASE
ELSE
*-- addProcessedFile( tcInputFile, tcProcessed, tcHasErrors, tcSupported, tcReserved )
IF .addProcessedFile( lcFile, 'P0', 'E0', 'S0', 'RR' )
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF .addProcessedFile( lcFile, 'I', 'P0', 'E0', 'S0', 'X0' )
.updateProcessedFile()
ENDIF
ENDIF
@@ -2907,13 +2892,14 @@ DEFINE CLASS c_foxbin2prg AS SESSION
.c_OriginalFileName = FORCEEXT(.c_OriginalFileName,'pjx')
ENDIF
*-- addProcessedFile( tcInputFile, tcProcessed, tcHasErrors, tcSupported, tcReserved )
IF NOT .addProcessedFile( .c_InputFile, 'P1', 'E0', 'S1', 'RR' ) THEN
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF NOT .addProcessedFile( .c_InputFile, 'I', 'P1', 'E0', 'S1', 'X0' ) THEN
*.writeLog( 'OPTIMIZACI<43>N: El archivo Base [' + JUSTFNAME(lc_BaseFile) + '] ya fue procesado, por lo que no se procesar<61> [' + JUSTFNAME(.c_InputFile) + ']' )
.writeLog( '> ' + TEXTMERGE( loLang.C_CLASSPERFILE_OPTIMIZATION_BASE_ALREADY_PROCESSED_LOC ) )
EXIT
ENDIF
.updateProcessedFile()
.writeLog( C_TAB + 'c_OriginalFileName: ' + .c_OriginalFileName )
.writeLog( )
@@ -3156,7 +3142,6 @@ DEFINE CLASS c_foxbin2prg AS SESSION
ENDIF
.normalizarCapitalizacionArchivos()
.updateProcessedFile()
ENDWITH && THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
CATCH TO toEx
@@ -3540,12 +3525,13 @@ DEFINE CLASS c_foxbin2prg AS SESSION
* ACTUALIZA ALGUNOS DATOS DEL ARCHIVO PROCESADO ACTUAL
*---------------------------------------------------------------------------------------------------
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
* tcProcessed (v? IN ) Fue Procesado ("P")
* tcHasErrors (v? IN ) Tuvo Errores ("E")
* tcSupported (v? IN ) Archivo soportado ("U"=Unsupported)
* tcReserved (v? IN ) Reservado
* tcInOutType (v? IN ) Archivo de entrada o de salida ("I"=Input file, "O"=Output file)
* tcProcessed (v? IN ) Procesado ("P0"=Not Processed, "P1"=Processed)
* tcHasErrors (v? IN ) Tuvo Errores ("E0"=No Errors, "E1"=Has Errors)
* tcSupported (v? IN ) Archivo soportado ("S0"=Unsupported, "S1"=Supported)
* tcExpanded (v? IN ) Tipo de archivo ("X0"=Normal file, "X1"=Expanded multipart file)
*---------------------------------------------------------------------------------------------------
LPARAMETERS tcProcessed, tcHasErrors, tcSupported, tcReserved
LPARAMETERS tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded
TRY
LOCAL loEx as Exception
@@ -3554,19 +3540,23 @@ DEFINE CLASS c_foxbin2prg AS SESSION
IF .n_ProcessedFiles = 0 THEN
EXIT
ENDIF
IF NOT EMPTY(tcProcessed)
IF NOT EMPTY(tcInOutType)
.a_ProcessedFiles(.n_ProcessedFiles, 2) = EVL(tcProcessed, '')
ENDIF
IF NOT EMPTY(tcProcessed)
.a_ProcessedFiles(.n_ProcessedFiles, 3) = EVL(tcProcessed, '')
ENDIF
IF NOT EMPTY(tcHasErrors)
.a_ProcessedFiles(.n_ProcessedFiles, 3) = EVL(tcHasErrors, '')
.a_ProcessedFiles(.n_ProcessedFiles, 4) = EVL(tcHasErrors, '')
ENDIF
IF NOT EMPTY(tcSupported)
.a_ProcessedFiles(.n_ProcessedFiles, 4) = EVL(tcSupported, '')
.a_ProcessedFiles(.n_ProcessedFiles, 5) = EVL(tcSupported, '')
ENDIF
.stdOut( .a_ProcessedFiles(.n_ProcessedFiles,2) ;
+ ',' + .a_ProcessedFiles(.n_ProcessedFiles,3) ;
+ ',' + .a_ProcessedFiles(.n_ProcessedFiles,4) ;
+ ',' + .a_ProcessedFiles(.n_ProcessedFiles,5) ;
+ ',' + .a_ProcessedFiles(.n_ProcessedFiles,6) ;
+ ',' + LOWER(.a_ProcessedFiles(.n_ProcessedFiles,1)) )
ENDWITH
@@ -5009,12 +4999,6 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
ENDPROC
PROCEDURE get_TextFileNames
LPARAMETERS tcInputFile
*fdb*
ENDPROC
PROCEDURE get_ValueFromNullTerminatedValue
LPARAMETERS tcNullTerminatedValue
LOCAL lcValue, lnNullPos
@@ -8140,25 +8124,38 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
.writeLog( C_TAB + '+ ' + loLang.C_INCLUDING_CLASS_LOC + ' ' + JUSTFNAME( lcInputFile_Class ) )
*-- addProcessedFile( tcInputFile, tcProcessed, tcHasErrors, tcSupported, tcReserved )
IF toFoxBin2Prg.addProcessedFile( lcInputFile_Class, 'P2', 'E0', 'S1', 'RR' ) THEN
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( lcInputFile_Class, 'I', 'P1', 'E0', 'S1', 'X1' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF toFoxBin2Prg.l_ProcessFiles THEN
toFoxBin2Prg.normalizarCapitalizacionArchivos( .T., lcInputFile_Class )
C_FB2PRG_CODE = C_FB2PRG_CODE + FILETOSTR( lcInputFile_Class )
ENDIF
ENDFOR
ELSE
*-- No es clase por archivo, o no se quiere redireccionar a Main.
IF toFoxBin2Prg.l_ProcessFiles THEN
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
.AvanceDelProceso( 'Identifying Header Blocks...', 1, lnCodeLines, 1 )
.identificarBloquesDeCabecera( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg )
ENDIF
ENDIF
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( .c_OutputFile, 'O', 'P1', 'E0', 'S1', 'X0' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
*-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF
@@ -8525,8 +8522,8 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
.writeLog( C_TAB + '+ ' + loLang.C_INCLUDING_CLASS_LOC + ' ' + JUSTFNAME( lcInputFile_Class ) )
*-- addProcessedFile( tcInputFile, tcProcessed, tcHasErrors, tcSupported, tcReserved )
IF toFoxBin2Prg.addProcessedFile( lcInputFile_Class, 'P2', 'E0', 'S1', 'RR' ) THEN
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( lcInputFile_Class, 'I', 'P1', 'E0', 'S1', 'X1' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
@@ -8544,6 +8541,15 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
ENDIF
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( .c_OutputFile, 'O', 'P1', 'E0', 'S1', 'X0' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
*-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF
@@ -8861,6 +8867,15 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
STORE 0 TO lnCodeLines
STORE NULL TO toModulo
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( .c_OutputFile, 'O', 'P1', 'E0', 'S1', 'X0' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
@@ -9662,6 +9677,15 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
STORE 0 TO lnCodError, lnCodeLines
STORE NULL TO toReport
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( .c_OutputFile, 'O', 'P1', 'E0', 'S1', 'X0' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
@@ -10101,6 +10125,15 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
STORE 0 TO lnCodError, lnCodeLines
WITH THIS AS c_conversor_prg_a_dbf OF 'FOXBIN2PRG.PRG'
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( .c_OutputFile, 'O', 'P1', 'E0', 'S1', 'X0' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
@@ -10408,6 +10441,11 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
loLang = _SCREEN.o_FoxBin2Prg_Lang
toDatabase = CREATEOBJECT('CL_DBC')
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( .c_OutputFile, 'O', 'P1', 'E0', 'S1', 'X0' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF toFoxBin2Prg.n_UseClassPerFile > 0 AND toFoxBin2Prg.l_RedirectClassPerFileToMain
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
@@ -10434,8 +10472,8 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
*-- Busco "storedprocedures" y le pongo "z" al inicio
FOR I = 1 TO lnFileCount
IF LOWER( laFiles(I,1)) == lcBaseFilename + '.storedprocedures.sp.' + JUSTEXT(.c_InputFile) THEN
laFiles(I,1) = lcBaseFilename + '.zstoredprocedures.sp.' + JUSTEXT(.c_InputFile)
IF LOWER( laFiles(I,1)) == lcBaseFilename + '.database.storedproceduressource.' + JUSTEXT(.c_InputFile) THEN
laFiles(I,1) = lcBaseFilename + '.zdatabase.storedproceduressource.' + JUSTEXT(.c_InputFile)
EXIT
ENDIF
ENDFOR
@@ -10444,8 +10482,8 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
*-- Busco "zstoredprocedures" y le quito la "z" del inicio
FOR I = 1 TO lnFileCount
IF LOWER( laFiles(I,1)) == lcBaseFilename + '.zstoredprocedures.sp.' + JUSTEXT(.c_InputFile) THEN
laFiles(I,1) = lcBaseFilename + '.storedprocedures.sp.' + JUSTEXT(.c_InputFile)
IF LOWER( laFiles(I,1)) == lcBaseFilename + '.zdatabase.storedproceduressource.' + JUSTEXT(.c_InputFile) THEN
laFiles(I,1) = lcBaseFilename + '.database.storedproceduressource.' + JUSTEXT(.c_InputFile)
EXIT
ENDIF
ENDFOR
@@ -10455,6 +10493,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
lcMemberType = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) )
lcMemberName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 3, '.' ) )
IF toFoxBin2Prg.l_ProcessFiles THEN
IF NOT lcMemberType == lcLastMemberType THEN
IF NOT EMPTY(lcLastMemberType) THEN
*-- Cambio de tipo de miembro, fin del anterior (connection, table, view, storedprocedures)
@@ -10465,7 +10504,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
C_FB2PRG_CODE = C_FB2PRG_CODE + C_TAB + C_TABLES_F + CR_LF
CASE lcLastMemberType == 'view'
C_FB2PRG_CODE = C_FB2PRG_CODE + C_TAB + C_VIEWS_F + CR_LF
CASE lcLastMemberType == 'storedprocedures'
CASE lcLastMemberType == 'database'
*C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + CR_LF
ENDCASE
ENDIF
@@ -10478,10 +10517,11 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + CR_LF + C_TAB + C_TABLES_I + CR_LF
CASE lcMemberType == 'view'
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + CR_LF + C_TAB + C_VIEWS_I + CR_LF
CASE lcMemberType == 'storedprocedures'
CASE lcMemberType == 'database'
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + CR_LF
ENDCASE
ENDIF
ENDIF
*-- Verificaci<63>n de los Miembros, si son Externos y se indic<69> chequearlos
IF toFoxBin2Prg.l_ClassPerFileCheck AND ASCAN( toDatabase._ExternalClasses, lcMemberType + '.' + lcMemberName, 1, 0, 1, 1+2+4 ) = 0
@@ -10490,13 +10530,14 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
LOOP && Salteo este miembro porque no concuerda con los anotados
ENDIF
.writeLog( C_TAB + '+ ' + loLang.C_INCLUDING_CLASS_LOC + ' ' + JUSTFNAME( lcInputFile_Class ) )
.writeLog( C_TAB + '+ ' + loLang.C_INCLUDING_MEMBER_LOC + ' ' + JUSTFNAME( lcInputFile_Class ) )
*-- addProcessedFile( tcInputFile, tcProcessed, tcHasErrors, tcSupported, tcReserved )
IF toFoxBin2Prg.addProcessedFile( lcInputFile_Class, 'P2', 'E0', 'S1', 'RR' ) THEN
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( lcInputFile_Class, 'I', 'P1', 'E0', 'S1', 'X1' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF toFoxBin2Prg.l_ProcessFiles THEN
toFoxBin2Prg.normalizarCapitalizacionArchivos( .T., lcInputFile_Class )
lcTempTxt = FILETOSTR( lcInputFile_Class )
@@ -10505,8 +10546,13 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
ENDFOR
lcLastMemberType = lcMemberType
ENDIF
ENDFOR
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
IF NOT EMPTY(lcLastMemberType) THEN
*-- Cambio de tipo de miembro, fin del anterior (connection, table, view, storedprocedures)
DO CASE
@@ -10516,7 +10562,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
C_FB2PRG_CODE = C_FB2PRG_CODE + C_TAB + C_TABLES_F + CR_LF
CASE lcLastMemberType == 'view'
C_FB2PRG_CODE = C_FB2PRG_CODE + C_TAB + C_VIEWS_F + CR_LF
CASE lcLastMemberType == 'storedprocedures'
CASE lcLastMemberType == 'database'
*C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + CR_LF
ENDCASE
ENDIF
@@ -10528,6 +10574,10 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
ELSE
*-- No es clase por archivo, o no se quiere redireccionar a Main.
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
@@ -10809,7 +10859,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
IF lnItem = 0 THEN
lcClaseExterna = FORCEPATH( JUSTSTEM(toFoxBin2Prg.c_InputFile) + '.' + toDatabase._ExternalClasses(I,1) + '.' + JUSTEXT(toFoxBin2Prg.c_InputFile), JUSTPATH(toFoxBin2Prg.c_InputFile) )
*ERROR 'No se ha encontrado la clase externa [' + toDatabase._ExternalClasses(I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']'
ERROR ( loLang.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC + ' [' + lcClaseExterna + ']' )
ERROR ( loLang.C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC + ' [' + lcClaseExterna + ']' )
ENDIF
toDatabase._Members(lnItem,2) = .T. && Checked
@@ -10858,6 +10908,15 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin
STORE '' TO lcLine
WITH THIS AS c_conversor_prg_a_mnx OF 'FOXBIN2PRG.PRG'
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( .c_OutputFile, 'O', 'P1', 'E0', 'S1', 'X0' ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
@@ -12734,6 +12793,19 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
LOCAL lcExpanded
lcExpanded = IIF( '.' $ JUSTFNAME(tcOutputFile), 'X1', 'X0' )
*-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded )
IF toFoxBin2Prg.addProcessedFile( tcOutputFile, 'O', 'P1', 'E0', 'S1', lcExpanded ) THEN
toFoxBin2Prg.updateProcessedFile()
ENDIF
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
EXIT && Si se indic<69> no procesar, salgo del proceso. (Modo de simulaci<63>n)
ENDIF
LOCAL llFileExists, lnBytes, lcOutputFile
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
loLang = _SCREEN.o_FoxBin2Prg_Lang
@@ -12761,6 +12833,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
ENDIF
toFoxBin2Prg.normalizarCapitalizacionArchivos( .F., tcOutputFile )
ENDTRY
ENDPROC
@@ -12928,8 +13001,13 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
lcObjName = ALLTRIM( loRegClass.OBJNAME )
laClasses(lnClassCount,1) = LOWER( lcObjName )
laClasses(lnClassCount,2) = ''
laClasses(lnClassCount,3) = loRegClass.BASECLASS
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
LOOP && Si se indic<69> no procesar, salteo el resto del proceso. (Modo de simulaci<63>n)
ENDIF
lnStep = lnStep + 1
.AvanceDelProceso( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 )
@@ -13086,16 +13164,16 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
*-- Genero el VC2
lnStep = lnStep + 1
.AvanceDelProceso( 'Writing VC2...', lnStep, lnClassTotal*lnStepCount, 1 )
lcOutputFile = .c_OutputFile
.AvanceDelProceso( 'Writing VC2...', lnStep, lnClassTotal*lnStepCount, 1 )
lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + lcExternalHeader + C_FB2PRG_CODE
IF .l_Test
FOR I = 1 TO lnClassCount
lcCodigo = lcCodigo + laClasses(I,2)
ENDFOR
toModulo = lcCodigo
*FOR I = 1 TO lnClassCount
* lcCodigo = lcCodigo + laClasses(I,2)
*ENDFOR
*toModulo = lcCodigo
ELSE
DO CASE
CASE toFoxBin2Prg.n_UseClassPerFile = 1 && LibName.ClassName.SC2
@@ -13263,8 +13341,13 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
lcObjName = ALLTRIM(loRegClass.OBJNAME)
laClasses(lnClassCount,1) = LOWER( lcObjName )
laClasses(lnClassCount,2) = ''
laClasses(lnClassCount,3) = loRegClass.BASECLASS
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
LOOP && Si se indic<69> no procesar, salteo el resto del proceso. (Modo de simulaci<63>n)
ENDIF
lnStep = lnStep + 1
.AvanceDelProceso( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 )
@@ -13423,16 +13506,16 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
*-- Genero el SC2
lnStep = lnStep + 1
.AvanceDelProceso( 'Writing SC2...', lnStep, lnClassTotal*lnStepCount, 1 )
lcOutputFile = .c_OutputFile
.AvanceDelProceso( 'Writing SC2...', lnStep, lnClassTotal*lnStepCount, 1 )
lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + lcExternalHeader + C_FB2PRG_CODE
IF .l_Test
FOR I = 1 TO lnClassCount
lcCodigo = lcCodigo + laClasses(I,2)
ENDFOR
toModulo = lcCodigo
*FOR I = 1 TO lnClassCount
* lcCodigo = lcCodigo + laClasses(I,2)
*ENDFOR
*toModulo = lcCodigo
ELSE
DO CASE
CASE toFoxBin2Prg.n_UseClassPerFile = 1 && LibName.ClassName.SC2
@@ -13521,6 +13604,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
STORE NULL TO loProject, loReg, loServerHead, loServerData
WITH THIS AS c_conversor_pjx_a_prg OF 'FOXBIN2PRG.PRG'
IF toFoxBin2Prg.l_ProcessFiles THEN
USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG
SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN
USE IN (SELECT("_TABLAORIG"))
@@ -13790,9 +13874,12 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
RETURN
ENDTEXT
ENDIF
*-- Genero el PJ2
.AvanceDelProceso( 'Writing PJ2...', 2, 2, 1 )
IF .l_Test
toModulo = C_FB2PRG_CODE
ELSE
@@ -13857,12 +13944,14 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
TRY
IF toFoxBin2Prg.l_ProcessFiles THEN
LOCAL lnCodError, lcStr, lnPos, lnLen, lnServerCount, loReg, lcDevInfo, lnLen ;
, lcStrPJM, laLines(1), laProps(1) ;
, loEx AS EXCEPTION ;
, loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' ;
, loServerHead AS CL_PROJ_SRV_HEAD OF 'FOXBIN2PRG.PRG' ;
, loServerData AS CL_PROJ_SRV_DATA OF 'FOXBIN2PRG.PRG'
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
loLang = _SCREEN.o_FoxBin2Prg_Lang
STORE NULL TO loProject, loReg, loServerHead, loServerData
@@ -14175,15 +14264,17 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg
RETURN
ENDTEXT
ENDWITH && THIS
ENDIF
*-- Genero el PJ2
.AvanceDelProceso( 'Writing PJ2...', 2, 2, 1 )
IF .l_Test
THIS.AvanceDelProceso( 'Writing PJ2...', 2, 2, 1 )
IF THIS.l_Test
toModulo = C_FB2PRG_CODE
ELSE
.write_OutputFile( (C_FB2PRG_CODE), .c_OutputFile, @toFoxBin2Prg )
THIS.write_OutputFile( (C_FB2PRG_CODE), THIS.c_OutputFile, @toFoxBin2Prg )
ENDIF
ENDWITH && THIS
CATCH TO toEx
@@ -14252,6 +14343,8 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
TRY
WITH THIS AS c_conversor_pjm_a_prg OF 'FOXBIN2PRG.PRG'
IF toFoxBin2Prg.l_ProcessFiles THEN
LOCAL lnCodError, loRegCab, loRegDataEnv, loRegCur, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen ;
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
@@ -14260,7 +14353,6 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
STORE NULL TO loRegObj, loRegCab, loRegDataEnv, loRegCur
WITH THIS AS c_conversor_pjm_a_prg OF 'FOXBIN2PRG.PRG'
USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG
THIS.AvanceDelProceso( 'Scanning FRX...', 1, 2, 1 )
@@ -14363,10 +14455,11 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
.write_TXT_REPORTE( @loRegCur )
ENDSCAN
ENDIF
*-- Genero el FR2
.AvanceDelProceso( 'Writing FR2...', 2, 2, 1 )
IF .l_Test
toModulo = C_FB2PRG_CODE
ELSE
@@ -14422,6 +14515,12 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
TRY
WITH THIS AS c_conversor_dbf_a_prg OF 'FOXBIN2PRG.PRG'
IF NOT toFoxBin2Prg.l_ProcessFiles THEN
.write_OutputFile( '', .c_OutputFile, @toFoxBin2Prg )
EXIT && Si se indic<69> no procesar, se sale aqu<71>. (Modo de simulaci<63>n)
ENDIF
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1), lnLen, lc_FileTypeDesc, laLines(1), lcOutputFile ;
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, lnDataSessionID, lnSelect ;
, loTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG' ;
@@ -14432,7 +14531,6 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
STORE 0 TO lnCodError
loDBFUtils = CREATEOBJECT('CL_DBF_UTILS')
WITH THIS AS c_conversor_dbf_a_prg OF 'FOXBIN2PRG.PRG'
*-- EVALUAR OPCIONES ESPEC<45>FICAS DE DBF
.AvanceDelProceso( 'Scanning DBF Structure...', 1, 3, 1 )
@@ -14596,6 +14694,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
#ENDIF
TRY
WITH THIS AS c_conversor_dbc_a_prg OF 'FOXBIN2PRG.PRG'
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, lcEventsFile, lcExternalHeader, lcCodigo ;
, lnClassCount, laClasses(1,3) ;
, loConnection AS CL_DBC_CONNECTION OF 'FOXBIN2PRG.PRG' ;
@@ -14606,9 +14705,10 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
STORE 0 TO lnCodError, lnDatabases_Count, lnClassCount
STORE '' TO laDatabases, lcEventsFile, lcExternalHeader, laClasses, lcCodigo, C_FB2PRG_CODE
WITH THIS AS c_conversor_dbc_a_prg OF 'FOXBIN2PRG.PRG'
lnDatabases_Count = ADATABASES(laDatabases)
USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
IF toFoxBin2Prg.l_ProcessFiles THEN
toDatabase = CREATEOBJECT('CL_DBC')
toDatabase._DBC = .c_InputFile
toDatabase.read_DBC_Header()
@@ -14677,19 +14777,33 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
IF NOT EMPTY(toDatabase._StoredProcedures) THEN
lnClassCount = lnClassCount + 1
DIMENSION laClasses(lnClassCount,3)
laClasses(lnClassCount,1) = LOWER( 'sp' )
laClasses(lnClassCount,1) = LOWER( 'storedproceduressource' )
laClasses(lnClassCount,2) = toDatabase._StoredProcedures
laClasses(lnClassCount,3) = 'storedprocedures'
laClasses(lnClassCount,3) = 'database'
.write_EXTERNAL_MEMBER_HEADER( @toFoxBin2Prg, laClasses(lnClassCount,1), laClasses(lnClassCount,3), @lcExternalHeader )
ENDIF
lcExternalHeader = lcExternalHeader + CR_LF
ENDIF
ELSE
*-- No procesar, solo reportar
_TALLY = 0
SELECT LOWER(TB.ObjectName), '', LOWER(TB.ObjectType) ;
FROM TABLABIN TB ;
WHERE TB.ParentId = 1 AND ( TB.ObjectType IN (PADR('View',10), PADR('Table',10), PADR('Connection',10) ) ;
OR TB.ObjectType = PADR('Database',10) AND TB.ObjectName = PADR('StoredProceduresSource',128) AND NOT EMPTY(TB.Code) ) ;
INTO ARRAY laClasses
lnClassCount = _TALLY
ENDIF
*-- Genero el DC2
.AvanceDelProceso( 'Writing DC2...', 2, 2, 1 )
lcOutputFile = .c_OutputFile
IF toFoxBin2Prg.l_ProcessFiles THEN
.AvanceDelProceso( 'Writing DC2...', 2, 2, 1 )
lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + lcExternalHeader + C_FB2PRG_CODE
ENDIF
IF .l_Test
*FOR I = 1 TO lnClassCount
@@ -14766,12 +14880,13 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
#ENDIF
TRY
WITH THIS AS c_conversor_mnx_a_prg OF 'FOXBIN2PRG.PRG'
IF toFoxBin2Prg.l_ProcessFiles THEN
LOCAL lnCodError, lnLen
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
loLang = _SCREEN.o_FoxBin2Prg_Lang
STORE 0 TO lnCodError
WITH THIS AS c_conversor_mnx_a_prg OF 'FOXBIN2PRG.PRG'
USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG
SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN
USE IN (SELECT("_TABLAORIG"))
@@ -14789,10 +14904,14 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
toMenu = CREATEOBJECT('CL_MENU')
toMenu.get_DataFromTablabin()
C_FB2PRG_CODE = C_FB2PRG_CODE + toMenu.toText()
ENDIF
*-- Genero el MN2
IF toFoxBin2Prg.l_ProcessFiles THEN
.AvanceDelProceso( 'Writing MN2...', 2, 2, 1 )
ENDIF
IF .l_Test
toMenu = C_FB2PRG_CODE
ELSE
@@ -16882,7 +17001,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
CASE C_STORED_PROC_I $ tcLine
.analizarBloque_SP( @tcLine, @taCodeLines, @I, tnCodeLines )
.add_DBCMember('storedprocedures.sp')
.add_DBCMember('database.storedproceduressource')
CASE '<Comment>' $ tcLine
.analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines )
@@ -24388,6 +24507,7 @@ DEFINE CLASS CL_LANG AS Custom
C_EXTENSION_RECONFIGURATION_LOC = ""
C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = ""
C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = ""
C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = ""
C_EXTERNAL_PARAMETERS_LOC = ""
C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = ""
C_FILE_DOESNT_EXIST_LOC = ""
@@ -24402,6 +24522,7 @@ DEFINE CLASS CL_LANG AS Custom
C_GENERATED_FILE_SIZE_LOC = ""
C_GENERATING_BINARY_LOC = ""
C_INCLUDING_CLASS_LOC = ""
C_INCLUDING_MEMBER_LOC = ""
C_INCORRECT_VFP9_VERSION__MISSING_SP1_LOC = ""
C_INTERACTIVE_DIRECTORY_SELECTION_LOC = ""
C_IS_A_FILE_LOC = ""
@@ -24534,6 +24655,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:"
.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "Nombre de classe externe (<<toModulo._ExternalClasses_Count>>) ne correspond pas classes trouv<75>es (<<toModulo._Clases_Count>>) pour le fichier [<<toFoxBin2Prg.c_InputFile>>]"
.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "Aucune classe externe est trouv<75>"
.C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = "Nom de membre externe n'a pas <20>t<EFBFBD> trouv<75>"
.C_EXTERNAL_PARAMETERS_LOC = "PARAM<41>TRES EXTERNES"
.C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Champ [<< laProps (I) >>] ne trouve pas dans la structure du fichier DBF <<('TABLABIN')>>"
.C_FILE_DOESNT_EXIST_LOC = "Fichier ne existe pas:"
@@ -24551,7 +24673,8 @@ DEFINE CLASS CL_LANG AS Custom
.C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: AVERTISSEMENT!"
.C_GENERATED_FILE_SIZE_LOC = "Taille du fichier g<>n<EFBFBD>r<EFBFBD>"
.C_GENERATING_BINARY_LOC = "G<>n<EFBFBD>ration Binaire"
.C_INCLUDING_CLASS_LOC = "Including class"
.C_INCLUDING_CLASS_LOC = "classe, y compris"
.C_INCLUDING_MEMBER_LOC = "membres, y compris"
.C_INCORRECT_VFP9_VERSION__MISSING_SP1_LOC = "SourceSafe Compatibilit<69> ModeIncorrect VFP 9 Version - SP1 manquant! Pr<50>vue: 3504 ou plus tard, r<>elle: " + VERSION(4)
.C_INTERACTIVE_DIRECTORY_SELECTION_LOC = "S<>lection r<>pertoire interactive"
.C_IS_A_FILE_LOC = "est un FICHIER"
@@ -24620,6 +24743,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_EXTENSION_RECONFIGURATION_LOC = "Reconfiguraci<63>n de extensi<73>n:"
.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "El conteo de clases externas (<<toModulo._ExternalClasses_Count>>) no coincide con la cantidad encontrada (<<toModulo._Clases_Count>>) para el archivo [<<toFoxBin2Prg.c_InputFile>>]"
.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "No se encontr<74> la clase externa"
.C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = "No se encontr<74> el miembro externo"
.C_EXTERNAL_PARAMETERS_LOC = "PAR<41>METROS EXTERNOS"
.C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "No se encontr<74> el campo [<<laProps(I)>>] en la estructura del archivo <<DBF('TABLABIN')>>"
.C_FILE_DOESNT_EXIST_LOC = "El archivo no existe:"
@@ -24639,6 +24763,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_GENERATING_BINARY_LOC = "Generando Binario"
.C_MENU_NOT_IN_VFP9_FORMAT_LOC = "El Men<65> [<<THIS.c_InputFile>>] NO est<73> en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY MENU '<<THIS.c_InputFile>>'"
.C_INCLUDING_CLASS_LOC = "Incluyendo clase"
.C_INCLUDING_MEMBER_LOC = "Incluyendo miembro"
.C_INCORRECT_VFP9_VERSION__MISSING_SP1_LOC = "Versi<73>n Incorrecta de VFP 9 - Falta el SP1! Esperado: 3504 o posterior, actual: " + VERSION(4)
.C_INTERACTIVE_DIRECTORY_SELECTION_LOC = "Selecci<63>n Interactiva de Directorio"
.C_IS_A_FILE_LOC = "es un ARCHIVO"
@@ -24706,6 +24831,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_EXTENSION_RECONFIGURATION_LOC = "Nneukonfiguration der Erweiterungen:" &&wir wollen es mal nicht <20>bertreiben, mit den zusammengesetzten Substantiven
.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "Die Anzahl externee Klassen (<< toModulo._ExternalClasses_Count >>) entspricht nicht der der gefunden Klassen (<< toModulo._Clases_Count >>), Datei: [<< toFoxBin2Prg.c_InputFile >>]"
.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "Keine externe Klasse gefunden"
.C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = "Externe Mitglied wurde nicht gefunden"
.C_EXTERNAL_PARAMETERS_LOC = "EXTERNE PARAMETER"
.C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Feld [<<laProps(I)>>] nicht in der Struktur von Datei <<DBF('TABLABIN')>> gefunden"
.C_FILE_DOESNT_EXIST_LOC = "Datei existiert nicht:"
@@ -24724,6 +24850,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_GENERATED_FILE_SIZE_LOC = "Generierte Dateigr<67><72>e"
.C_GENERATING_BINARY_LOC = "Gene Binary"
.C_INCLUDING_CLASS_LOC = "einschlie<69>lich Klasse"
.C_INCLUDING_MEMBER_LOC = "inklusive Mitglied"
.C_INCORRECT_VFP9_VERSION__MISSING_SP1_LOC = "Source Kompatibilit<69>t ModeIncorrect VFP 9 Version - Fehlende SP1! Erwartet: 3504 oder sp<73>ter, aktuell:" + VERSION(4)
.C_INTERACTIVE_DIRECTORY_SELECTION_LOC = "Ausw<73>hlen interaktive Verzeichnis"
.C_IS_A_FILE_LOC = "ist eine DATEI"
@@ -24792,6 +24919,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:"
.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "External class count (<<toModulo._ExternalClasses_Count>>) does not match found classes (<<toModulo._Clases_Count>>) for file [<<toFoxBin2Prg.c_InputFile>>]"
.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "External class was not found"
.C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = "External member name was not found"
.C_EXTERNAL_PARAMETERS_LOC = "EXTERNAL PARAMETERS"
.C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Field [<<laProps(I)>>] not found in structure of file <<DBF('TABLABIN')>>"
.C_FILE_DOESNT_EXIST_LOC = "File does not exist:"
@@ -24810,6 +24938,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_GENERATED_FILE_SIZE_LOC = "Generated file size"
.C_GENERATING_BINARY_LOC = "Generating Binary"
.C_INCLUDING_CLASS_LOC = "Including class"
.C_INCLUDING_MEMBER_LOC = "Including member"
.C_INCORRECT_VFP9_VERSION__MISSING_SP1_LOC = "Incorrect VFP 9 version - Missing SP1! Expected: 3504 or later, actual: " + VERSION(4)
.C_INTERACTIVE_DIRECTORY_SELECTION_LOC = "Interactive Directory Selection"
.C_IS_A_FILE_LOC = "is a FILE"