Changeset: 16 Changeset: 16 Arreglo bug "Name", barra de progreso, agregado mensaje de ayuda si se llama sin parámetros, verificación y logueo de archivos READONLY con debug activa

This commit is contained in:
fernando
2013-12-03 00:50:51 +01:00
parent d6a12c4eb9
commit b4226089e3

View File

@@ -3,10 +3,13 @@
* Autor..........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com) * Autor..........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com)
* Fecha creaci<63>n.: 04/11/2013 * Fecha creaci<63>n.: 04/11/2013
* *
* LICENCIA: Reconocimiento <20> CompartirIgual (by-sa): * LICENCIA:
* Se permite el uso comercial de la obra y de las posibles obras derivadas, la distribuci<63>n de las cuales * Esta obra est<73> sujeta a la licencia Reconocimiento-CompartirIgual 4.0 Internacional de Creative Commons.
* se debe hacer con una licencia igual a la que regula la obra original. * Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_ES.
* (http://es.creativecommons.org/blog/licencias/) *
* LICENCE:
* This work is licensed under the Creative Commons Attribution 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.
* *
*--------------------------------------------------------------------------------------------------- *---------------------------------------------------------------------------------------------------
* DESCRIPCI<43>N....: CONVIERTE EL ARCHIVO VCX/SCX/PJX INDICADO A UN "PRG H<>BRIDO" PARA POSTERIOR RECONVERSI<53>N. * DESCRIPCI<43>N....: CONVIERTE EL ARCHIVO VCX/SCX/PJX INDICADO A UN "PRG H<>BRIDO" PARA POSTERIOR RECONVERSI<53>N.
@@ -41,7 +44,7 @@
* 27/11/2013 FDBOZZO v1.4 Agregado soporte comodines *.VCX, configuraci<63>n de extensiones (vca), par<61>metro p/log * 27/11/2013 FDBOZZO v1.4 Agregado soporte comodines *.VCX, configuraci<63>n de extensiones (vca), par<61>metro p/log
* 27/11/2013 FDBOZZO v1.5 Arreglo bug que no generaba form completo * 27/11/2013 FDBOZZO v1.5 Arreglo bug que no generaba form completo
* 01/12/2013 FDBOZZO v1.6 Refactorizaci<63>n completa generaci<63>n BIN y PRG, cambio de algoritmos, arreglo de bugs, Unit Testing con FoxUnit * 01/12/2013 FDBOZZO v1.6 Refactorizaci<63>n completa generaci<63>n BIN y PRG, cambio de algoritmos, arreglo de bugs, Unit Testing con FoxUnit
* 02/12/2013 FDBOZZO v1.7 Arreglo bug "Name", agregado mensaje de ayuda si se llama sin par<61>metros, verificaci<63>n y logueo de archivos READONLY con debug activa * 02/12/2013 FDBOZZO v1.7 Arreglo bug "Name", barra de progreso, agregado mensaje de ayuda si se llama sin par<61>metros, verificaci<63>n y logueo de archivos READONLY con debug activa
* *
*--------------------------------------------------------------------------------------------------- *---------------------------------------------------------------------------------------------------
* TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS) * TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)
@@ -63,10 +66,11 @@
* tlGenText_na ( ) Por ahora se mantiene por compatibilidad con SCCTEXT.PRG * tlGenText_na ( ) Por ahora se mantiene por 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
* *
* Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX" * Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX"
*--------------------------------------------------------------------------------------------------- *---------------------------------------------------------------------------------------------------
LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErrors, tcDebug LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErrors, tcDebug, tcDontShowProgress
*-- Internacionalizaci<63>n / Internationalization *-- Internacionalizaci<63>n / Internationalization
*-- Fin / End *-- Fin / End
@@ -150,8 +154,13 @@ LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErro
#DEFINE SERVERINSTANCE_MULTIUSE 3 && Multi-use server #DEFINE SERVERINSTANCE_MULTIUSE 3 && Multi-use server
*-- Fin / End *-- Fin / End
LOCAL lcSys16, I, lcPath, lnResp, lcFileSpec, lcFile, laFiles(1,5), laConfig(1), lcConfigFile, lcExt, llExisteConfig ; TRY
, loCnv AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' LOCAL lcSys16, I, lcPath, lnResp, lcFileSpec, lcFile, laFiles(1,5), laConfig(1), lcConfigFile, lcExt ;
, llExisteConfig, llShowProgress, lcConfData, lnFileCount ;
, loEx as Exception
PUBLIC goFrm_Avance AS frm_avance OF 'FOXBIN2PRG.PRG' ;
, goCnv AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
lnResp = 0 lnResp = 0
SET DELETED ON SET DELETED ON
@@ -178,10 +187,14 @@ ELSE
lcPath = SET("Path") lcPath = SET("Path")
*SET PATH TO (JUSTPATH(lcSys16)) *SET PATH TO (JUSTPATH(lcSys16))
SET PATH TO SET PATH TO
loCnv = CREATEOBJECT("c_foxbin2prg") llShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
loCnv.l_Debug = (TRANSFORM(tcDebug)=='1') goCnv = CREATEOBJECT("c_foxbin2prg")
loCnv.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1') goCnv.l_Debug = (TRANSFORM(tcDebug)=='1')
goCnv.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
IF llShowProgress
goFrm_Avance = CREATEOBJECT("frm_avance")
ENDIF
*-- Configuraci<63>n *-- Configuraci<63>n
lcConfigFile = FORCEEXT( lcSys16, 'CFG' ) lcConfigFile = FORCEEXT( lcSys16, 'CFG' )
@@ -189,9 +202,12 @@ ELSE
IF llExisteConfig IF llExisteConfig
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 ) FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 )
lcExt = 'c_' + ALLTRIM( GETWORDNUM( laConfig(I), 1, '=' ) ) IF LOWER( LEFT( laConfig(I), 10 ) ) == 'extension:'
IF PEMSTATUS( loCnv, lcExt, 5 ) lcConfData = ALLTRIM( SUBSTR( laConfig(I), 11 ) )
loCnv.ADDPROPERTY( lcExt, UPPER( ALLTRIM( GETWORDNUM( laConfig(I), 2, '=' ) ) ) ) lcExt = 'c_' + ALLTRIM( GETWORDNUM( lcConfData, 1, '=' ) )
IF PEMSTATUS( goCnv, lcExt, 5 )
goCnv.ADDPROPERTY( lcExt, UPPER( ALLTRIM( GETWORDNUM( lcConfData, 2, '=' ) ) ) )
ENDIF
ENDIF ENDIF
ENDFOR ENDFOR
ENDIF ENDIF
@@ -207,23 +223,35 @@ ELSE
*-- Se quieren todos los archivos de una extensi<73>n *-- Se quieren todos los archivos de una extensi<73>n
lcFileSpec = FULLPATH( tc_InputFile ) lcFileSpec = FULLPATH( tc_InputFile )
CD (JUSTPATH(lcFileSpec)) CD (JUSTPATH(lcFileSpec))
loCnv.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG' goCnv.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
IF loCnv.l_Debug IF goCnv.l_Debug
IF FILE( loCnv.c_LogFile ) IF FILE( goCnv.c_LogFile )
ERASE ( loCnv.c_LogFile ) ERASE ( goCnv.c_LogFile )
ENDIF ENDIF
loCnv.writeLog( lcSys16 + ' - FileSpec: ' + EVL(tc_InputFile,'') ) goCnv.writeLog( lcSys16 + ' - FileSpec: ' + EVL(tc_InputFile,'') )
IF llExisteConfig IF llExisteConfig
loCnv.writeLog( 'ConfigFile: ' + lcConfigFile ) goCnv.writeLog( 'ConfigFile: ' + lcConfigFile )
ENDIF ENDIF
ENDIF ENDIF
FOR I = 1 TO ADIR( laFiles, lcFileSpec ) lnFileCount = ADIR( laFiles, lcFileSpec )
IF llShowProgress
goFrm_Avance.nMAX_VALUE = lnFileCount
ENDIF
FOR I = 1 TO lnFileCount
lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) ) lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) )
goFrm_Avance.lbl_TAREA.Caption = 'Procesando archivo ' + lcFile + '...'
goFrm_Avance.nVALUE = I
IF llShowProgress
goFrm_Avance.Show()
ENDIF
IF FILE( lcFile ) IF FILE( lcFile )
lnResp = loCnv.Convertir( lcFile ) lnResp = goCnv.Convertir( lcFile )
ENDIF ENDIF
ENDFOR ENDFOR
@@ -231,16 +259,16 @@ ELSE
*-- Un archivo individual *-- Un archivo individual
IF FILE(tc_InputFile) IF FILE(tc_InputFile)
CD (JUSTPATH(tc_InputFile)) CD (JUSTPATH(tc_InputFile))
loCnv.c_LogFile = tc_InputFile + '.LOG' goCnv.c_LogFile = tc_InputFile + '.LOG'
IF loCnv.l_Debug IF goCnv.l_Debug
IF FILE( loCnv.c_LogFile ) IF FILE( goCnv.c_LogFile )
ERASE ( loCnv.c_LogFile ) ERASE ( goCnv.c_LogFile )
ENDIF ENDIF
loCnv.writeLog( lcSys16 + ' - FileSpec: ' + EVL(tc_InputFile,'') ) goCnv.writeLog( lcSys16 + ' - FileSpec: ' + EVL(tc_InputFile,'') )
ENDIF ENDIF
lnResp = loCnv.Convertir( tc_InputFile ) lnResp = goCnv.Convertir( tc_InputFile )
ENDIF ENDIF
ENDCASE ENDCASE
@@ -248,6 +276,15 @@ ELSE
SET PATH TO (lcPath) SET PATH TO (lcPath)
ENDIF ENDIF
CATCH TO loEx
FINALLY
goFrm_Avance.Hide()
goFrm_Avance.Release()
STORE NULL TO goCnv, goFrm_Avance
RELEASE goCnv, goFrm_Avance
ENDTRY
IF _VFP.STARTMODE > 0 IF _VFP.STARTMODE > 0
QUIT QUIT
ENDIF ENDIF
@@ -435,6 +472,70 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDDEFINE ENDDEFINE
*******************************************************************************************************************
DEFINE CLASS frm_avance AS form
Height = 79
Width = 628
ShowWindow = 2
DoCreate = .T.
AutoCenter = .T.
BorderStyle = 2
Caption = "Avance del proceso"
ControlBox = .F.
BackColor = RGB(255,255,255)
nmax_value = 100
nvalue = 0
Name = "FRM_AVANCE"
ADD OBJECT shp_base AS shape WITH ;
Top = 40, ;
Left = 12, ;
Height = 21, ;
Width = 601, ;
Curvature = 15, ;
Name = "shp_base"
ADD OBJECT shp_avance AS shape WITH ;
Top = 40, ;
Left = 12, ;
Height = 21, ;
Width = 36, ;
Curvature = 15, ;
BackColor = RGB(255,255,128), ;
BorderColor = RGB(255,0,0), ;
Name = "shp_Avance"
ADD OBJECT lbl_tarea AS label WITH ;
BackStyle = 0, ;
Caption = ".", ;
Height = 17, ;
Left = 12, ;
Top = 20, ;
Width = 604, ;
Name = "lbl_Tarea"
PROCEDURE nvalue_assign
LPARAMETERS vNewVal
WITH THIS
.nvalue = m.vNewVal
.shp_Avance.Width = m.vNewVal * .shp_base.Width / .nMax_Value
ENDWITH
ENDPROC
PROCEDURE Init
THIS.nvalue = 0
ENDPROC
ENDDEFINE
******************************************************************************************************************* *******************************************************************************************************************
DEFINE CLASS c_conversor_base AS SESSION DEFINE CLASS c_conversor_base AS SESSION
#IF .F. #IF .F.