From 1879285bc9bad4717f5325482dd2e9cba361cb7f Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Tue, 29 Jul 2014 18:32:31 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Changeset:=20381=20fdbozzo=20-=2029/07/2014?= =?UTF-8?q?=2017:48:43:=20-=20Nuevos=20casos=20de=20prueba=20para=20detecc?= =?UTF-8?q?i=C3=B3n=20correcta=20de=20text/endtext?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...or_base__IdentificarBloquesDeExclusion.prg | 61 +++++++++++++++++-- foxbin2prg.prg | 46 ++++++++++---- 2 files changed, 92 insertions(+), 15 deletions(-) diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg b/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg index 0501f59..45e898f 100644 --- a/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg +++ b/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg @@ -159,7 +159,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as ******************************************************************************************************************************************* - FUNCTION Deberia_NoEncontrarNingunBloque_TEXT_ENDTEXT_CuandoUnaLineaQueComienzaConUnCampoLlamado_Text_esEvaluado + FUNCTION Deberia_NoEncontrarBloque_TEXT_ENDTEXT_CuandoEvaluaUnaLineaQueComienzaConUnCampoLlamado_Text_YLineaAnteriorTerminaEn_PuntoYComa LOCAL lcMethod, laLineas(1), lnLineas, laPos(1,2), lnPos_Count, laExpected_Pos(1,2) LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG" loObj = THIS.icObj @@ -174,7 +174,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as *-- Code Block IF !FOUND() APPEND BLANK - REPLACE CURSOR WITH "cawlmain", START WITH 1, END WITH 999999, isnumeric WITH .F., lastused WITH "", ; && Worst case for next line + REPLACE CURSOR WITH "cawlmain", START WITH 1, END WITH 999999, isnumeric WITH .F., lastused WITH "", ; && Worst case for next line with a field called "text" TEXT WITH "Wärmeobjekte", standard WITH .T. ENDIF @@ -187,7 +187,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as Empfaenger C(2),; Rohdatum C(8),; RohZeit C(4),; - LFDNr C(4),; && Worst case for next line + LFDNr C(4),; && Worst case for next line with a field called "text" Text C(26),; Trenner C(2),; DATUM D NULL,; @@ -204,7 +204,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lfdnr c(30) NULL DEFAULT .NULL.,; linkkey int,; email CHAR(60) NULL DEFAULT .NULL.,; - subject VARCHAR(254) NULL DEFAULT .NULL.,; && Worst case for next line + subject VARCHAR(254) NULL DEFAULT .NULL.,; && Worst case for next line with a field called "text" TEXT m NULL DEFAULT .NULL.,; docname c(50) NULL DEFAULT .NULL.,; versenden l NOT NULL DEFAULT .F.,; @@ -235,4 +235,57 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as ENDFUNC + ******************************************************************************************************************************************* + FUNCTION Deberia_NoEncontrarBloque_TEXT_ENDTEXT_CuandoEvaluaUnaLineaQueComienzaConUnCampoLlamado_Text_YLineaAnteriorTerminaEn_Coma + LOCAL lcMethod, laLineas(1), lnLineas, laPos(1,2), lnPos_Count, laExpected_Pos(1,2) + LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG" + loObj = THIS.icObj + + *-- Input and expected params + STORE '' TO lcMethod + laExpected_Pos(1,1) = 4 + laExpected_Pos(1,2) = 15 + + TEXT TO lcMethod NOSHOW TEXTMERGE FLAGS 1 PRETEXT 1+2+4 + <> myMethod_B + *-- Code Block + IF ODBC_Query.odbc + <> TO cSQL NOSHOW + update menuitems + set parent_menuitem_id = ?iParent_menuitem_id, && Worst case for next line with a field called "text" + text = ?strText, + command = ?strCommand, + message = ?strMessage, + keyname = ?strKeyname, + keylabel = ?strKeylabel, + skipfor = ?strSkipfor, + sequence = ?iSequence + where menuitem_id = ?iMenuitem_id + <> + ODBC_Query(cSQL) + ELSE + update menuitems; + set parent_menuitem_id = iParent_menuitem_id,; && Worst case for next line with a field called "text" + text = strText,; + command = strCommand,; + message = strMessage,; + keyname = strKeyname,; + keylabel = strKeylabel,; + skipfor = strSkipfor,; + sequence = iSequence; + where menuitem_id == iMenuitem_id + ENDIF + <> + ENDTEXT + + lnLineas = ALINES( laLineas, lcMethod ) + + *-- Test + loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laPos, @lnPos_Count ) + + THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count ) + + ENDFUNC + + ENDDEFINE diff --git a/foxbin2prg.prg b/foxbin2prg.prg index e14cd3f..d0da57c 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -95,6 +95,7 @@ * 06/07/2014 FDBOZZO v1.19.26 Bug Fix cfg: ExtraBackupLevel no se tiene en cuenta cuando se usa multi-configuración * 02/06/2014 DH/FDBOZZO v1.19.27 Mejora: Agregado soporte para exportar datos para DIFF (no para importar) * 21/07/2014 FDBOZZO v1.19.28 Mejora: Agregada funcionalidad para filtrado de tablas y datos cuando se elige DBF_Conversion_Support:4 (Edyshor) +* 29/07/2014 FDBOZZO v1.19.29 Arreglo bug vcx/scx: Un campo de tabla llamado "text" que comienza la línea puede confundirse con la estructura TEXT/ENDTEXT y reconocer mal el resto del código * * *--------------------------------------------------------------------------------------------------- @@ -133,6 +134,7 @@ * 27/06/2014 Daniel Sánchez MEJORA v1.19.25: Si el campo memo "methods" de los vcx/scx contiene asteriscos fuera de lugar (que no debería), FoxBin2Prg falla. Debería poder procesarlo igual. * 02/06/2014 Doug Hennig MEJORA v1.19.22: Agregada funcionalidad para exportar los datos de las tablas al archivo db2 (Agregado en v1.19.27) * 21/07/2014 Edyshor PROPUESTA DE MEJORA db2 v1.19.27: Sería útil poder filtrar tablas y datos cuando se elige DBF_Conversion_Support:4 (Agregado en v1.19.28) +* 29/07/2014 M_N_M REPORTE BUG vcx/scx v1.19.28: Los campos de tabla con nombre "text" a veces provocan corrupción del binario generado (Arreglado en v1.19.29) * * *--------------------------------------------------------------------------------------------------- @@ -3585,6 +3587,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -3754,6 +3757,24 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base RETURN llEncontrado ENDPROC + + + PROCEDURE currentLineIsPreviousLineContinuation + LPARAMETERS taCodeLines, I + + LOCAL lcPrevLine, llIsContinuation + *-- Analizo la línea anterior para saber si termina con ";" o "," y la actual es continuación + IF I > 1 + lcPrevLine = taCodeLines(I-1) + ELSE + lcPrevLine = '' + ENDIF + .get_SeparatedLineAndComment( @lcPrevLine ) + IF INLIST( RIGHT( lcPrevLine,1 ), ';', ',' ) && Esta línea es continuación de la anterior + llIsContinuation = .T. + ENDIF + RETURN llIsContinuation + ENDPROC PROCEDURE identificarBloquesDeExclusion @@ -3799,7 +3820,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base FOR X = 1 TO lnID_Bloques_Count lnLen_IDFinBQ = LEN( ta_ID_Bloques(X,2) ) - IF .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 1 ) + IF .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 1 ) ; + AND NOT THIS.currentLineIsPreviousLineContinuation( @taCodeLines, I ) lnPrimerID = X lnAnidamientos = 1 EXIT @@ -3807,14 +3829,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDFOR IF lnPrimerID > 0 && Se ha identificado un ID de bloque excluyente - IF I > 1 - *-- Analizo la línea anterior para saber si termina con ";" y la actual es continuación - lcPrevLine = taCodeLines(I-1) - .get_SeparatedLineAndComment( @lcPrevLine ) - IF RIGHT( lcPrevLine,1 ) = ';' && Esta línea es continuación de la anterior - LOOP - ENDIF - ENDIF + *IF I > 1 + * *-- Analizo la línea anterior para saber si termina con ";" o "," y la actual es continuación + * lcPrevLine = taCodeLines(I-1) + * .get_SeparatedLineAndComment( @lcPrevLine ) + * IF INLIST( RIGHT( lcPrevLine,1 ), ';', ',' ) && Esta línea es continuación de la anterior + * LOOP + * ENDIF + *ENDIF tnBloquesExclusion = tnBloquesExclusion + 1 lnLen_IDFinBQ = LEN( ta_ID_Bloques(lnPrimerID,2) ) @@ -3831,10 +3853,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDIF DO CASE - CASE .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 1 ) + CASE .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 1 ) ; + AND NOT THIS.currentLineIsPreviousLineContinuation( @taCodeLines, I ) lnAnidamientos = lnAnidamientos + 1 - CASE .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 2 ) + CASE .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 2 ) ; + AND NOT THIS.currentLineIsPreviousLineContinuation( @taCodeLines, I ) lnAnidamientos = lnAnidamientos - 1 IF lnAnidamientos = 0 From 686eee500995e2e73d8d49f42ab15c703715a8e0 Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Tue, 29 Jul 2014 18:33:19 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Changeset:=20382=20fdbozzo=20-=2029/07/2014?= =?UTF-8?q?=2018:32:32:=20-=20Cambio=20de=20versi=C3=B3n=20en=20pjx=20a=20?= =?UTF-8?q?1.19.29=20y=20EXE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.exe | Bin 443091 -> 443506 bytes foxbin2prg.pj2 | 4 ++-- foxbin2prg.pjt | Bin 597154 -> 599781 bytes foxbin2prg.pjx | Bin 8993 -> 8993 bytes 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foxbin2prg.exe b/foxbin2prg.exe index 608d91286d772b5587fe300e6a41dff5b740d0ee..7329f6bc6e39187c005f9d724a3c0af273256adb 100644 GIT binary patch delta 14307 zcma)?2UrzH+y0;3v%9AN(xgij8}^FWsfwW}V2dUM0To3=id~Ny>u0ZHVvi-Z#O|>~ zMPoD?dqIr~qSzBlEQl@NJ!kQ}N8kTe0k^t29UsTGj+4B_{xSO@&-x7+c;{@DQ4@Jxv8K_ot48J3%`l{e?Zfaw3Bsxq0kLQ=ysYF0+2k zgn^>B#OgE^qP#k2aR2qpZD2?49m?e%nsV7g`p}GQ**?@-=l`f~g$7NYRA!4S!hg6Z z<^6|dEF<{;z5ow4C0OtmT-b(Sp{-DvJq#A!`X;@m&%*ebS`Qt_z-%d$ka7h&VK+UM-~l z^J-P2)cl;B^sKy?jI8wN+)g>^Lox>C=W+@kl$Do}m7kKAF(|9cDOPYwswTEQ&F-C& z{DtRCe_9IgxL3$~yN2v2H77kKFTGRFp#JHpd6llP2p&%VQw>+D2#05;vGKZ?|_p&}eLC}-f{Vz%eBXJ(?HiVTR&uG=1@9rR$B{C! za?^A2l0!2y+r7{(ot@DUNV1Lx7qfyQh?Y{!!Dnd{KW=(_J;EsN9J=*s@gl$ zRWR4(PAOR_nHeKea>6nP4bD$bj*N?lh>SvS>0VXMaQQr=Lo_nt)�y*U!Vzap5st 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 v05*3m{}gVY_YdE_MRAf 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 E4`9$MegFUf diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index b132a4e..6fdb618 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -23,10 +23,10 @@ _CompanyName = "Fernando D. Bozzo" _FileDescription = "Conversor bidireccional de binarios FoxPro 9 (scx,vcx,pjx) a texto para sustituir al scctext :-)" _LegalCopyright = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/" _LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/" -_ProductName = " FOXBIN2PRG v1.19.28" +_ProductName = " FOXBIN2PRG v1.19.29" _MajorVer = "1" _MinorVer = "19" -_Revision = "28" +_Revision = "29" _LanguageID = "1034" _AutoIncrement = "0" * diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index ca3885125b850e01893c38582d47396926da8c23..5607e989bcf56aa1c61a0ed0c5d4ecc33cbb9e5f 100644 GIT binary patch delta 15406 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 p2-bl!vDjM%S3q|~R19 delta 13602 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 pQT$I#!OV0EA}53mHmtm7kZjDBkUy{tqsr$VUJG delta 721 zcmXxgPe>F|90%~dv~ZtE=p;GZ_nl3NyPiv$GK>7%N!V96Z*c2qPh*Lxi|8 zvjmAHx$;Y@OQ?s4pdvb05=LEuitG;*(Z5}Sh^$zsi;zywRo~_F_`Uc0^4@PQJD2q+ z0ip4ZXTc*FnRL=HGWgiD)=}B(3T&2CF_ z8Dq15zS^Q?7yni}Tm%T7uCcjp<|^|LbJXup#+u*eW|_8Vb4yGTu*I)HDq(WUG<7^F zBv1)>aUrmmt0DxwwKmtz9B1}1eLw&VI(r~&qfqUvLasp@S^P~?W;XG->E8#pXlrYxd(Bmb%%IGhl+~|m%rS0FDno*g~ z>qblTZ&y>Ms#YQgA{PBs#A^|UJ}+WhlS8i;@do2;5j&b4dZc*wRx>5y#20}5e*olU zQZreegvDqANmS*>34#6sn$ethl_SuD_oHL{!OsBqO1L|gib-%;9_70~ y0;mmW?Z^e@KLPafEJoFmy1~+S;lHR4