diff --git a/Convert_VFP9_BIN_2_PRG.vbs b/Convert_VFP9_BIN_2_PRG.vbs index 75b9077..eae6e93 100644 --- a/Convert_VFP9_BIN_2_PRG.vbs +++ b/Convert_VFP9_BIN_2_PRG.vbs @@ -59,7 +59,7 @@ Else oVFP9.DoCmd( "SET PROCEDURE TO '" & cEXETool & "'" ) oVFP9.DoCmd( "PUBLIC oFoxBin2prg" ) oVFP9.DoCmd( "oFoxBin2prg = CREATEOBJECT('c_foxbin2prg')" ) - oVFP9.DoCmd( "oFoxBin2prg.cargar_frm_avance()" ) + oVFP9.DoCmd( "oFoxBin2prg.loadProgressbarForm()" ) oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress" ) For i = 0 To WScript.Arguments.Count-1 @@ -87,13 +87,13 @@ Else oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress + ' (Press Esc to Cancel)'" ) For i = 1 To nFile_Count - oVFP9.DoCmd( "oFoxBin2Prg.AvanceDelProceso(oFoxBin2Prg.c_loc_processing_file + ' " & aFiles(i) & "...', " & i & ", " & nFile_Count & ", 0)" ) + oVFP9.DoCmd( "oFoxBin2Prg.updateProgressbar(oFoxBin2Prg.c_loc_processing_file + ' " & aFiles(i) & "...', " & i & ", " & nFile_Count & ", 0)" ) cFlagRecompile = "'" & FileSystemObject.GetParentFolderName( aFiles(i) ) & "'" If nDebug = 0 Or nDebug = 2 Then - cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "' )" + cCMD = "oFoxBin2prg.execute( '" & aFiles(i) & "' )" Else - cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "','BIN2PRG','0','0'," _ + cCMD = "oFoxBin2prg.execute( '" & aFiles(i) & "','BIN2PRG','0','0'," _ & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," _ & cFlagRecompile & "," & cFlagNoTimestamps & " )" End If @@ -143,7 +143,7 @@ Private Sub scanDirs( tcArgument ) Dim omFolder, oFolder If FileSystemObject.FolderExists( tcArgument ) Then '-- Es un directorio - oVFP9.DoCmd( "oFoxBin2Prg.AvanceDelProceso('Scanning file and directory information on " & tcArgument & "...', 0, 0, 0)" ) + oVFP9.DoCmd( "oFoxBin2Prg.updateProgressbar('Scanning file and directory information on " & tcArgument & "...', 0, 0, 0)" ) Set omFolder = FileSystemObject.GetFolder( tcArgument ) For Each oFile IN omFolder.Files evaluateFile( oFile.Path ) @@ -160,12 +160,12 @@ End Sub Private Sub evaluateFile( tcFile ) 'lcExt = UCase( FileSystemObject.GetExtensionName( tcFile ) ) - 'oVFP9.DoCmd( "oFoxBin2prg.EvaluarConfiguracion( '1', '1', '', '', '', '', '', '', '" & tcFile & "' )" ) + 'oVFP9.DoCmd( "oFoxBin2prg.evaluateConfiguration( '1', '1', '', '', '', '', '', '', '" & tcFile & "' )" ) - 'PROCEDURE EvaluarConfiguracion + 'PROCEDURE evaluateConfiguration ' LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcFlagNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ; ' , tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile - 'If oVFP9.Eval("oFoxBin2prg.TieneSoporte_Bin2Prg('" & lcExt & "')") Then + 'If oVFP9.Eval("oFoxBin2prg.hasSupport_Bin2Prg('" & lcExt & "')") Then nFile_Count = nFile_Count + 1 ReDim Preserve aFiles(nFile_Count) aFiles(nFile_Count) = tcFile diff --git a/Convert_VFP9_PRG_2_BIN.vbs b/Convert_VFP9_PRG_2_BIN.vbs index 58f5ade..d6c1587 100644 --- a/Convert_VFP9_PRG_2_BIN.vbs +++ b/Convert_VFP9_PRG_2_BIN.vbs @@ -59,7 +59,7 @@ Else oVFP9.DoCmd( "SET PROCEDURE TO '" & cEXETool & "'" ) oVFP9.DoCmd( "PUBLIC oFoxBin2prg" ) oVFP9.DoCmd( "oFoxBin2prg = CREATEOBJECT('c_foxbin2prg')" ) - oVFP9.DoCmd( "oFoxBin2prg.cargar_frm_avance()" ) + oVFP9.DoCmd( "oFoxBin2prg.loadProgressbarForm()" ) oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress" ) For i = 0 To WScript.Arguments.Count-1 @@ -93,13 +93,13 @@ Else oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress + ' (Press Esc to Cancel)'" ) For i = 1 To nFile_Count - oVFP9.DoCmd( "oFoxBin2Prg.AvanceDelProceso(oFoxBin2Prg.c_loc_processing_file + ' " & aFiles(i) & "...', " & i & ", " & nFile_Count & ", 0)" ) + oVFP9.DoCmd( "oFoxBin2Prg.updateProgressbar(oFoxBin2Prg.c_loc_processing_file + ' " & aFiles(i) & "...', " & i & ", " & nFile_Count & ", 0)" ) cFlagRecompile = "'" & FileSystemObject.GetParentFolderName( aFiles(i) ) & "'" If nDebug = 0 Or nDebug = 2 Then - cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "' )" + cCMD = "oFoxBin2prg.execute( '" & aFiles(i) & "' )" Else - cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "','PRG2BIN','0','0'," _ + cCMD = "oFoxBin2prg.execute( '" & aFiles(i) & "','PRG2BIN','0','0'," _ & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," _ & cFlagRecompile & "," & cFlagNoTimestamps & " )" End If @@ -149,7 +149,7 @@ Private Sub scanDirs( tcArgument ) Dim omFolder, oFolder If FileSystemObject.FolderExists( tcArgument ) Then '-- Es un directorio - oVFP9.DoCmd( "oFoxBin2Prg.AvanceDelProceso('Scanning file and directory information on " & tcArgument & "...', 0, 0, 0)" ) + oVFP9.DoCmd( "oFoxBin2Prg.updateProgressbar('Scanning file and directory information on " & tcArgument & "...', 0, 0, 0)" ) Set omFolder = FileSystemObject.GetFolder( tcArgument ) For Each oFile IN omFolder.Files evaluateFile( oFile.Path ) @@ -171,11 +171,11 @@ Private Sub evaluateFile( tcFile ) 'lnPoints = UBound(laPoints) '-- No proceso los archivos con más de un punto (clases en archivos individuales) por performance 'If lnPoints = 1 Then - 'PROCEDURE EvaluarConfiguracion + 'PROCEDURE evaluateConfiguration ' LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcFlagNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ; ' , tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile - 'oVFP9.DoCmd( "oFoxBin2prg.EvaluarConfiguracion( '1', '1', '', '', '', '', '', '', '" & tcFile & "' )" ) - 'If oVFP9.Eval("oFoxBin2prg.TieneSoporte_Prg2Bin('" & lcExt & "')") Then + 'oVFP9.DoCmd( "oFoxBin2prg.evaluateConfiguration( '1', '1', '', '', '', '', '', '', '" & tcFile & "' )" ) + 'If oVFP9.Eval("oFoxBin2prg.hasSupport_Prg2Bin('" & lcExt & "')") Then nFile_Count = nFile_Count + 1 ReDim Preserve aFiles(nFile_Count) aFiles(nFile_Count) = tcFile diff --git a/FoxBin2PRGVersionFile.txt b/FoxBin2PRGVersionFile.txt index 5d34353..459e8ed 100644 --- a/FoxBin2PRGVersionFile.txt +++ b/FoxBin2PRGVersionFile.txt @@ -2,8 +2,8 @@ Lparameters toUpdateInfo Local lcNote With toUpdateInfo - .VersionNumber = 'v1.19.41' - .VersionDate = Date(2015,01,18) + .VersionNumber = 'v1.19.42' + .VersionDate = Date(2015,04,16) .SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip' .Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG' @@ -17,6 +17,39 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg Change History ------------------------------------------------------------- +2015/04/16 v1.19.42 +- Feature: Added VFP 9 SP1 runtime validation +- Bug Fix: Broken SourceSafe compatibility because an error is thrown when querying for file support (Tuvia Vinitsky) +- Bug Fix scx/vcx: Process only one TEXT/ENDTEXT nesting level because TEXT/ENDTEXT can't be nested (Lutz Scheffler) +- Feature: Make some error descriptions more informative and precise (Lutz Scheffler) +- Feature (API): Allow specifying inputFile with relative path (Lutz Scheffler) +- Bug Fix scx: Metadata of Dataenvironment not properly generated when Dataenvironment is renamed +- Bug Fix: Added PJX/PJ2 generation when specifying "file.pjx", "*" (Lutz Scheffler) +- Some enhancements in german translations (Lutz Scheffler) +- Feature: Added multiprocessing of projects (*.pjx, *.pj2) when specifying "file.pjx", "*" (Lutz Scheffler) +- Change FoxBin2Prg base class from custom to session (Lutz Scheffler) +- Feature: Allow processing all project files without converting the PJX/2, with "*-" (Lutz Scheffler) +- Bug Fix pjx/pj2: If end of line (CR+LF) is used on pjx's "Build" properties data, generated pj2 is malformed +- Feature: Default foxbin2prg.cfg configuration file renamed to foxbin2prg.cfg.txt to no overwrite user cfg (Lutz Scheffler) +- Added DOS errOut output support and implemented in writeErrorLog when logging errors +- Feature: Added full support for *? file masks for multi-processing files of the same extension +- Feature (API): Added new parameter to allow alternative main CFG (Lutz Scheffler) +- Feature (API): Added new get_Processed() method for obtaining information about processed files (Lutz Scheffler) +- Feature: Added new file processing output to DOS stdOut (Lutz Scheffler) +- Bug Fix: Fixed processing cancelation with Esc key +- Feature: Sort table/view fields alphabetically to facilitate diffing and merging, while maintaining a list with the original field order for correct DBC regeneration (Ryan Harris) +- Feature: Apply ClassPerFile to DBC connections, tables, views and SPs (Ryan Harris) +- Bug Fix vw: Views now save/restore their Path and RecordCount properties +- Feature: New default FoxBin2Prg App icon and background image, configurable with a new CFG "BackgroundImage" setting +- Bug Fix mnx: Empty Pad name is not kept when regenerating a menu defined with and empty Pad name (Lutz Scheffler) +- Feature (API): New property "l_ProcessFiles" that allow setting to .F. when using foxbin2prg as object to get Processing file info with get_Processed method without actual processing +- Bug Fix frx/lbx: Trimmed some extra CR,LF,TAB from FR2/LB2 tag that where included in previous versions (Ryan Harris) +- Bug Fix scx/vcx/dbc: Delete ERR files when processing with UseClassPerFile switch (Ryan Harris) +- Feature: Implemented CFG inheritance between directories +- Feature (API): New method get_DirSettings() that returns the CFG settings object for the indicated directory (Lutz Scheffler) +- Feature: Allow generation of text for a single class of a librery when using ClassPerFile (Lutz Scheffler) +- Feature (API): Renowned method names to English to facilitate international understanding (Mike Potjer) + 2015/01/18 v1.19.41 - Bug Fix db2: Erroneous detection of Invalid Table when size is less than 328 bytes. Lower limit was changed to 65 bytes. - Bug Fix vcx/scx: Erroneous detection of PROCEDURE/ENDPROC structures when used as parameters of LPARAMETERS and start in new line (Ryan Harris) diff --git a/TESTS/DATOS_READONLY/FB2P_DBC.DC2 b/TESTS/DATOS_READONLY/FB2P_DBC.DC2 index 06eda8c..6cc2582 100644 --- a/TESTS/DATOS_READONLY/FB2P_DBC.DC2 +++ b/TESTS/DATOS_READONLY/FB2P_DBC.DC2 @@ -102,7 +102,16 @@ .T. + + descrip + + .F. + + + + + @@ -181,17 +190,12 @@ - id - - .T. - - - edad_nd + depto .F. - notdeleted + edad_nd .F. @@ -201,21 +205,38 @@ .T. - depto + i_nombre .F. + + id + + .T. + nombre .F. - i_nombre + notdeleted .F. + + + + Relation 1 + NOMBRELARGODELDBF + FB2P_DEPTO + DEPTO + DEPTO + + + +
@@ -393,6 +414,10 @@ STROSNC.DB_DEBUG_SETUP.USUARIO + + + + @@ -502,6 +527,123 @@ fb2p_dbc!nombrelargodeldbf.depto + + + + + + + + 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 + + + + + + @@ -579,6 +721,10 @@ CONVENIOS.HISTORICO + + + + @@ -624,6 +770,10 @@ DUAL.DUMMY + + + + diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dbc b/TESTS/DATOS_READONLY/fb2p_dbc.dbc index 39fe57a..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 b5f6cf7..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 2ed3928..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/fb2p_depto.cdx b/TESTS/DATOS_READONLY/fb2p_depto.cdx index cd8311d..3ff0d94 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_depto.cdx and b/TESTS/DATOS_READONLY/fb2p_depto.cdx differ diff --git a/TESTS/DATOS_READONLY/fb2p_depto.db2 b/TESTS/DATOS_READONLY/fb2p_depto.db2 index 219fad7..be40ecc 100644 --- a/TESTS/DATOS_READONLY/fb2p_depto.db2 +++ b/TESTS/DATOS_READONLY/fb2p_depto.db2 @@ -8,7 +8,7 @@ 1252 - 2014/01/06 + fb2p_dbc.dbc0x00000030Visual FoxPro @@ -68,6 +68,22 @@ ASCENDINGMACHINE + + DESCRIP + REGULAR + DESCRIP + + DESCENDING + GENERAL + + + + + D.1.C + la descrip + + +
diff --git a/TESTS/DATOS_READONLY/fb2p_depto.dbf b/TESTS/DATOS_READONLY/fb2p_depto.dbf index b6df061..6b4840d 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_depto.dbf and b/TESTS/DATOS_READONLY/fb2p_depto.dbf 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/test_report.fr2 b/TESTS/DATOS_READONLY/test_report.fr2 index 4cb613f..81ef573 100644 --- a/TESTS/DATOS_READONLY/test_report.fr2 +++ b/TESTS/DATOS_READONLY/test_report.fr2 @@ -84,8 +84,7 @@ and .t.]]> - +