diff --git a/TESTS/DATOS_READONLY/FB2P_DBC.DC2 b/TESTS/DATOS_READONLY/FB2P_DBC.DC2 index 7ddff4f..6cc2582 100644 --- a/TESTS/DATOS_READONLY/FB2P_DBC.DC2 +++ b/TESTS/DATOS_READONLY/FB2P_DBC.DC2 @@ -190,17 +190,12 @@ - id - - .T. - - - edad_nd + depto .F. - notdeleted + edad_nd .F. @@ -210,17 +205,22 @@ .T. - depto + i_nombre .F. + + id + + .T. + nombre .F. - i_nombre + notdeleted .F. @@ -533,6 +533,119 @@ + + VW_LOCAL_ENCUESTAS + + + SELECT ENCUESTAS.Promotor,ENCUESTAS.Idenc,ENCUESTAS.Calific,ENCUESTAS.Fecha, ENCUESTAS.Resultado FROM C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\ENCUESTAS.DBF ENCUESTAS + .F. + 1 + .T. + + .F. + .T. + 100 + -1 + .T. + + .F. + + + .F. + .T. + 1 + 1 + 255 + 3 + + + + promotor + + + C(20) + + + + + + .F. + + + .F. + promotor + + + idenc + + + C(20) + + + + + + .F. + + + .F. + idenc + + + calific + + + C(2) + + + + + + .F. + + + .F. + calific + + + fecha + + + D + + + + + + .F. + + + .F. + fecha + + + resultado + + + C(10) + + + + + + .F. + + + .F. + resultado + + + + + + + + VW_ORA_CONVENIOS diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dbc b/TESTS/DATOS_READONLY/fb2p_dbc.dbc index 4cc431d..b388716 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_dbc.dbc and b/TESTS/DATOS_READONLY/fb2p_dbc.dbc differ diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dct b/TESTS/DATOS_READONLY/fb2p_dbc.dct index dfa83a0..4587909 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_dbc.dct and b/TESTS/DATOS_READONLY/fb2p_dbc.dct differ diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dcx b/TESTS/DATOS_READONLY/fb2p_dbc.dcx index 65ee174..b42193e 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_dbc.dcx and b/TESTS/DATOS_READONLY/fb2p_dbc.dcx differ diff --git a/TESTS/DATOS_READONLY/foxbin2prg.cfg b/TESTS/DATOS_READONLY/foxbin2prg.cfg new file mode 100644 index 0000000..8300bd9 --- /dev/null +++ b/TESTS/DATOS_READONLY/foxbin2prg.cfg @@ -0,0 +1 @@ +DBF_Conversion_Support:4 \ No newline at end of file diff --git a/TESTS/DATOS_READONLY/vw_local_encuestas.dbf b/TESTS/DATOS_READONLY/vw_local_encuestas.dbf new file mode 100644 index 0000000..9e4efd3 Binary files /dev/null and b/TESTS/DATOS_READONLY/vw_local_encuestas.dbf differ diff --git a/TESTS/DATOS_READONLY/vw_local_encuestas.tbf b/TESTS/DATOS_READONLY/vw_local_encuestas.tbf new file mode 100644 index 0000000..2c9d30b Binary files /dev/null and b/TESTS/DATOS_READONLY/vw_local_encuestas.tbf differ diff --git a/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg b/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg index c7a48a5..f0bef09 100644 --- a/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg +++ b/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg @@ -360,8 +360,22 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase this.assertequals( lnIndices_OUT, lnIndices_IN, '[Cantidad de campos IN y OUT]' ) FOR I = 1 TO lnIndices_IN + *- Busco el índice a evaluar + FOR Z = 1 TO lnIndices_OUT + IF LOWER(laIndices_OUT(Z,1)) == LOWER(laIndices_IN(I,1)) + EXIT + ENDIF + ENDFOR + + *-- Si no se encontró, registro error + THIS.asserttrue( Z <= lnIndices_OUT, 'El índice "' + laIndices_IN(I,1) + '" no se encontró' ) + IF Z > lnIndices_OUT THEN + LOOP + ENDIF + + *-- Si se encontró, comparo su especificación FOR X = 1 TO 6 - THIS.assertequals( laIndices_IN(I,X), laIndices_OUT(I,X), '[Comparando estructura del indice ' + laIndices_IN(I,1) + ']' ) + THIS.assertequals( laIndices_IN(I,X), laIndices_OUT(Z,X), '[Comparando estructura del indice ' + laIndices_IN(I,1) + ']' ) ENDFOR ENDFOR diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 261d76a..fc8a853 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -20919,24 +20919,30 @@ DEFINE CLASS CL_DBF_INDEX AS CL_CUS_BASE PROCEDURE toText *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) - * taTagInfo (@? IN ) Array de información de indices - * I (@? IN ) Indice en evaluación + * taTagInfo (@! IN ) Array de información de indices + * I (@! IN ) Indice en evaluación *--------------------------------------------------------------------------------------------------- LPARAMETERS taTagInfo, I EXTERNAL ARRAY taTagInfo TRY - LOCAL I, lcText, loEx AS EXCEPTION + LOCAL X, lcText, loEx AS EXCEPTION lcText = '' + + FOR X = 1 TO ALEN(taTagInfo,1) + IF TAG('', X) == taTagInfo(I,1) THEN + EXIT + ENDIF + ENDFOR TEXT TO lcText TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 <<>> <<>> <> - <<>> <> + <<>> <> <<>> <> <<>> <> - <<>> <> + <<>> <> <<>> <> <<>> ENDTEXT