From d8432fea4b28b69e2b36e39be06714dbbed63e87 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 8 Feb 2014 21:32:56 +0100 Subject: [PATCH 1/4] =?UTF-8?q?Changeset:=20159=20-=20Agregada=20parametri?= =?UTF-8?q?zaci=C3=B3n=20para=20el=20soporte=20de=20conversi=C3=B3n=20perm?= =?UTF-8?q?itido=20por=20cada=20tipo=20de=20archivo=20(0=3DNinguno,=201=3D?= =?UTF-8?q?Solo=20TX2,=202=3DTX2=20y=20Binarios)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.txt | 4 ++ foxbin2prg.cfg | 37 +++++++++++--- foxbin2prg.pj2 | 2 +- foxbin2prg.pjt | Bin 344256 -> 348800 bytes foxbin2prg.pjx | Bin 1583 -> 1583 bytes foxbin2prg.prg | 133 +++++++++++++++++++++++++++++++++++++++++++++++-- 6 files changed, 165 insertions(+), 11 deletions(-) diff --git a/README.txt b/README.txt index 923990e..6314b83 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,6 @@ 26/01/2014 FOXBIN2PRG v1.19 FOR VISUAL FOXPRO 9 BINARIES Fernando D. Bozzo (fdbozzo@gmail.com) +Blog: http://fdbozzo.blogspot.com.es/ + ESPAÑOL -------------------------------------------------------------------------------------------- @@ -42,6 +44,7 @@ Es necesario recompilar el programa para que se actualicen los textos con el arc NOTA FINAL: Este programa es Open Source y "libre", y como tal no ofrezco garantías de que cumpla con sus espectativas o de que está libre de fallos, que intentaré solucionar si me reporta y mis obligaciones me lo permiten. +Project info and updated: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg LICENCIA: @@ -92,6 +95,7 @@ Recompiling is necesary to update the strings from the include file. FINAL NOTE: This program is Open Source and "libre", and I don't make any garanties that it fulfills your espectations or that it will be free of bugs, that I will try to fix if my obligations let me do it. +Información del proyecto y actualizaciones: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg_es LICENCE: diff --git a/foxbin2prg.cfg b/foxbin2prg.cfg index 9db8ddc..965b35b 100644 --- a/foxbin2prg.cfg +++ b/foxbin2prg.cfg @@ -7,12 +7,22 @@ * DETAIL OF SUPPORTED VALUES / DETALLE DE VALORES SOPORTADOS * If no values given, this are the defaults / Si no se proporcionan valores, estos son los predeterminados * -* extension: xx2 && Default FoxBin2Prg extensions ends in '2' / Las extensiones por defecto de FoxBin2Prg terminan en '2' -* DontShowProgress: 0 && Show progress bar by default in multi-file processing / Mostrar barra de progreso por defecto en procesamiento multi-archivo -* DontShowErrors: 1 && Show message errors by default / Mostrar mensajes de error por defecto -* NoTimestamps: 1 && Crear timespampt by default for minimize differences / Vaciar Timestamps por defecto para minimizar diferencias -* Debug: 1 && Activate individual .Log by default / Activar .Log por defecto -* ExtraBackupLevels: 0 && By default 1 BAK is created. With this you can make more .N.BAK / Por defecto 1 BAK es creado. Con esto puede crear más .N.BAK +* extension: xx2 && Default FoxBin2Prg extensions ends in '2' / Las extensiones por defecto de FoxBin2Prg terminan en '2' +* DontShowProgress: 0 && Show progress bar by default in multi-file processing / Mostrar barra de progreso por defecto en procesamiento multi-archivo +* DontShowErrors: 1 && Show message errors by default / Mostrar mensajes de error por defecto +* NoTimestamps: 1 && Crear timespampt by default for minimize differences / Vaciar Timestamps por defecto para minimizar diferencias +* Debug: 1 && Activate individual .Log by default / Activar .Log por defecto +* ExtraBackupLevels: 0 && By default 1 BAK is created. With this you can make more .N.BAK / Por defecto 1 BAK es creado. Con esto puede crear más .N.BAK +* XXX_Conversion_Support: N && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) +* PJX_Conversion_Support: 2 && Default value +* VCX_Conversion_Support: 2 && Default value +* SCX_Conversion_Support: 2 && Default value +* FRX_Conversion_Support: 2 && Default value +* LBX_Conversion_Support: 2 && Default value +* MNX_Conversion_Support: 2 && Default value +* DBC_Conversion_Support: 2 && Default value +* DBF_Conversion_Support: 1 && Default value >> EN: FoxBin2Prg support bi-directional convertion of DBFs, but does not keep data. Use with care. +* >> ES: FoxBin2Prg tiene soporte bi-direccional para convertir DBF, pero no mantiene los datos. Usar con cuidado. * * EN: Note: This values have precedence over internal parameters and parameters used on scripts * ES: Nota: Estos valores tienen precedencia sobre los parámetros internos y los parámetros usados en los scripts @@ -20,6 +30,7 @@ * END DOCUMENTATION SECTION / FIN DE LA SECCIÓN DE DOCUMENTACIÓN **************************************************************************************************** + * EN: Uncomment for SourceSafe compatibility. You can change the extension on the right side. * ES: Descomentar para compatibilidad con SourceSafe. Puede cambiar la extensión del lado derecho. *--------------------------------------------------------------------------------------------------- @@ -32,6 +43,7 @@ *extension: db2=dba *extension: dc2=dca + * EN: Uncomment to activate the new value, comment to deactivate and use the default * ES: Descomente para activar el nuevo valor, comente para desactivarlo y usar el predeterminado *--------------------------------------------------------------------------------------------------- @@ -40,3 +52,16 @@ *NoTimestamps: 1 *Debug: 1 *ExtraBackupLevels: 3 + + +* EN: Uncomment to activate the new value, comment to deactivate and use the default +* ES: Descomente para activar el nuevo valor, comente para desactivarlo y usar el predeterminado +*--------------------------------------------------------------------------------------------------- +*PJX_Conversion_Support: 2 +*VCX_Conversion_Support: 2 +*SCX_Conversion_Support: 2 +*FRX_Conversion_Support: 2 +*LBX_Conversion_Support: 2 +*MNX_Conversion_Support: 2 +*DBC_Conversion_Support: 2 +*DBF_Conversion_Support: 1 diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index d76e33b..64f78ae 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -26,7 +26,7 @@ _LegalTrademark = "Open Source" _ProductName = " FOXBIN2PRG" _MajorVer = "1" _MinorVer = "19" -_Revision = " 246" +_Revision = " 247" _LanguageID = "1034" _AutoIncrement = "1" * diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index 7553918b84777ca922813e91e76b53729a54eab6..a98aefab58e5319f2d6bc1fd31576d58f1f0f0eb 100644 GIT binary patch delta 16826 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 SW`tPUhP~2D<2=vT<^KRXubaLA delta 13297 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 diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index 593e994d34be773c549da52940cde066c56f2dc1..7f82761c6ca635666eb2cdd91c420ef905cb8633 100644 GIT binary patch delta 27 hcmZ3_vz}+eUKUnEBTFNb$%k0}gII=UlaH}x0sw(I2^IhV delta 27 icmZ3_vz}+eUKUmZ6JsNz$%k0}16fAKmXnXMW&!|!w+Rja diff --git a/foxbin2prg.prg b/foxbin2prg.prg index f7778f5..6cda490 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -394,6 +394,14 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -434,6 +442,14 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM c_DB2 = 'DB2' && DBF c_DC2 = 'DC2' && DBC c_MN2 = 'MN2' && MNX + PJX_Conversion_Support = 2 + VCX_Conversion_Support = 2 + SCX_Conversion_Support = 2 + FRX_Conversion_Support = 2 + LBX_Conversion_Support = 2 + MNX_Conversion_Support = 2 + DBF_Conversion_Support = 1 + DBC_Conversion_Support = 2 PROCEDURE INIT @@ -683,6 +699,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM laConfig(I) = LOWER( laConfig(I) ) DO CASE + CASE LEFT( laConfig(I), 1 ) == '*' + LOOP + CASE LEFT( laConfig(I), 10 ) == LOWER('Extension:') lcConfData = ALLTRIM( SUBSTR( laConfig(I), 11 ) ) lcExt = 'c_' + ALLTRIM( GETWORDNUM( lcConfData, 1, '=' ) ) @@ -712,6 +731,38 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM tcExtraBackupLevels = ALLTRIM( SUBSTR( laConfig(I), 19 ) ) THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcExtraBackupLevels: ' + TRANSFORM(tcExtraBackupLevels) ) + CASE LEFT( laConfig(I), 23 ) == LOWER('PJX_Conversion_Support:') + THIS.PJX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > PJX_Conversion_Support: ' + TRANSFORM(THIS.PJX_Conversion_Support) ) + + CASE LEFT( laConfig(I), 23 ) == LOWER('VCX_Conversion_Support:') + THIS.VCX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > VCX_Conversion_Support: ' + TRANSFORM(THIS.VCX_Conversion_Support) ) + + CASE LEFT( laConfig(I), 23 ) == LOWER('SCX_Conversion_Support:') + THIS.SCX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > SCX_Conversion_Support: ' + TRANSFORM(THIS.SCX_Conversion_Support) ) + + CASE LEFT( laConfig(I), 23 ) == LOWER('FRX_Conversion_Support:') + THIS.FRX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > FRX_Conversion_Support: ' + TRANSFORM(THIS.FRX_Conversion_Support) ) + + CASE LEFT( laConfig(I), 23 ) == LOWER('LBX_Conversion_Support:') + THIS.LBX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > LBX_Conversion_Support: ' + TRANSFORM(THIS.LBX_Conversion_Support) ) + + CASE LEFT( laConfig(I), 23 ) == LOWER('MNX_Conversion_Support:') + THIS.MNX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > MNX_Conversion_Support: ' + TRANSFORM(THIS.MNX_Conversion_Support) ) + + CASE LEFT( laConfig(I), 23 ) == LOWER('DBF_Conversion_Support:') + THIS.DBF_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Support: ' + TRANSFORM(THIS.DBF_Conversion_Support) ) + + CASE LEFT( laConfig(I), 23 ) == LOWER('DBC_Conversion_Support:') + THIS.DBC_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > DBC_Conversion_Support: ' + TRANSFORM(THIS.DBC_Conversion_Support) ) + ENDCASE ENDFOR ENDIF @@ -866,11 +917,34 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-- UN ARCHIVO INDIVIDUAL O CONSULTA DE SOPORTE DE ARCHIVO IF LEN(NVL(tc_InputFile,'')) = 1 *-- Consulta de soporte de conversión (compatibilidad con SourceSafe) + *-- SourceSafe consulta el tipo de soporte de cada archivo antes del Checkin/Checkout + *-- para saber si se puede hacer Diff y Merge. + *-- Para los códigos de tipo de archivo ver ayuda de "Type Property" DO CASE - CASE tc_InputFile $ 'dD' && DBC, DBF - lnCodError = 1 - CASE tc_InputFile $ 'KBMRV' && SCX, LBX, MNX, FRX, VCX - lnCodError = 2 + CASE tc_InputFile == FILETYPE_DATABASE + lnCodError = THIS.DBC_Conversion_Support + + CASE tc_InputFile == FILETYPE_FREETABLE + lnCodError = THIS.DBF_Conversion_Support + + CASE tc_InputFile == FILETYPE_FORM + lnCodError = THIS.SCX_Conversion_Support + + CASE tc_InputFile == FILETYPE_LABEL + lnCodError = THIS.LBX_Conversion_Support + + CASE tc_InputFile == FILETYPE_MENU + lnCodError = THIS.MNX_Conversion_Support + + CASE tc_InputFile == FILETYPE_REPORT + lnCodError = THIS.FRX_Conversion_Support + + CASE tc_InputFile == FILETYPE_CLASSLIB + lnCodError = THIS.VCX_Conversion_Support + + CASE tc_InputFile $ 'J' && PJX (J no exite en FoxPro, es un valor inventado para evitar conflicto con los tipos existentes) + lnCodError = THIS.PJX_Conversion_Support + OTHERWISE lnCodError = -1 ENDCASE @@ -997,81 +1071,126 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM DO CASE CASE lcExtension = 'VCX' + IF NOT INLIST(THIS.VCX_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_VC2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_vcx_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_VC2 ), '+N' ) CASE lcExtension = 'SCX' + IF NOT INLIST(THIS.SCX_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_SC2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_scx_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_SC2 ), '+N' ) CASE lcExtension = 'PJX' + IF NOT INLIST(THIS.PJX_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_pjx_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_PJ2 ), '+N' ) CASE lcExtension = 'PJM' + IF NOT INLIST(THIS.PJX_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_pjm_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_PJ2 ), '+N' ) CASE lcExtension = 'FRX' + IF NOT INLIST(THIS.FRX_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_FR2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_FR2 ), '+N' ) CASE lcExtension = 'LBX' + IF NOT INLIST(THIS.LBX_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_LB2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_LB2 ), '+N' ) CASE lcExtension = 'DBF' + IF NOT INLIST(THIS.DBF_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_DB2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_dbf_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_DB2 ), '+N' ) CASE lcExtension = 'DBC' + IF NOT INLIST(THIS.DBC_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_DC2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_dbc_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_DC2 ), '+N' ) CASE lcExtension = 'MNX' + IF NOT INLIST(THIS.MNX_Conversion_Support, 1, 2) + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_MN2 ) .o_Conversor = CREATEOBJECT( 'c_conversor_mnx_a_prg' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_MN2 ), '+N' ) CASE lcExtension = .c_VC2 + IF THIS.VCX_Conversion_Support <> 2 + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'VCX' ) .o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_vcx' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'VCX' ), '+N' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'VCT' ), '+N' ) CASE lcExtension = .c_SC2 + IF THIS.SCX_Conversion_Support <> 2 + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'SCX' ) .o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_scx' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'SCX' ), '+N' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'SCT' ), '+N' ) CASE lcExtension = .c_PJ2 + IF THIS.PJX_Conversion_Support <> 2 + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'PJX' ) .o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_pjx' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'PJX' ), '+N' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'PJT' ), '+N' ) CASE lcExtension = .c_FR2 + IF THIS.FRX_Conversion_Support <> 2 + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'FRX' ) .o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_frx' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'FRX' ), '+N' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'FRT' ), '+N' ) CASE lcExtension = .c_LB2 + IF THIS.LBX_Conversion_Support <> 2 + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'LBX' ) .o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_frx' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'LBX' ), '+N' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'LBT' ), '+N' ) CASE lcExtension = .c_DB2 + IF THIS.DBF_Conversion_Support <> 2 + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'DBF' ) .o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_dbf' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DBF' ), '+N' ) @@ -1079,6 +1198,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'CDX' ), '+N' ) CASE lcExtension = .c_DC2 + IF THIS.DCX_Conversion_Support <> 2 + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'DBC' ) .o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_dbc' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DBC' ), '+N' ) @@ -1086,6 +1208,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DCT' ), '+N' ) CASE lcExtension = .c_MN2 + IF THIS.MNX_Conversion_Support <> 2 + ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'MNX' ) .o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_mnx' ) .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'MNX' ), '+N' ) From 2484e129f4fbf18752c882d5892114a15b8cb955 Mon Sep 17 00:00:00 2001 From: fernando Date: Sun, 9 Feb 2014 14:16:12 +0100 Subject: [PATCH 2/4] Changeset: 160 - Arreglo de seteo NoTimestamps por defecto --- foxbin2prg.pj2 | 6 +++--- foxbin2prg.pjt | Bin 348800 -> 348800 bytes foxbin2prg.pjx | Bin 1583 -> 1583 bytes foxbin2prg.prg | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index 64f78ae..5deb98e 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -26,7 +26,7 @@ _LegalTrademark = "Open Source" _ProductName = " FOXBIN2PRG" _MajorVer = "1" _MinorVer = "19" -_Revision = " 247" +_Revision = " 248" _LanguageID = "1034" _AutoIncrement = "1" * @@ -50,8 +50,8 @@ 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="0" ID="1131721714" ObjRev="0" /> - .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="1130644423" ObjRev="544" /> + .ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" /> + .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1145663900" ID="1130644423" ObjRev="544" /> * .ITEM('__newproject.f2b').Remove() diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index a98aefab58e5319f2d6bc1fd31576d58f1f0f0eb..37141f7028c53ef51a156deb31cf2e1eb732fe33 100644 GIT binary patch delta 52 zcmZozD%!AAbi-OsMvKksIOV08=M;KwzMyhgoYA0picR|z8%7{z0%B$$X4yW)hV_jo E008k52><{9 delta 52 zcmZozD%!AAbi-OsM)S? Date: Sun, 9 Feb 2014 15:36:06 +0100 Subject: [PATCH 3/4] =?UTF-8?q?Changeset:=20161=20-=20EXPERIMENTAL:=20Nuev?= =?UTF-8?q?o=20par=C3=A1metro=20de=20configuraci=C3=B3n=20"ClearUniqueID"?= =?UTF-8?q?=20en=20foxbin2prg.cfg=20para=20borrar=20el=20UniqueID=20de=20l?= =?UTF-8?q?os=20binarios=20y=20versiones=20texto.=20Funciona=20bien=20y=20?= =?UTF-8?q?aparentemente=20FoxPro=20no=20hace=20uso=20de=20el,=20pero=20re?= =?UTF-8?q?quiere=20m=C3=A1s=20pruebas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.cfg | 2 ++ foxbin2prg.pj2 | 4 +-- foxbin2prg.pjt | Bin 348800 -> 349952 bytes foxbin2prg.pjx | Bin 1583 -> 1583 bytes foxbin2prg.prg | 84 ++++++++++++++++++++++++++++++++++++++----------- 5 files changed, 69 insertions(+), 21 deletions(-) diff --git a/foxbin2prg.cfg b/foxbin2prg.cfg index 965b35b..5e8f5a3 100644 --- a/foxbin2prg.cfg +++ b/foxbin2prg.cfg @@ -13,6 +13,7 @@ * NoTimestamps: 1 && Crear timespampt by default for minimize differences / Vaciar Timestamps por defecto para minimizar diferencias * Debug: 1 && Activate individual .Log by default / Activar .Log por defecto * ExtraBackupLevels: 0 && By default 1 BAK is created. With this you can make more .N.BAK / Por defecto 1 BAK es creado. Con esto puede crear más .N.BAK +* ClearUniqueID: 0 && EXPERIMENTAL! - 0=Keep UniqueID, 1=Clear Unique ID. Useful for Diff and Merge / 0=Mantener UniqueID, 1=Borrar Unique ID. Util para Diff y Merge * XXX_Conversion_Support: N && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) * PJX_Conversion_Support: 2 && Default value * VCX_Conversion_Support: 2 && Default value @@ -52,6 +53,7 @@ *NoTimestamps: 1 *Debug: 1 *ExtraBackupLevels: 3 +*ClearUniqueID: 1 * EN: Uncomment to activate the new value, comment to deactivate and use the default diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index 5deb98e..a56a39c 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -26,7 +26,7 @@ _LegalTrademark = "Open Source" _ProductName = " FOXBIN2PRG" _MajorVer = "1" _MinorVer = "19" -_Revision = " 248" +_Revision = " 252" _LanguageID = "1034" _AutoIncrement = "1" * @@ -51,7 +51,7 @@ 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="1145663900" ID="1130644423" ObjRev="544" /> + .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1145666170" ID="1130644423" ObjRev="544" /> * .ITEM('__newproject.f2b').Remove() diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index 37141f7028c53ef51a156deb31cf2e1eb732fe33..4c4aee79a12b073921a84be441996044e587455c 100644 GIT binary patch delta 17806 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 delta 16391 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 X^L!vL7@>}{5&x54{0m#|9Q6MHnDE`q diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index 55a7cad6abc0bf74101a96bf562f9b16e4e0381d..6e356887e88b7229bda97f91deb5aef75579631b 100644 GIT binary patch delta 24 gcmZ3_vz}+eJ{A@;Lkp9|hgcYy%?!;aA7#w~0AlzDk^lez delta 24 gcmZ3_vz}+eJ{A^ZOGAUjhgcYyjV%o(A7#w~0AivCiU0rr diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 8ae9912..ecdf5a8 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -379,6 +379,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -426,6 +427,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM l_ShowProgress = .F. l_Recompile = .F. l_UseTimestamps = .F. + l_ClearUniqueID = .F. l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias @@ -713,23 +715,27 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE LEFT( laConfig(I), 17 ) == LOWER('DontShowProgress:') tcDontShowProgress = ALLTRIM( SUBSTR( laConfig(I), 18 ) ) - THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) ) CASE LEFT( laConfig(I), 15 ) == LOWER('DontShowErrors:') tcDontShowErrors = ALLTRIM( SUBSTR( laConfig(I), 16 ) ) - THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) ) CASE LEFT( laConfig(I), 13 ) == LOWER('NoTimestamps:') tcNoTimestamps = ALLTRIM( SUBSTR( laConfig(I), 14 ) ) - THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) ) CASE LEFT( laConfig(I), 6 ) == LOWER('Debug:') tcDebug = ALLTRIM( SUBSTR( laConfig(I), 7 ) ) - THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDebug: ' + TRANSFORM(tcDebug) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcDebug: ' + TRANSFORM(tcDebug) ) CASE LEFT( laConfig(I), 18 ) == LOWER('ExtraBackupLevels:') tcExtraBackupLevels = ALLTRIM( SUBSTR( laConfig(I), 19 ) ) - THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcExtraBackupLevels: ' + TRANSFORM(tcExtraBackupLevels) ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > tcExtraBackupLevels: ' + TRANSFORM(tcExtraBackupLevels) ) + + CASE LEFT( laConfig(I), 14 ) == LOWER('ClearUniqueID:') + THIS.l_ClearUniqueID = ( ALLTRIM( SUBSTR( laConfig(I), 15 ) ) == '1' ) + THIS.writeLog( JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(THIS.l_ClearUniqueID) ) CASE LEFT( laConfig(I), 23 ) == LOWER('PJX_Conversion_Support:') THIS.PJX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) @@ -775,12 +781,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM THIS.n_ExtraBackupLevels = INT(VAL(TRANSFORM(tcExtraBackupLevels))) THIS.writeLog( '---' ) - THIS.writeLog( '> l_ShowProgress: ' + TRANSFORM(THIS.l_ShowProgress) ) - THIS.writeLog( '> l_ShowErrors: ' + TRANSFORM(THIS.l_ShowErrors) ) - THIS.writeLog( '> l_Recompile: ' + TRANSFORM(THIS.l_Recompile) + ' (' + EVL(tcRecompile,'') + ')' ) - THIS.writeLog( '> l_UseTimestamps: ' + TRANSFORM(THIS.l_UseTimestamps) ) - THIS.writeLog( '> l_Debug: ' + TRANSFORM(THIS.l_Debug) ) - THIS.writeLog( '> n_ExtraBackupLevels: ' + TRANSFORM(THIS.n_ExtraBackupLevels) ) + THIS.writeLog( '> l_ShowProgress: ' + TRANSFORM(THIS.l_ShowProgress) ) + THIS.writeLog( '> l_ShowErrors: ' + TRANSFORM(THIS.l_ShowErrors) ) + THIS.writeLog( '> l_Recompile: ' + TRANSFORM(THIS.l_Recompile) + ' (' + EVL(tcRecompile,'') + ')' ) + THIS.writeLog( '> l_UseTimestamps: ' + TRANSFORM(THIS.l_UseTimestamps) ) + THIS.writeLog( '> ClearUniqueID: ' + TRANSFORM(THIS.l_ClearUniqueID) ) + THIS.writeLog( '> l_Debug: ' + TRANSFORM(THIS.l_Debug) ) + THIS.writeLog( '> n_ExtraBackupLevels: ' + TRANSFORM(THIS.n_ExtraBackupLevels) ) ENDPROC @@ -3548,7 +3555,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base , USER) ; VALUES ; ( 'WINDOWS' ; - , toObjeto._UniqueID ; + , IIF( toFoxBin2Prg.l_ClearUniqueID, '', toObjeto._UniqueID ) ; , IIF( toFoxBin2Prg.l_UseTimestamps, toObjeto._TimeStamp, 0 ) ; , toObjeto._Class ; , toObjeto._ClassLib ; @@ -4641,7 +4648,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin , USER) ; VALUES ; ( 'WINDOWS' ; - , loClase._UniqueID ; + , IIF( toFoxBin2Prg.l_ClearUniqueID, '', loClase._UniqueID ) ; , IIF( toFoxBin2Prg.l_UseTimestamps, loClase._TimeStamp, 0 ) ; , loClase._Class ; , loClase._ClassLoc ; @@ -4932,7 +4939,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin , USER) ; VALUES ; ( 'WINDOWS' ; - , loClase._UniqueID ; + , IIF( toFoxBin2Prg.l_ClearUniqueID, '', loClase._UniqueID ) ; , IIF( toFoxBin2Prg.l_UseTimestamps, loClase._TimeStamp, 0 ) ; , loClase._Class ; , loClase._ClassLoc ; @@ -5183,7 +5190,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin , loFile._Comments ; , .T. ; , loFile._CPID ; - , loFile._ID ; + , IIF( toFoxBin2Prg.l_ClearUniqueID, 0, loFile._ID ) ; , IIF( toFoxBin2Prg.l_UseTimestamps, loFile._TimeStamp, 0 ) ; , loFile._ObjRev ; , UPPER(JUSTSTEM(loFile._Name)) ) @@ -5850,6 +5857,9 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin IF NOT toFoxBin2Prg.l_UseTimestamps loReg.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loReg.UNIQUEID = '' + ENDIF *-- Ajuste de los tipos de dato FOR I = 1 TO AMEMBERS(laProps, loReg, 0) @@ -7750,7 +7760,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base Baseclass="<>" Timestamp="<>" Scale="<>" - Uniqueid="<>" + Uniqueid="<>" ENDTEXT IF NOT EMPTY(toRegClass.OLE2) @@ -7821,7 +7831,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDTEXT TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 - <<>> platform="WINDOWS " uniqueid="<>" timestamp="<>" objtype="<>" <<>> + <<>> platform="WINDOWS " uniqueid="<>" timestamp="<>" objtype="<>" <<>> ENDTEXT TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 @@ -7933,7 +7943,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDTEXT TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 - <<>> platform="WINDOWS " uniqueid="<>" timestamp="<>" objtype="<>" <<>> + <<>> platform="WINDOWS " uniqueid="<>" timestamp="<>" objtype="<>" <<>> ENDTEXT TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 @@ -8045,7 +8055,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDTEXT TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 - <<>> platform="WINDOWS " uniqueid="<>" timestamp="<>" objtype="<>" <<>> + <<>> platform="WINDOWS " uniqueid="<>" timestamp="<>" objtype="<>" <<>> ENDTEXT TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 @@ -8166,6 +8176,9 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base IF NOT toFoxBin2Prg.l_UseTimestamps loReg.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loReg.UNIQUEID = '' + ENDIF lcOLEChecksum = SYS(2007, loReg.OLE, 0, 1) llOleExistente = .F. @@ -8324,6 +8337,9 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegClass.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegClass.UNIQUEID = '' + ENDIF lcObjName = ALLTRIM(loRegClass.OBJNAME) @@ -8352,6 +8368,9 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegObj.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegObj.UNIQUEID = '' + ENDIF ADDPROPERTY( loRegObj, '_ZOrder', RECNO()*100 ) && Para permitir insertar objetos manualmente entre medias al integrar cambios THIS.write_ADD_OBJECTS_WithProperties( @loRegObj ) @@ -8383,6 +8402,9 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegObj.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegObj.UNIQUEID = '' + ENDIF THIS.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods ) ENDSCAN @@ -8529,6 +8551,9 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegObj.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegObj.UNIQUEID = '' + ENDIF ADDPROPERTY( loRegObj, '_ZOrder', RECNO()*100 ) && Para permitir insertar objetos manualmente entre medias al integrar cambios THIS.write_ADD_OBJECTS_WithProperties( @loRegObj ) @@ -8562,6 +8587,9 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegObj.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegObj.UNIQUEID = '' + ENDIF THIS.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods ) ENDSCAN @@ -8653,6 +8681,9 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loReg.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loReg.ID = 0 + ENDIF loProject._HomeDir = ['] + ALLTRIM( THIS.get_ValueFromNullTerminatedValue( loReg.HOMEDIR ) ) + ['] @@ -8694,6 +8725,9 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loReg.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loReg.ID = 0 + ENDIF loReg.NAME = LOWER( ALLTRIM( THIS.get_ValueFromNullTerminatedValue( loReg.NAME ) ) ) loReg.COMMENTS = ALLTRIM( THIS.get_ValueFromNullTerminatedValue( loReg.COMMENTS ) ) @@ -9352,6 +9386,9 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegCab.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegCab.UNIQUEID = '' + ENDIF ENDIF *-- Dataenvironment @@ -9362,6 +9399,9 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegDataEnv.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegDataEnv.UNIQUEID = '' + ENDIF ENDIF *-- Cursor1 (¿puede haber más de 1 cursor?) @@ -9372,6 +9412,9 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegCur.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegCur.UNIQUEID = '' + ENDIF ENDIF IF THIS.l_ReportSort_Enabled @@ -9407,6 +9450,9 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg IF NOT toFoxBin2Prg.l_UseTimestamps loRegObj.TIMESTAMP = 0 ENDIF + IF toFoxBin2Prg.l_ClearUniqueID + loRegObj.UNIQUEID = '' + ENDIF THIS.write_DETALLE_REPORTE( @loRegObj ) ENDSCAN From eb624bbbc1995a7ff3b8997d5ae3d5dd687ecbf9 Mon Sep 17 00:00:00 2001 From: fernando Date: Sun, 9 Feb 2014 16:04:49 +0100 Subject: [PATCH 4/4] Changeset: 162 - Ajuste de algunos casos de prueba FoxUnit --- .../ft__foxbin2prg__c_conversor_prg_a_dbf.prg | 4 ++++ TESTS/ut__foxbin2prg.prg | 4 ++++ foxbin2prg.pj2 | 6 +++--- foxbin2prg.pjt | Bin 349952 -> 349888 bytes foxbin2prg.pjx | Bin 1583 -> 1583 bytes foxbin2prg.prg | 2 +- 6 files changed, 12 insertions(+), 4 deletions(-) diff --git a/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg b/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg index 1cc0ea2..fdaffef 100644 --- a/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg +++ b/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg @@ -107,6 +107,7 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' ) lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' ) lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) ) + loCnv.DBF_Conversion_Support = 2 oFXU_LIB.copiarArchivosParaTest( lc_File ) @@ -176,6 +177,7 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' ) lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' ) lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) ) + loCnv.DBF_Conversion_Support = 2 oFXU_LIB.copiarArchivosParaTest( lc_File ) @@ -246,6 +248,7 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' ) lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' ) lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) ) + loCnv.DBF_Conversion_Support = 2 oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) @@ -316,6 +319,7 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' ) lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' ) lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) ) + loCnv.DBF_Conversion_Support = 2 oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) diff --git a/TESTS/ut__foxbin2prg.prg b/TESTS/ut__foxbin2prg.prg index 302baec..2291856 100644 --- a/TESTS/ut__foxbin2prg.prg +++ b/TESTS/ut__foxbin2prg.prg @@ -291,6 +291,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' ) lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' ) lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) ) + loCnv.DBF_Conversion_Support = 2 + loCnv.l_UseTimestamps = .T. oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) @@ -365,6 +367,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' ) lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' ) lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) ) + loCnv.DBF_Conversion_Support = 2 + loCnv.l_UseTimestamps = .T. oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index a56a39c..7203a8a 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -26,7 +26,7 @@ _LegalTrademark = "Open Source" _ProductName = " FOXBIN2PRG" _MajorVer = "1" _MinorVer = "19" -_Revision = " 252" +_Revision = " 253" _LanguageID = "1034" _AutoIncrement = "1" * @@ -50,8 +50,8 @@ 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="1145666170" ID="1130644423" ObjRev="544" /> + .ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="0" ObjRev="0" /> + .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1145667342" ID="0" ObjRev="544" /> * .ITEM('__newproject.f2b').Remove() diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index 4c4aee79a12b073921a84be441996044e587455c..24800a122278c26bdd6cde1e74002d098d97efc1 100644 GIT binary patch delta 4934 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 Ee{l(H%K!iX delta 5168 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 diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index 6e356887e88b7229bda97f91deb5aef75579631b..daa87501a3a8d3441dbba82278c5693003751d39 100644 GIT binary patch delta 25 ecmZ3_vz}+eJ{A^pV-w@WhgcXv45P`%STg}>vj@Wf delta 25 fcmZ3_vz}+eJ{A@;Lkp9|hgcYa40D6Y$5=A~X}$-; diff --git a/foxbin2prg.prg b/foxbin2prg.prg index ecdf5a8..b07b9cd 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -1205,7 +1205,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'CDX' ), '+N' ) CASE lcExtension = .c_DC2 - IF THIS.DCX_Conversion_Support <> 2 + IF THIS.DBC_Conversion_Support <> 2 ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'DBC' )