From b9309770cd4cf53198725815e5c69edf54cbc305 Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Mon, 6 Jun 2016 01:53:04 +0200 Subject: [PATCH] FoxBin2Prg v1.19.47 Preview-3 - Agregado soporte de memos multi-linea, para evitar comprimirlos en una sola y poder comparar mejor --- foxbin2prg.exe | Bin 617492 -> 630049 bytes foxbin2prg.prg | 63 ++++++++++++++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/foxbin2prg.exe b/foxbin2prg.exe index 7d4044354a068e7515260dbf0ba40318b6c5a6f5..7e7b3a6ecc87d964d4007170692a8876e26bd6e8 100644 GIT binary patch delta 15371 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 delta 5599 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 XBwP*py9V5RIf4oA>H{@igY@)2y>w%5 diff --git a/foxbin2prg.prg b/foxbin2prg.prg index da0dca0..1d8a653 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -23928,7 +23928,7 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE .set_Line( @tcLine, @taCodeLines, I ) DO CASE - CASE EMPTY( tcLine ) + CASE EMPTY( tcLine ) OR LEFT(tcLine, 1) == '*' LOOP CASE C_RECORD_F $ tcLine && Fin @@ -23938,26 +23938,26 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE *-- Estructura a reconocer: * VALOR lcFieldName = STREXTRACT( tcLine, '<', '>', 1, 0 ) - lcValue = STREXTRACT( tcLine, '<' + lcFieldName + '>', '', 1, 0 ) + lcValue = STREXTRACT( tcLine, '<' + lcFieldName + '>', '', 1, 0+2 ) loField = toFields.Item(lcFieldName) lcFieldType = loField._Type llNoCPTran = CAST( loField._NoCPTran as Logical) DO CASE - CASE lcFieldType == 'L' + CASE lcFieldType == 'L' && Logical (Boolean) luValue = CAST(lcValue as Logical) - CASE lcFieldType == 'G' + CASE lcFieldType == 'G' && General (NOT SUPPORTED) luValue = '' - CASE lcFieldType == 'W' + CASE lcFieldType == 'W' && Blob (Memo binario) luValue = STRCONV(lcValue,14) - CASE lcFieldType == 'Q' + CASE lcFieldType == 'Q' && Varbinary luValue = STRCONV(lcValue,14) - CASE lcFieldType == 'V' + CASE lcFieldType == 'V' && Varchar IF llNoCPTran *-- If NoCPTran, then must encode in b64binary luValue = STRCONV(lcValue,14) @@ -23965,36 +23965,46 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE luValue = .Decode(lcValue) ENDIF - CASE lcFieldType == 'M' + CASE lcFieldType == 'M' && Memo IF llNoCPTran *-- If NoCPTran, then must encode in b64binary luValue = STRCONV(lcValue,14) ELSE - luValue = .Decode(RTRIM(lcValue), .F.) + * Si el memo es multi-línea, leer hasta encontrar el final ']]>' del CDATA. + DO WHILE .T. + IF ']]>' $ tcLine THEN + luValue = .Decode(lcValue, .T.) + EXIT + ELSE + I = I + 1 + .set_Line( @tcLine, @taCodeLines, I ) + lcValue = lcValue + CR_LF + tcLine + ENDIF + ENDDO ENDIF - CASE lcFieldType == 'D' + CASE lcFieldType == 'D' && Date luValue = CAST(lcValue as Date) - CASE lcFieldType == 'T' + CASE lcFieldType == 'T' && Datetime luValue = CAST(lcValue as DateTime) - CASE lcFieldType == 'Y' + CASE lcFieldType == 'Y' && Currency luValue = CAST(lcValue as Currency) - CASE lcFieldType == 'I' + CASE lcFieldType == 'I' && Integer luValue = CAST(lcValue as Integer) - CASE lcFieldType == 'B' + CASE lcFieldType == 'B' && Double luValue = CAST(lcValue as Double) - CASE lcFieldType == 'F' + CASE lcFieldType == 'F' && Float luValue = CAST(lcValue as Float) - CASE lcFieldType == 'N' + CASE lcFieldType == 'N' && Numeric luValue = CAST(lcValue as Numeric) - OTHERWISE && Asume 'C' + OTHERWISE && Asume 'C' && Character IF llNoCPTran *-- If NoCPTran, then must encode in b64binary luValue = STRCONV(lcValue,14) @@ -24071,13 +24081,13 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE OR lcFieldType $ 'DT' AND luValue == {} ; OR lcFieldType $ 'YIBFN' AND luValue == 0 - CASE lcFieldType == 'W' + CASE lcFieldType == 'W' && Blob (Memo binario) luValue = STRCONV(luValue,13) - CASE lcFieldType == 'Q' + CASE lcFieldType == 'Q' && Varbinary luValue = STRCONV(luValue,13) - CASE lcFieldType == 'V' + CASE lcFieldType == 'V' && Varchar IF llNoCPTran THEN *-- If NoCPTran, then must encode in b64binary luValue = STRCONV(luValue,13) @@ -24085,7 +24095,7 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE luValue = .Encode(luValue) ENDIF - CASE lcFieldType $ 'C' + CASE lcFieldType $ 'C' && Character IF llNoCPTran THEN *-- If NoCPTran, then must encode in b64binary luValue = STRCONV(luValue,13) @@ -24093,12 +24103,12 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE luValue = .Encode(RTRIM(luValue)) ENDIF - CASE lcFieldType $ 'M' + CASE lcFieldType $ 'M' && Memo IF llNoCPTran THEN *-- If NoCPTran, then must encode in b64binary luValue = STRCONV(luValue,13) ELSE - luValue = .Encode(RTRIM(luValue), .F.) + luValue = .Encode(RTRIM(luValue), .T.) ENDIF ENDCASE @@ -24130,7 +24140,8 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE LPARAMETERS tcString, tl_isCDATA LOCAL lcString IF tl_isCDATA THEN - lcString = '', ']]]]>') + ']]>' + *lcString = '', ']]]]>') + ']]>' + lcString = '', ']]>') + ']]>' ELSE lcString = STRTRAN(tcString, '&', '&') lcString = STRTRAN(lcString, '>', '>') @@ -24149,9 +24160,7 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE LPARAMETERS tcString, tl_isCDATA LOCAL lcString IF tl_isCDATA THEN - lcString = STREXTRACT( ; - STRTRAN(tcString, ']]]]>', ']]>') ; - , '') + lcString = STRTRAN( STRTRAN( STREXTRACT( tcString, ''), '<![CDATA[', '') ELSE lcString = STRTRAN(tcString, ' ', CHR(9)) lcString = STRTRAN(lcString, ' ', CHR(10))