From 8d6f49d35da00685dfdc5355dc6fedfe327f1f41 Mon Sep 17 00:00:00 2001 From: fernando Date: Thu, 26 Dec 2013 19:24:34 +0100 Subject: [PATCH] =?UTF-8?q?Changeset:=20111=20-=20Optimizaciones=20para=20?= =?UTF-8?q?el=20log=20-=20Arreglo=20borrado=20TABLABIN.CDX=20-=20Agregado?= =?UTF-8?q?=20del=20PJ2=20-=20Enganchada=20la=20normalizaci=C3=B3n=20de=20?= =?UTF-8?q?nombres=20de=20archivo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.pj2 | 86 ++++++++++++++++++++++++++ foxbin2prg.pjt | Bin 272910 -> 275715 bytes foxbin2prg.pjx | Bin 1582 -> 1582 bytes foxbin2prg.prg | 163 +++++++++++++++++++++++++++++++++++++++---------- 4 files changed, 217 insertions(+), 32 deletions(-) create mode 100644 foxbin2prg.pj2 diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 new file mode 100644 index 0000000..e448b63 --- /dev/null +++ b/foxbin2prg.pj2 @@ -0,0 +1,86 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.16" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2013/12/26 19:21:19" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +LPARAMETERS tcDir + +lcCurdir = SYS(5)+CURDIR() +CD ( EVL( tcDir, JUSTPATH( SYS(16) ) ) ) + +* +_Autor = "Fernando D. Bozzo" +_Company = "" +_Address = "" +_City = "Coslada" +_State = "MAD" +_PostalCode = "28823" +_Country = "Spain" +*-- +_Comments = "Conversor bidireccional de binarios FoxPro 9 (scx,vcx,pjx) a texto para sustituir al scctext :-)" +_CompanyName = "Fernando D. Bozzo" +_FileDescription = "Conversor bidireccional de binarios FoxPro 9 (scx,vcx,pjx) a texto para sustituir al scctext :-)" +_LegalCopyright = "Open Source - LICENCIA Creative Commons: Reconocimiento - CompartirIgual (by-sa): http://es.creativecommons.org/blog/licencias/" +_LegalTrademark = "Open Source" +_ProductName = " FOXBIN2PRG" +_MajorVer = "1" +_MinorVer = "16" +_Revision = " 127" +_LanguageID = "1034" +_AutoIncrement = "1" +* + + +* +FOR EACH loProj IN _VFP.Projects FOXOBJECT + loProj.Close() +ENDFOR + +STRTOFILE( '', '__newproject.f2b' ) +BUILD PROJECT foxbin2prg.pjx FROM '__newproject.f2b' +FOR EACH loProj IN _VFP.Projects FOXOBJECT + loProj.Close() +ENDFOR + +MODIFY PROJECT 'foxbin2prg.pjx' NOWAIT NOSHOW NOPROJECTHOOK + +loProject = _VFP.Projects('foxbin2prg.pjx') + +WITH loProject.FILES + .ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" /> + .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1134205420" ID="1130644423" ObjRev="544" /> + * + + .ITEM('__newproject.f2b').Remove() + + * + .ITEM(lcCurdir + 'foxbin2prg.prg').Description = 'Conversor' + * + + * + * + + * + .ITEM(lcCurdir + 'config\config.fpw').Type = 'T' + * +ENDWITH + +WITH loProject + * + .SetMain(lcCurdir + 'foxbin2prg.prg') + .Debug = .T. + .Encrypted = .F. + *<.CmntStyle = 1 /> + *<.NoLogo = .F. /> + *<.SaveCode = .T. /> + .ProjectHookLibrary = '' + .ProjectHookClass = '' + * +ENDWITH + + +_VFP.Projects('foxbin2prg.pjx').Close() +*ERASE '__newproject.f2b' +CD (lcCurdir) +RETURN \ No newline at end of file diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index 0aa6cc29f2d053479af6d388091933684d823421..f5e1a5017ba7cce413024bb86fc7becd7ef67515 100644 GIT binary patch delta 15186 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 W?Mc(qcl`Be%`0-E7e5oN3HpCwz*Im0 delta 12997 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 RGB7BZ7#o=zPR?RI0suFh4Z#2a delta 75 zcmZ3-vyO+wfR{&fBg=Lcc4G@eOEYuR$%j~~bs=mM1}Ja~QBZJG00L7JuvisHoRNV+ OLBY_-!gz8P>k$Au_6^7Y diff --git a/foxbin2prg.prg b/foxbin2prg.prg index f552519..d56f24b 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -279,7 +279,7 @@ IF _VFP.STARTMODE = 0 ENDIF *-- Muy útil para procesos batch que capturan el código de error -DECLARE ExitProcess in Win32API INTEGER ExitCode +DECLARE ExitProcess IN Win32API INTEGER ExitCode IF NOT EMPTY(lnResp) ExitProcess(1) ENDIF @@ -298,7 +298,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -317,13 +319,17 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; + [] ; + + [] ; + [] ; + + [] ; + [] + *-- n_FB2PRG_Version = 1.16 *-- @@ -331,7 +337,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM c_CurDir = '' c_InputFile = '' c_LogFile = '' + c_TextLog = '' c_OutputFile = '' + c_Type = '' lFileMode = .F. l_Debug = .F. l_Test = .F. @@ -370,10 +378,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM PROCEDURE DESTROY TRY LOCAL lcFileCDX - lcFileCDX = FORCEPATH( "TABLABIN.CDX", THIS.c_CurDir ) + lcFileCDX = FORCEPATH( "TABLABIN.CDX", JUSTPATH(THIS.c_InputFile) ) + IF FILE( lcFileCDX ) ERASE ( lcFileCDX ) ENDIF + + THIS.writeLog_Flush() CATCH ENDTRY @@ -403,7 +414,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM LOCAL I, lcPath, lnResp, lcFileSpec, lcFile, laFiles(1,5), laConfig(1), lcConfigFile, lcExt ; , llExisteConfig, lcConfData, lnFileCount ; , loEx AS EXCEPTION ; - , loFSO as Scripting.FileSystemObject + , loFSO AS Scripting.FileSystemObject lnResp = 0 @@ -462,7 +473,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM DO CASE CASE '*' $ JUSTEXT( tc_InputFile ) OR '?' $ JUSTEXT( tc_InputFile ) IF THIS.l_ShowErrors - MESSAGEBOX( ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, 'FOXBIN2PRG: ERROR!!', 10000 ) + MESSAGEBOX( ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, 'FOXBIN2PRG: ERROR!!', 60000 ) ELSE ERROR ASTERISK_EXT_NOT_ALLOWED_LOC ENDIF @@ -541,7 +552,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CD (JUSTPATH(THIS.c_CurDir)) *SET PATH TO (lcPath) ENDTRY - + RETURN lnResp ENDPROC @@ -560,9 +571,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM TRY LOCAL lnCodError, lcErrorInfo, laDirFile(1,5), lcExtension ; - , loFSO as Scripting.FileSystemObject + , loFSO AS Scripting.FileSystemObject lnCodError = 0 - + WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' loFSO = THIS.o_FSO .c_InputFile = FULLPATH( tc_InputFile ) @@ -586,7 +597,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CATCH ENDTRY ENDIF - + lcExtension = UPPER( JUSTEXT(.c_InputFile) ) DO CASE @@ -659,6 +670,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDCASE + .c_Type = UPPER(JUSTEXT(.c_OutputFile)) .o_Conversor.c_InputFile = .c_InputFile .o_Conversor.c_OutputFile = .c_OutputFile .o_Conversor.c_LogFile = .c_LogFile @@ -669,9 +681,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .o_Conversor.l_PropSort_Enabled = .l_PropSort_Enabled .o_Conversor.l_ReportSort_Enabled = .l_ReportSort_Enabled .o_Conversor.c_OriginalFileName = tcOriginalFileName + .o_Conversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath *-- .o_Conversor.Convertir( @toModulo ) - .o_Conversor = NULL + .c_TextLog = .c_TextLog + CR_LF + .o_Conversor.c_TextLog && Recojo el LOG que haya generado el conversor + .normalizarCapitalizacionArchivos() ENDWITH && THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' CATCH TO toEx @@ -690,15 +704,17 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM THIS.writeLog( lcErrorInfo ) ENDIF IF THIS.l_Debug AND THIS.l_ShowErrors - MESSAGEBOX( lcErrorInfo, 0+16+4096, 'FOXBIN2PRG: ERROR!!', 10000 ) + MESSAGEBOX( lcErrorInfo, 0+16+4096, 'FOXBIN2PRG: ERROR!!', 60000 ) ENDIF IF tlRelanzarError && Usado en Unit Testing THROW ENDIF FINALLY - loFSO = NULL - THIS.o_FSO = NULL + loFSO = NULL + THIS.o_FSO = NULL + THIS.o_Conversor = NULL + THIS.writeLog_Flush() ENDTRY @@ -706,15 +722,92 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDPROC + ******************************************************************************************************************* + PROCEDURE normalizarCapitalizacionArchivos + TRY + LOCAL lcPath, lcEXE_CAPS, lcOutputFile ; + , loFSO AS SCRIPTING.FileSystemObject + lcPath = JUSTPATH(THIS.c_Foxbin2prg_FullPath) + lcEXE_CAPS = FORCEPATH( 'filename_caps.exe', lcPath ) + loFSO = THIS.o_FSO + + IF FILE(lcEXE_CAPS) + THIS.writeLog( '* Se ha encontrado el programa de capitalización de nombres [' + lcEXE_CAPS + ']' ) + ELSE + *-- No existe el programa de capitalización, así que no se capitalizan los nombres. + THIS.writeLog( '* No se ha encontrado el programa de capitalización de nombres [' + lcEXE_CAPS + ']' ) + EXIT + ENDIF + + THIS.RenameFile( THIS.c_OutputFile, lcEXE_CAPS, loFSO ) + + DO CASE + CASE THIS.c_Type = 'PJX' + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'PJT'), lcEXE_CAPS, loFSO ) + + CASE THIS.c_Type = 'VCX' + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'VCT'), lcEXE_CAPS, loFSO ) + + CASE THIS.c_Type = 'SCX' + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'SCT'), lcEXE_CAPS, loFSO ) + + CASE THIS.c_Type = 'FRX' + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'FRT'), lcEXE_CAPS, loFSO ) + + CASE THIS.c_Type = 'LBX' + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'LBT'), lcEXE_CAPS, loFSO ) + + CASE THIS.c_Type = 'DBF' + IF FILE( FORCEEXT(THIS.c_OutputFile,'FPT') ) + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'FPT'), lcEXE_CAPS, loFSO ) + ENDIF + IF FILE( FORCEEXT(THIS.c_OutputFile,'CDX') ) + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'CDX'), lcEXE_CAPS, loFSO ) + ENDIF + + CASE THIS.c_Type = 'DBC' + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'DCX'), lcEXE_CAPS, loFSO ) + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'DCT'), lcEXE_CAPS, loFSO ) + + CASE THIS.c_Type = 'MNX' + THIS.RenameFile( FORCEEXT(THIS.c_OutputFile,'MNT'), lcEXE_CAPS, loFSO ) + + ENDCASE + ENDTRY + + RETURN + ENDPROC + + + ******************************************************************************************************************* + PROCEDURE RenameFile + LPARAMETERS tcFileName, tcEXE_CAPS, toFSO AS SCRIPTING.FileSystemObject + + LOCAL lcLog + THIS.writeLog( '- Se ha solicitado capitalizar el archivo [' + tcFileName + ']' ) + lcLog = '' + DO (tcEXE_CAPS) WITH tcFileName, '', 'F', lcLog + toFSO.MoveFile( tcFileName, tcFileName ) + THIS.writeLog( ' => Se renombrará a [' + tcFileName + ']' ) + ENDPROC + + ******************************************************************************************************************* PROCEDURE writeLog LPARAMETERS tcText - IF THIS.l_Debug - TRY - STRTOFILE( TTOC(DATETIME(),3) + ' ' + EVL(tcText,'') + CR_LF, THIS.c_LogFile, 1 ) - CATCH - ENDTRY + TRY + THIS.c_TextLog = THIS.c_TextLog + TTOC(DATETIME(),3) + ' ' + EVL(tcText,'') + CR_LF + CATCH + ENDTRY + ENDPROC + + + ******************************************************************************************************************* + PROCEDURE writeLog_Flush + IF THIS.l_Debug AND NOT EMPTY(THIS.c_TextLog) + STRTOFILE( THIS.c_TextLog + CR_LF, THIS.c_LogFile, 1 ) + THIS.c_TextLog = '' ENDIF ENDPROC @@ -830,10 +923,12 @@ DEFINE CLASS c_conversor_base AS SESSION + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -841,6 +936,7 @@ DEFINE CLASS c_conversor_base AS SESSION + [] ; + [] ; + [] ; + + [] ; + [] @@ -851,13 +947,16 @@ DEFINE CLASS c_conversor_base AS SESSION lFileMode = .T. nClassTimeStamp = '' n_FB2PRG_Version = 1.0 + c_Foxbin2prg_FullPath = '' c_Type = '' c_CurDir = '' c_LogFile = '' + c_TextLog = '' l_MethodSort_Enabled = .T. l_PropSort_Enabled = .T. l_ReportSort_Enabled = .T. c_OriginalFileName = '' + oFSO = NULL ******************************************************************************************************************* @@ -872,6 +971,7 @@ DEFINE CLASS c_conversor_base AS SESSION PUBLIC C_FB2PRG_CODE C_FB2PRG_CODE = '' && Contendrá todo el código generado THIS.c_CurDir = SYS(5) + CURDIR() + THIS.oFSO = CREATEOBJECT( "Scripting.FileSystemObject") ENDPROC @@ -1024,7 +1124,8 @@ DEFINE CLASS c_conversor_base AS SESSION ******************************************************************************************************************* - FUNCTION comprobarExpresionValida( tcAsignacion, tnCodError, tcExpNormalizada ) + FUNCTION comprobarExpresionValida + LPARAMETERS tcAsignacion, tnCodError, tcExpNormalizada LOCAL llError, loEx AS EXCEPTION TRY @@ -2116,12 +2217,10 @@ DEFINE CLASS c_conversor_base AS SESSION PROCEDURE writeLog LPARAMETERS tcText - IF THIS.l_Debug - TRY - STRTOFILE( TTOC(DATETIME(),3) + ' ' + EVL(tcText,'') + CR_LF, THIS.c_LogFile, 1 ) - CATCH - ENDTRY - ENDIF + TRY + THIS.c_TextLog = THIS.c_TextLog + TTOC(DATETIME(),3) + ' ' + EVL(tcText,'') + CR_LF + CATCH + ENDTRY ENDPROC @@ -4034,7 +4133,10 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin TRY LOCAL lcObjName, lnCodError, I, X, loEx AS EXCEPTION ; , loClase AS CL_CLASE OF 'FOXBIN2PRG.PRG' ; - , loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG' + , loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG' ; + , loFSO AS Scripting.FileSystemObject + + loFSO = THIS.oFSO *-- Creo el registro de cabecera THIS.createClasslib_RecordHeader() @@ -4590,7 +4692,6 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin , UPPER(JUSTSTEM(loFile._Name)) ) ENDFOR - USE IN (SELECT("TABLABIN")) @@ -5871,7 +5972,6 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin STORE '' TO lcIndex, lcFieldDef toDatabase.updateDBC( THIS.c_OutputFile ) - *USE IN (SELECT(JUSTSTEM(THIS.c_OutputFile))) @@ -6035,7 +6135,6 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin STORE '' TO lcIndex, lcFieldDef toMenu.updateDBC( THIS.c_OutputFile ) - *USE IN (SELECT(JUSTSTEM(THIS.c_OutputFile))) @@ -7986,7 +8085,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg SCATTER FIELDS NAME,TYPE,EXCLUDE,COMMENTS,CPID,TIMESTAMP,ID,OBJREV MEMO NAME loReg loReg.NAME = LOWER( ALLTRIM( loReg.NAME, 0, ' ', CHR(0) ) ) loReg.COMMENTS = CHRTRAN( ALLTRIM( loReg.COMMENTS, 0, ' ', CHR(0) ), ['], ["] ) - + *-- TIP: Si el "Name" del objeto está vacío, lo salteo IF EMPTY(loReg.NAME) LOOP @@ -9470,7 +9569,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE * tnProperty_Count (@! OUT) Cantidad de propiedades encontradas *--------------------------------------------------------------------------------------------------- LPARAMETERS tcName, tcType, taProperties, tnProperty_Count - + EXTERNAL ARRAY taProperties && STRUCTURE: PropName,RecordLen,DataIDLen,DataID,DataType,Data TRY @@ -9510,7 +9609,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE DO WHILE lnLastPos < LEN(laProperty(1,1)) tnProperty_Count = tnProperty_Count + 1 DIMENSION taProperties( tnProperty_Count,6 ) - + lnRecordLen = CTOBIN( SUBSTR(laProperty(1,1), lnLastPos, 4), "4RS" ) lcBinRecord = SUBSTR(laProperty(1,1), lnLastPos, lnRecordLen) lnLenCCode = CTOBIN( SUBSTR(lcBinRecord, 4+1, 2), "2RS" ) @@ -9549,7 +9648,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE leValue = LEFT( lcValue, AT( CHR(0), lcValue ) - 1 ) ENDIF ENDCASE - + taProperties( tnProperty_Count,1 ) = lcPropName taProperties( tnProperty_Count,2 ) = lnRecordLen taProperties( tnProperty_Count,3 ) = lnLenCCode