diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index 1e10043..4c92918 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -107,6 +107,7 @@
* 19/09/2014 FDBOZZO v1.19.34 Arreglo bug: Si se ejecuta FoxBin2Prg desde ventana de comandos FoxPro para un proyecto y hay algún archivo abierto o cacheado, se produce un error al intentar capitalizar el archivo de entrada (Jim Nelson)
* 26/09/2014 FDBOZZO v1.19.35 Mejora: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizaría los cambios al regenerarlos (Marcio Gomez G.)
* 08/10/2014 FDBOZZO v1.19.36 Arreglo bug: Al generar el mn2 el identificador queda vacío (bug introducido en v1.19.35)
+* 19/11/2014 FDBOZZO v1.19.37 Mejora: Las configuraciones de foxbin2prg.cfg no permiten comentarios && al final (edyshor)
*
*
*---------------------------------------------------------------------------------------------------
@@ -153,6 +154,7 @@
* 28/08/2014 Peter Hipp REPORTE BUG mnx v1.19.32: Si una opción tiene asociado un Procedure de 1 línea, no se mantiene como Procedure y se convierte a Command (solucionado en v1.19.33)
* 19/09/2014 Jim Nelson REPORTE BUG v1.19.33: Si se ejecuta FoxBin2Prg desde ventana de comandos FoxPro para un proyecto y hay algún archivo abierto o cacheado, se produce un error (solucionado en v1.19.34)
* 26/09/2014 Marcio Gomez G. MEJORA v1.19.34: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizaría los cambios al regenerarlos (Agregado en v1.19.35)
+* 19/11/2014 edyshor MEJORA cfg v1.19.36: DBF_Conversion_Excluded no permite comentarios && al final (Agregado en v1.19.37)
*
*
*---------------------------------------------------------------------------------------------------
@@ -504,6 +506,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -545,6 +548,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -1138,7 +1142,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ;
, tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile
- LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt, lcValue, lc_CFG_Path ;
+ LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt, lcValue, lc_CFG_Path, lcConfigLine ;
, lo_CFG AS CL_CFG OF 'FOXBIN2PRG.PRG' ;
, lo_Configuration AS Collection ;
, loEx as Exception
@@ -1185,10 +1189,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDIF
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 )
- laConfig(I) = LOWER( laConfig(I) )
+ *laConfig(I) = LOWER( laConfig(I) )
+ .set_Line( @lcConfigLine, @laConfig, I )
+ .get_SeparatedLineAndComment( @lcConfigLine )
+ laConfig(I) = LOWER( lcConfigLine )
DO CASE
- CASE INLIST( LEFT( laConfig(I), 1 ), '*', '#', '/', "'" )
+ CASE EMPTY( laConfig(I) ) OR INLIST( LEFT( laConfig(I), 1 ), '*', '#', '/', "'" )
LOOP
CASE LEFT( laConfig(I), 10 ) == LOWER('Extension:')
@@ -2212,6 +2219,26 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDPROC
+ PROCEDURE get_SeparatedLineAndComment
+ *---------------------------------------------------------------------------------------------------
+ * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
+ * tcLine (!@ IN/OUT) Línea a separar del comentario
+ * tcComment (@? OUT) Comentario
+ *---------------------------------------------------------------------------------------------------
+ LPARAMETERS tcLine, tcComment
+ LOCAL ln_AT_Cmt
+ tcComment = ''
+ ln_AT_Cmt = AT( '&'+'&', tcLine)
+
+ IF ln_AT_Cmt > 0
+ tcComment = LTRIM( SUBSTR( tcLine, ln_AT_Cmt + 2 ) )
+ tcLine = RTRIM( LEFT( tcLine, ln_AT_Cmt - 1 ), 0, CHR(9) ) && Quito TABS
+ ENDIF
+
+ RETURN (ln_AT_Cmt > 0)
+ ENDPROC
+
+
*******************************************************************************************************************
PROCEDURE normalizarCapitalizacionArchivos
LPARAMETERS tl_NormalizeInputFile
@@ -2353,6 +2380,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDPROC
+ *******************************************************************************************************************
+ PROCEDURE set_Line
+ LPARAMETERS tcLine, taCodeLines, I
+ tcLine = LTRIM( taCodeLines(I), 0, ' ', CHR(9) )
+ ENDPROC
+
+
*******************************************************************************************************************
PROCEDURE writeErrorLog
LPARAMETERS tcText