- Nueva optimización de regeneración solo cuando el timestamp de archivo origen y destino no sean iguales (desactivado por defecto e incompleto)
- Nueva función ChangeFileTime - Mejora API: Nuevo método get_DirSettings() para devolver el objeto CFG del directorio indicado
This commit is contained in:
350
foxbin2prg.prg
350
foxbin2prg.prg
@@ -156,6 +156,7 @@
|
|||||||
* 25/03/2015 FDBOZZO v1.19.42 Mejora API: Nueva propiedad l_ProcessFiles que permite obtener la lista de archivos a procesar sin procesarlos realmente usando el valor .F.
|
* 25/03/2015 FDBOZZO v1.19.42 Mejora API: Nueva propiedad l_ProcessFiles que permite obtener la lista de archivos a procesar sin procesarlos realmente usando el valor .F.
|
||||||
* 25/03/2015 FDBOZZO v1.19.42 Bug Fix frx/lbx: Arreglo de CR,LF,TAB sobrantes en algunos archivos FR2/LB2 agregados en versiones anteriores (Ryan Harris)
|
* 25/03/2015 FDBOZZO v1.19.42 Bug Fix frx/lbx: Arreglo de CR,LF,TAB sobrantes en algunos archivos FR2/LB2 agregados en versiones anteriores (Ryan Harris)
|
||||||
* 02/04/2015 FDBOZZO v1.19.42 Mejora: Herencia de CFGs entre directorios
|
* 02/04/2015 FDBOZZO v1.19.42 Mejora: Herencia de CFGs entre directorios
|
||||||
|
* 12/04/2015 FDBOZZO v1.19.42 Mejora API: Crear un m<>todo API get_DirSettings() para obtener informaci<63>n de seteos del directorio indicado (Lutz Scheffler)
|
||||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -233,6 +234,7 @@
|
|||||||
* 23/03/2015 Lutz Scheffler Reporte bug mnx v1.19.41: No se mantiene el Pad vac<61>o al regenerar el men<65> cuando se define un menu con un Pad sin nombre (Arreglado en v1.19.42)
|
* 23/03/2015 Lutz Scheffler Reporte bug mnx v1.19.41: No se mantiene el Pad vac<61>o al regenerar el men<65> cuando se define un menu con un Pad sin nombre (Arreglado en v1.19.42)
|
||||||
* 24/03/2015 Ryan Harris Reporte bug frx/lbx v1.19.41: Hay algunos CR,LF,TAB sobrantes en las etiquetas tag de algunos archivos FR2/LB2 (Arreglado en v1.19.42)
|
* 24/03/2015 Ryan Harris Reporte bug frx/lbx v1.19.41: Hay algunos CR,LF,TAB sobrantes en las etiquetas tag de algunos archivos FR2/LB2 (Arreglado en v1.19.42)
|
||||||
* 24/03/2015 Ryan Harris Mejora v1.19.41: Borrar archivos ERR al procesar, cuando se usa UseClassPerFile (Agregado en v1.19.42)
|
* 24/03/2015 Ryan Harris Mejora v1.19.41: Borrar archivos ERR al procesar, cuando se usa UseClassPerFile (Agregado en v1.19.42)
|
||||||
|
* 10/04/2015 Lutz Scheffler Mejora v1.19.41: Crear un m<>todo API get_DirSettings() para obtener informaci<63>n de seteos del directorio indicado (Agregado en v1.19.42)
|
||||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -246,10 +248,12 @@
|
|||||||
* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar
|
* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar
|
||||||
* - Si se indica "BIN2PRG", se procesa el directorio indicado en tcType para generar los TX2
|
* - Si se indica "BIN2PRG", se procesa el directorio indicado en tcType para generar los TX2
|
||||||
* - Si se indica "PRG2BIN", se procesa el directorio indicado en tcType para generar los BIN
|
* - Si se indica "PRG2BIN", se procesa el directorio indicado en tcType para generar los BIN
|
||||||
* tcType (v? IN ) Tipo de archivo de entrada. Compatibilidad con SCCTEXT.PRG
|
* - En modo compatibilidad con Visual SourceSafe, se usa para preguntar el tipo de soporte de conversi<73>n para el tipo de archivo indicado
|
||||||
|
* tcType (v? IN ) Tipo de archivo de entrada
|
||||||
* - Si se indica "*" y tc_InputFile es un PJX, se procesa todo el proyecto
|
* - Si se indica "*" y tc_InputFile es un PJX, se procesa todo el proyecto
|
||||||
* tcTextName (v? IN ) Nombre del archivo texto. Compatibilidad con SCCTEXT.PRG
|
* - En modo compatibilidad con Visual SourceSafe, indica el tipo de archivo a convertir
|
||||||
* tlGenText (v? IN ) .T.=Genera Texto, .F.=Genera Binario. Compatibilidad con SCCTEXT.PRG
|
* tcTextName (v? IN ) Nombre del archivo texto. (Solo para compatibilidad con Visual SourceSafe)
|
||||||
|
* tlGenText (v? IN ) .T.=Genera Texto, .F.=Genera Binario. (Solo para compatibilidad con Visual SourceSafe)
|
||||||
* tcDontShowErrors (v? IN ) '1' para NO mostrar errores con MESSAGEBOX
|
* tcDontShowErrors (v? IN ) '1' para NO mostrar errores con MESSAGEBOX
|
||||||
* tcDebug (v? IN ) '1' para depurar en el sitio donde ocurre el error (solo modo desarrollo)
|
* tcDebug (v? IN ) '1' para depurar en el sitio donde ocurre el error (solo modo desarrollo)
|
||||||
* tcDontShowProgress (v? IN ) '1' para NO mostrar la ventana de progreso
|
* tcDontShowProgress (v? IN ) '1' para NO mostrar la ventana de progreso
|
||||||
@@ -497,7 +501,7 @@ ADDPROPERTY(_SCREEN, 'ExitCode', lnResp)
|
|||||||
IF _VFP.STARTMODE <> 4 && 4 = Visual FoxPro was started as a distributable .app or .exe file.
|
IF _VFP.STARTMODE <> 4 && 4 = Visual FoxPro was started as a distributable .app or .exe file.
|
||||||
STORE NULL TO loEx, loCnv
|
STORE NULL TO loEx, loCnv
|
||||||
RELEASE loEx, loCnv
|
RELEASE loEx, loCnv
|
||||||
RETURN lnResp
|
RETURN lnResp && lnResp contiene un c<>digo de error, pero invocado desde SourceSafe puede contener el tipo de soporte de archivo (0,1,2).
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF EMPTY(lnResp) OR VARTYPE(loEx) # "O"
|
IF EMPTY(lnResp) OR VARTYPE(loEx) # "O"
|
||||||
@@ -516,7 +520,7 @@ QUIT
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE CLASS c_foxbin2prg AS SESSION
|
DEFINE CLASS c_foxbin2prg AS Session
|
||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
+ [<memberdata name="addprocessedfile" display="addProcessedFile"/>] ;
|
+ [<memberdata name="addprocessedfile" display="addProcessedFile"/>] ;
|
||||||
+ [<memberdata name="avancedelproceso" display="AvanceDelProceso"/>] ;
|
+ [<memberdata name="avancedelproceso" display="AvanceDelProceso"/>] ;
|
||||||
@@ -546,6 +550,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
+ [<memberdata name="c_sc2" display="c_SC2"/>] ;
|
+ [<memberdata name="c_sc2" display="c_SC2"/>] ;
|
||||||
+ [<memberdata name="c_vc2" display="c_VC2"/>] ;
|
+ [<memberdata name="c_vc2" display="c_VC2"/>] ;
|
||||||
+ [<memberdata name="changefileattribute" display="ChangeFileAttribute"/>] ;
|
+ [<memberdata name="changefileattribute" display="ChangeFileAttribute"/>] ;
|
||||||
|
+ [<memberdata name="changefiletime" display="ChangeFileTime"/>] ;
|
||||||
+ [<memberdata name="compilefoxprobinary" display="compileFoxProBinary"/>] ;
|
+ [<memberdata name="compilefoxprobinary" display="compileFoxProBinary"/>] ;
|
||||||
+ [<memberdata name="dobackup" display="doBackup"/>] ;
|
+ [<memberdata name="dobackup" display="doBackup"/>] ;
|
||||||
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
|
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
|
||||||
@@ -557,6 +562,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
+ [<memberdata name="filenamefoundinfilter" display="FilenameFoundInFilter"/>] ;
|
+ [<memberdata name="filenamefoundinfilter" display="FilenameFoundInFilter"/>] ;
|
||||||
+ [<memberdata name="filescomparedareequal" display="FilesComparedAreEqual"/>] ;
|
+ [<memberdata name="filescomparedareequal" display="FilesComparedAreEqual"/>] ;
|
||||||
+ [<memberdata name="changelanguage" display="ChangeLanguage"/>] ;
|
+ [<memberdata name="changelanguage" display="ChangeLanguage"/>] ;
|
||||||
|
+ [<memberdata name="get_dirsettings" display="get_DirSettings"/>] ;
|
||||||
+ [<memberdata name="get_l_cfg_cachedaccess" display="get_l_CFG_CachedAccess"/>] ;
|
+ [<memberdata name="get_l_cfg_cachedaccess" display="get_l_CFG_CachedAccess"/>] ;
|
||||||
+ [<memberdata name="get_l_configevaluated" display="get_l_ConfigEvaluated"/>] ;
|
+ [<memberdata name="get_l_configevaluated" display="get_l_ConfigEvaluated"/>] ;
|
||||||
+ [<memberdata name="get_textfilenames" display="get_TextFileNames"/>] ;
|
+ [<memberdata name="get_textfilenames" display="get_TextFileNames"/>] ;
|
||||||
@@ -581,7 +587,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
||||||
+ [<memberdata name="l_notimestamps" display="l_NoTimestamps"/>] ;
|
+ [<memberdata name="l_notimestamps" display="l_NoTimestamps"/>] ;
|
||||||
+ [<memberdata name="c_backgroundimage" display="c_BackgroundImage"/>] ;
|
+ [<memberdata name="c_backgroundimage" display="c_BackgroundImage"/>] ;
|
||||||
+ [<memberdata name="l_optimizebyfilestamp" display="l_OptimizeByFilestamp"/>] ;
|
+ [<memberdata name="n_optimizebyfilestamp" display="n_OptimizeByFilestamp"/>] ;
|
||||||
+ [<memberdata name="l_propsort_enabled" display="l_PropSort_Enabled"/>] ;
|
+ [<memberdata name="l_propsort_enabled" display="l_PropSort_Enabled"/>] ;
|
||||||
+ [<memberdata name="l_recompile" display="l_Recompile"/>] ;
|
+ [<memberdata name="l_recompile" display="l_Recompile"/>] ;
|
||||||
+ [<memberdata name="l_redirectclassperfiletomain" display="l_RedirectClassPerFileToMain"/>] ;
|
+ [<memberdata name="l_redirectclassperfiletomain" display="l_RedirectClassPerFileToMain"/>] ;
|
||||||
@@ -680,7 +686,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
c_BackgroundImage = ''
|
c_BackgroundImage = ''
|
||||||
l_ClearUniqueID = .T.
|
l_ClearUniqueID = .T.
|
||||||
l_ClearDBFLastUpdate = .T.
|
l_ClearDBFLastUpdate = .T.
|
||||||
l_OptimizeByFilestamp = .F.
|
n_OptimizeByFilestamp = 0
|
||||||
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
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_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
|
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
@@ -751,9 +757,20 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Funciones para escribir en StdOut
|
*-- Funciones para escribir en StdOut
|
||||||
DECLARE INTEGER GetStdHandle IN Win32API INTEGER nHandleType
|
DECLARE INTEGER 'GetStdHandle' IN WIN32API AS fb2p_GetStdHandle INTEGER nHandleType
|
||||||
DECLARE INTEGER WriteFile IN Win32API INTEGER hFile, STRING @ cBuffer ;
|
DECLARE INTEGER 'WriteFile' IN WIN32API AS fb2p_WriteFile INTEGER hFile, STRING @ cBuffer, INTEGER nBytes, INTEGER @ nBytes2, INTEGER @ nBytes3
|
||||||
, INTEGER nBytes, INTEGER @ nBytes2, INTEGER @ nBytes3
|
*-- Funciones para ChangeFileTime
|
||||||
|
DECLARE INTEGER 'SetFileTime' IN WIN32API AS fb2p_SetFileTime INTEGER hFile, STRING lpCreationTime, STRING lpLastAccessTime, STRING lpLastWriteTime
|
||||||
|
DECLARE INTEGER 'GetFileAttributesEx' IN Win32API AS fb2p_GetFileAttributesEx STRING lpFileName, INTEGER fInfoLevelId, STRING @ lpFileInformation
|
||||||
|
DECLARE INTEGER 'LocalFileTimeToFileTime' IN Win32API AS fb2p_LocalFileTimeToFileTime STRING LOCALFILETIME, STRING @ FILETIME
|
||||||
|
DECLARE INTEGER 'FileTimeToSystemTime' IN Win32API AS fb2p_FileTimeToSystemTime STRING FILETIME, STRING @ SYSTEMTIME
|
||||||
|
DECLARE INTEGER 'SystemTimeToFileTime' IN Win32API AS fb2p_SystemTimeToFileTime STRING lpSYSTEMTIME, STRING @ FILETIME
|
||||||
|
DECLARE INTEGER '_lopen' IN Win32API AS fb2p_lopen STRING lpFileName, INTEGER iReadWrite
|
||||||
|
DECLARE INTEGER '_lclose' IN Win32API AS fb2p_lclose INTEGER hFile
|
||||||
|
*-- Funciones para ChangeFileAttributes
|
||||||
|
DECLARE SHORT 'SetFileAttributes' IN Win32API AS fb2p_SetFileAttributes STRING tcFileName, INTEGER dwFileAttributes
|
||||||
|
DECLARE INTEGER 'GetFileAttributes' IN Win32API AS fb2p_GetFileAttributes STRING tcFileName
|
||||||
|
*--
|
||||||
|
|
||||||
IF FILE(THIS.c_ErrorLogFile) THEN
|
IF FILE(THIS.c_ErrorLogFile) THEN
|
||||||
ERASE (THIS.c_ErrorLogFile + '.BAK')
|
ERASE (THIS.c_ErrorLogFile + '.BAK')
|
||||||
@@ -815,6 +832,13 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
THIS.o_FSO = NULL
|
THIS.o_FSO = NULL
|
||||||
THIS.o_WSH = NULL
|
THIS.o_WSH = NULL
|
||||||
THIS.o_FNC = NULL
|
THIS.o_FNC = NULL
|
||||||
|
*-- Funciones para ChangeFileAttributes
|
||||||
|
CLEAR DLLS fb2p_SetFileAttributes, fb2p_GetFileAttributes
|
||||||
|
*-- Funciones para escribir en StdOut
|
||||||
|
CLEAR DLLS fb2p_GetStdHandle, fb2p_WriteFile
|
||||||
|
*-- Funciones para ChangeFileTime
|
||||||
|
CLEAR DLLS fb2p_SetFileTime, fb2p_GetFileAttributesEx, fb2p_LocalFileTimeToFileTime ;
|
||||||
|
, fb2p_FileTimeToSystemTime, fb2p_SystemTimeToFileTime, fb2p_lopen, fb2p_lclose
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@@ -877,7 +901,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
TRY
|
TRY
|
||||||
*-- Si o_Frm_Avance se habilit<69> de forma externa, n_ShowProgressbar podr<64>a ser 0 para controlarlo desde fuera.
|
*-- Si o_Frm_Avance se habilit<69> de forma externa, n_ShowProgressbar podr<64>a ser 0 para controlarlo desde fuera.
|
||||||
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
IF .l_ProcessFiles AND VARTYPE(.o_Frm_Avance) = "O" THEN
|
IF VARTYPE(.o_Frm_Avance) = "O" THEN
|
||||||
*-- Cuando esta rutina se invoca desde el script, este m<>todo es el #1 y no puede cancelarse todav<61>a
|
*-- Cuando esta rutina se invoca desde el script, este m<>todo es el #1 y no puede cancelarse todav<61>a
|
||||||
IF .o_Frm_Avance.l_Cancelled AND PROGRAM(-1) > 1 THEN
|
IF .o_Frm_Avance.l_Cancelled AND PROGRAM(-1) > 1 THEN
|
||||||
ERROR 1799
|
ERROR 1799
|
||||||
@@ -1072,11 +1096,11 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE l_OptimizeByFilestamp_ACCESS
|
PROCEDURE n_OptimizeByFilestamp_ACCESS
|
||||||
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
||||||
RETURN THIS.l_OptimizeByFilestamp
|
RETURN THIS.n_OptimizeByFilestamp
|
||||||
ELSE
|
ELSE
|
||||||
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_OptimizeByFilestamp, THIS.l_OptimizeByFilestamp )
|
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).n_OptimizeByFilestamp, THIS.n_OptimizeByFilestamp )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -1279,8 +1303,6 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL loEx AS EXCEPTION, dwFileAttributes, dwFileAttributes_Orig, lnRet
|
LOCAL loEx AS EXCEPTION, dwFileAttributes, dwFileAttributes_Orig, lnRet
|
||||||
DECLARE SHORT 'SetFileAttributes' IN kernel32 AS fb2p_SetFileAttributes STRING tcFileName, INTEGER dwFileAttributes
|
|
||||||
DECLARE INTEGER 'GetFileAttributes' IN kernel32 AS fb2p_GetFileAttributes STRING tcFileName
|
|
||||||
lnRet = 0
|
lnRet = 0
|
||||||
|
|
||||||
* read current attributes for this file
|
* read current attributes for this file
|
||||||
@@ -1352,7 +1374,6 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
THIS.writeLog( C_TAB + LOWER(PROGRAM()) + ' >> [' + tcFileName + '] lnRet = ' + TRANSFORM(lnRet) + ', dwFileAttributes_Orig = ' + TRANSFORM(dwFileAttributes_Orig) )
|
THIS.writeLog( C_TAB + LOWER(PROGRAM()) + ' >> [' + tcFileName + '] lnRet = ' + TRANSFORM(lnRet) + ', dwFileAttributes_Orig = ' + TRANSFORM(dwFileAttributes_Orig) )
|
||||||
CLEAR DLLS fb2p_SetFileAttributes, fb2p_GetFileAttributes
|
|
||||||
RELEASE tcFileName, tcAttrib, dwFileAttributes
|
RELEASE tcFileName, tcAttrib, dwFileAttributes
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
@@ -1360,6 +1381,96 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE ChangeFileTime
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* CAMBIAR LA FECHA/HORA DE UN ARCHIVO
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
|
* tcFileName (v! IN ) Nombre del archivo
|
||||||
|
* tcTimeType (v? IN ) C=Creation time, W=Last Write, A=Last Access
|
||||||
|
* tnYear (v? IN ) A<>o (>=1800)
|
||||||
|
* tnMonth (v? IN ) Mes (1-12)
|
||||||
|
* tnDay (v? IN ) D<>a (1-31)
|
||||||
|
* tnHour (v? IN ) Hora (0-23)
|
||||||
|
* tnMinute (v? IN ) Minuto (0-59)
|
||||||
|
* tnSec (v? IN ) Segundo (0-59)
|
||||||
|
* tnThou (v? IN ) <20>? (0-999)
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS m.tcFileName, m.tcTimeType, m.tnYear, m.tnMonth, m.tnDay, m.tnHour, m.tnMinute, m.tnSec, m.tnThou
|
||||||
|
|
||||||
|
#DEFINE OF_READWRITE 2
|
||||||
|
|
||||||
|
LOCAL m.lpFileInformation, m.cS, m.nPar, m.fh, M.lpFileInformation, m.lpSysTime, m.cCreation ;
|
||||||
|
, M.cLastAccess, m.cLastWrite, m.cBuffTime, m.cBuffTime1, M.cTT,m.nYear1, m.nMonth1, m.nDay1, m.nHour1 ;
|
||||||
|
, M.nMinute1, m.nSec1, m.nThou1, llRetorno
|
||||||
|
|
||||||
|
TRY
|
||||||
|
m.nPar = PCOUNT()
|
||||||
|
|
||||||
|
IF m.nPar < 1
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
m.cTT = IIF( m.nPar >= 2 AND VARTYPE(m.tcTimeType) = "C" AND NOT EMPTY(m.tcTimeType), LOWER(SUBSTR(m.tcTimeType,1,1)), "c" )
|
||||||
|
m.nYear1 = IIF( m.nPar >= 3 AND VARTYPE(m.tnYear) $ "FIN" AND m.tnYear >= 1800, ROUND(m.tnYear,0), -1 )
|
||||||
|
m.nMonth1 = IIF( m.nPar >= 4 AND VARTYPE(m.tnMonth) $ "FIN" AND BETWEEN(m.tnMonth,1,12), ROUND(m.tnMonth,0), -1 )
|
||||||
|
m.nDay1 = IIF( m.nPar >= 5 AND VARTYPE(m.tnDay) $ "FIN" AND BETWEEN(m.tnDay,1,31), ROUND(m.tnDay,0), -1 )
|
||||||
|
m.nHour1 = IIF( m.nPar >= 6 AND VARTYPE(m.tnHour) $ "FIN" AND BETWEEN(m.tnHour,0,23), ROUND(m.tnHour,0), -1 )
|
||||||
|
m.nMinute1 = IIF( m.nPar >= 7 AND VARTYPE(m.tnMinute) $ "FIN" AND BETWEEN(m.tnMinute,0,59), ROUND(m.tnMinute,0), -1 )
|
||||||
|
m.nSec1 = IIF( m.nPar >= 8 AND VARTYPE(m.tnSec) $ "FIN" AND BETWEEN(m.tnSec,0,59), ROUND(m.tnSec,0), -1 )
|
||||||
|
m.nThou1 = IIF( m.nPar >= 9 AND VARTYPE(m.tnThou) $ "FIN" AND BETWEEN(m.tnThou,0,999), ROUND(m.tnThou,0), -1 )
|
||||||
|
m.lpFileInformation = REPLICATE( CHR(0), 53 ) && just a buffer
|
||||||
|
m.lpSysTime = REPLICATE( CHR(0), 16 ) && just a buffer
|
||||||
|
|
||||||
|
IF fb2p_GetFileAttributesEx(m.tcFileName, 0, @lpFileInformation) = 0
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
m.cCreation = SUBSTR(m.lpFileInformation,5,8)
|
||||||
|
m.cLastAccess = SUBSTR(m.lpFileInformation,13,8)
|
||||||
|
m.cLastWrite = SUBSTR(m.lpFileInformation,21,8)
|
||||||
|
m.cBuffTime = IIF(m.cTT="w",m.cLastWrite, IIF(m.cTT="a",m.cLastAccess,m.cCreation))
|
||||||
|
|
||||||
|
fb2p_FileTimeToSystemTime(m.cBuffTime, @lpSysTime)
|
||||||
|
|
||||||
|
m.lpSysTime = ;
|
||||||
|
IIF( m.nYear1 >= 0, BINTOC(m.nYear1,"2RS"), SUBSTR(m.lpSysTime,1,2) ) ;
|
||||||
|
+ IIF( m.nMonth1 >= 0, BINTOC(m.nMonth1,"2RS"), SUBSTR(m.lpSysTime,3,2) ) ;
|
||||||
|
+ SUBSTR(m.lpSysTime,5,2) ;
|
||||||
|
+ IIF( m.nDay1 >= 0, BINTOC(m.nDay1,"2RS"), SUBSTR(m.lpSysTime,7,2) ) ;
|
||||||
|
+ IIF( m.nHour1 >= 0, BINTOC(m.nHour1,"2RS"), SUBSTR(m.lpSysTime,9,2) ) ;
|
||||||
|
+ IIF( m.nMinute1 >= 0, BINTOC(m.nMinute1,"2RS"), SUBSTR(m.lpSysTime,11,2) ) ;
|
||||||
|
+ IIF( m.nSec1 >= 0, BINTOC(m.nSec1,"2RS"), SUBSTR(m.lpSysTime,13,2) ) ;
|
||||||
|
+ IIF( m.nThou1 >= 0, BINTOC(m.nThou1,"2RS"), SUBSTR(m.lpSysTime,15,2) )
|
||||||
|
|
||||||
|
fb2p_SystemTimeToFileTime(m.lpSysTime,@cBuffTime)
|
||||||
|
m.cBuffTime1 = m.cBuffTime
|
||||||
|
fb2p_LocalFileTimeToFileTime(m.cBuffTime1,@cBuffTime)
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE m.cTT = "w"
|
||||||
|
m.cLastWrite=m.cBuffTime
|
||||||
|
CASE m.cTT = "a"
|
||||||
|
m.cLastAccess=m.cBuffTime
|
||||||
|
OTHERWISE && "c"
|
||||||
|
m.cCreation=m.cBuffTime
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
m.fh = fb2p_lopen (m.tcFileName, OF_READWRITE)
|
||||||
|
|
||||||
|
IF m.fh < 0
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
fb2p_SetFileTime (m.fh,m.cCreation, m.cLastAccess, m.cLastWrite)
|
||||||
|
fb2p_lclose(m.fh)
|
||||||
|
llRetorno = .T.
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN llRetorno
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE compileFoxProBinary
|
PROCEDURE compileFoxProBinary
|
||||||
LPARAMETERS tcFileName
|
LPARAMETERS tcFileName
|
||||||
LOCAL lcType
|
LOCAL lcType
|
||||||
@@ -1532,7 +1643,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usar<61> como base para recompilar
|
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usar<61> como base para recompilar
|
||||||
* tcExtraBackupLevels (v? IN ) Indica la cantidad de niveles de backup a realizar (por defecto '1')
|
* tcExtraBackupLevels (v? IN ) Indica la cantidad de niveles de backup a realizar (por defecto '1')
|
||||||
* tcClearUniqueID (v? IN ) Indica si se debe limpiar el UniqueID ('1') o no ('0' <20> vac<61>o)
|
* tcClearUniqueID (v? IN ) Indica si se debe limpiar el UniqueID ('1') o no ('0' <20> vac<61>o)
|
||||||
* tcOptimizeByFilestamp (v? IN ) Indica si se debe optimizar por filestamp ('1') o no ('0' <20> vac<61>o)
|
* tcOptimizeByFilestamp (v? IN ) Indica si se debe optimizar por filestamp mayor o igual ('1'), solo igual ('2') o no optimizar ('0' <20> vac<61>o)
|
||||||
* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar
|
* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar
|
||||||
* tc_InputFile_Type (@? IN ) Tipo de archivo de entrada: (D)irectory, (F)ile, (Q)uerySupport
|
* tc_InputFile_Type (@? IN ) Tipo de archivo de entrada: (D)irectory, (F)ile, (Q)uerySupport
|
||||||
* toParentCFG (@? IN ) (Uso interno) Si se pasa un valor, el nuevo CFG copiar<61> primero sus valores de aqu<71> para heredarlos
|
* toParentCFG (@? IN ) (Uso interno) Si se pasa un valor, el nuevo CFG copiar<61> primero sus valores de aqu<71> para heredarlos
|
||||||
@@ -1771,7 +1882,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
|
|
||||||
CASE LEFT( laConfig(I), 20 ) == LOWER('OptimizeByFilestamp:')
|
CASE LEFT( laConfig(I), 20 ) == LOWER('OptimizeByFilestamp:')
|
||||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 21 ) )
|
lcValue = ALLTRIM( SUBSTR( laConfig(I), 21 ) )
|
||||||
IF NOT INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
IF NOT INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1', '2' ) AND INLIST( lcValue, '0', '1', '2' ) THEN
|
||||||
tcOptimizeByFilestamp = lcValue
|
tcOptimizeByFilestamp = lcValue
|
||||||
.writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > OptimizeByFilestamp: ' + TRANSFORM(lcValue) )
|
.writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > OptimizeByFilestamp: ' + TRANSFORM(lcValue) )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -1918,8 +2029,8 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
IF ISDIGIT(tcExtraBackupLevels)
|
IF ISDIGIT(tcExtraBackupLevels)
|
||||||
lo_CFG.n_ExtraBackupLevels = INT( VAL( TRANSFORM(tcExtraBackupLevels) ) )
|
lo_CFG.n_ExtraBackupLevels = INT( VAL( TRANSFORM(tcExtraBackupLevels) ) )
|
||||||
ENDIF
|
ENDIF
|
||||||
IF INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) THEN
|
IF INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1', '2' ) THEN
|
||||||
lo_CFG.l_OptimizeByFilestamp = NOT (TRANSFORM(tcOptimizeByFilestamp) == '0')
|
lo_CFG.n_OptimizeByFilestamp = INT(VAL(tcOptimizeByFilestamp))
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.l_Main_CFG_Loaded = .T.
|
.l_Main_CFG_Loaded = .T.
|
||||||
@@ -1946,7 +2057,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
.writeLog( C_TAB + 'n_Debug: ' + TRANSFORM(.n_Debug) )
|
.writeLog( C_TAB + 'n_Debug: ' + TRANSFORM(.n_Debug) )
|
||||||
.writeLog( C_TAB + 'n_ExtraBackupLevels: ' + TRANSFORM(.n_ExtraBackupLevels) )
|
.writeLog( C_TAB + 'n_ExtraBackupLevels: ' + TRANSFORM(.n_ExtraBackupLevels) )
|
||||||
.writeLog( C_TAB + 'c_BackgroundImage: ' + TRANSFORM(.c_BackgroundImage) )
|
.writeLog( C_TAB + 'c_BackgroundImage: ' + TRANSFORM(.c_BackgroundImage) )
|
||||||
.writeLog( C_TAB + 'l_OptimizeByFilestamp: ' + TRANSFORM(.l_OptimizeByFilestamp) )
|
.writeLog( C_TAB + 'n_OptimizeByFilestamp: ' + TRANSFORM(.n_OptimizeByFilestamp) )
|
||||||
.writeLog( C_TAB + 'l_DropNullCharsFromCode: ' + TRANSFORM(.l_DropNullCharsFromCode) )
|
.writeLog( C_TAB + 'l_DropNullCharsFromCode: ' + TRANSFORM(.l_DropNullCharsFromCode) )
|
||||||
.writeLog( C_TAB + 'l_ClearDBFLastUpdate: ' + TRANSFORM(.l_ClearDBFLastUpdate) )
|
.writeLog( C_TAB + 'l_ClearDBFLastUpdate: ' + TRANSFORM(.l_ClearDBFLastUpdate) )
|
||||||
.writeLog( C_TAB + 'c_Language: ' + TRANSFORM(.c_Language) )
|
.writeLog( C_TAB + 'c_Language: ' + TRANSFORM(.c_Language) )
|
||||||
@@ -2150,13 +2261,15 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar
|
* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar
|
||||||
|
* - En modo compatibilidad con Visual SourceSafe, se usa para preguntar el tipo de soporte de conversi<73>n para el tipo de archivo indicado
|
||||||
* tcType (v? IN ) Tipo de archivo de entrada. Compatibilidad con SCCTEXT.PRG
|
* tcType (v? IN ) Tipo de archivo de entrada. Compatibilidad con SCCTEXT.PRG
|
||||||
* - Si se indica "*" y tc_InputFile es un PJX, se procesan todos los archivos del proyecto y el PJX/2
|
* - Si se indica "*" y tc_InputFile es un PJX, se procesan todos los archivos del proyecto y el PJX/2
|
||||||
* - Si se indica "*-" y tc_InputFile es un PJX, se procesan todos los archivos del proyecto sin el PJX/2
|
* - Si se indica "*-" y tc_InputFile es un PJX, se procesan todos los archivos del proyecto sin el PJX/2
|
||||||
* - Si se indica "BIN2PRG", se procesa el directorio indicado en tc_InputFile para generar los TX2
|
* - Si se indica "BIN2PRG", se procesa el directorio indicado en tc_InputFile para generar los TX2
|
||||||
* - Si se indica "PRG2BIN", se procesa el directorio indicado en tc_InputFile para generar los BIN
|
* - Si se indica "PRG2BIN", se procesa el directorio indicado en tc_InputFile para generar los BIN
|
||||||
* tcTextName (v? IN ) Nombre del archivo texto. Compatibilidad con SCCTEXT.PRG
|
* - En modo compatibilidad con Visual SourceSafe, indica el tipo de archivo a convertir
|
||||||
* tlGenText (v? IN ) .T.=Genera Texto, .F.=Genera Binario. Compatibilidad con SCCTEXT.PRG
|
* tcTextName (v? IN ) Nombre del archivo texto. (Solo para compatibilidad con Visual SourceSafe)
|
||||||
|
* tlGenText (v? IN ) .T.=Genera Texto, .F.=Genera Binario. (Solo para compatibilidad con Visual SourceSafe)
|
||||||
* tcDontShowErrors (v? IN ) '1' para no mostrar mensajes de error (MESSAGEBOX)
|
* tcDontShowErrors (v? IN ) '1' para no mostrar mensajes de error (MESSAGEBOX)
|
||||||
* tcDebug (v? IN ) '1' para habilitar modo debug (SOLO DESARROLLO)
|
* tcDebug (v? IN ) '1' para habilitar modo debug (SOLO DESARROLLO)
|
||||||
* tcDontShowProgress (v? IN ) '1' para inhabilitar la barra de progreso
|
* tcDontShowProgress (v? IN ) '1' para inhabilitar la barra de progreso
|
||||||
@@ -2173,7 +2286,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
* tcNoTimestamps (v? IN ) Indica si se debe anular el timestamp ('1') o no ('0' <20> vac<61>o)
|
* tcNoTimestamps (v? IN ) Indica si se debe anular el timestamp ('1') o no ('0' <20> vac<61>o)
|
||||||
* tcBackupLevels (v? IN ) Indica la cantidad de niveles de backup a realizar (por defecto '1')
|
* tcBackupLevels (v? IN ) Indica la cantidad de niveles de backup a realizar (por defecto '1')
|
||||||
* tcClearUniqueID (v? IN ) Indica si se debe limpiar el UniqueID ('1') o no ('0' <20> vac<61>o)
|
* tcClearUniqueID (v? IN ) Indica si se debe limpiar el UniqueID ('1') o no ('0' <20> vac<61>o)
|
||||||
* tcOptimizeByFilestamp (v? IN ) Indica si se debe optimizar por filestamp ('1') o no ('0' <20> vac<61>o)
|
* tcOptimizeByFilestamp (v? IN ) Indica si se debe optimizar por filestamp mayor o igual ('1'), solo igual ('2') o no optimizar ('0' <20> vac<61>o)
|
||||||
* tcCFG_File (v? IN ) Indica si se debe usar un archivo de configuraci<63>n distinto al predeterminado
|
* tcCFG_File (v? IN ) Indica si se debe usar un archivo de configuraci<63>n distinto al predeterminado
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ;
|
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ;
|
||||||
@@ -2199,6 +2312,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
lnPCount = 0
|
lnPCount = 0
|
||||||
lcInputFile_Type = ''
|
lcInputFile_Type = ''
|
||||||
|
|
||||||
|
|
||||||
IF .l_AutoClearProcessedFiles THEN
|
IF .l_AutoClearProcessedFiles THEN
|
||||||
.ClearProcessedFiles() && Para evitar acumular procesos anteriores
|
.ClearProcessedFiles() && Para evitar acumular procesos anteriores
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -2269,7 +2383,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
.writeLog( C_TAB + 'tcNoTimestamps: ' + TRANSFORM( EVL(tcNoTimestamps, '(empty) -> Will use Default [' + TRANSFORM(.l_NoTimestamps) + ']' ) ) )
|
.writeLog( C_TAB + 'tcNoTimestamps: ' + TRANSFORM( EVL(tcNoTimestamps, '(empty) -> Will use Default [' + TRANSFORM(.l_NoTimestamps) + ']' ) ) )
|
||||||
.writeLog( C_TAB + 'tcBackupLevels: ' + TRANSFORM( EVL(tcBackupLevels, '(empty) -> Will use Default [' + TRANSFORM(.n_ExtraBackupLevels) + ']' ) ) )
|
.writeLog( C_TAB + 'tcBackupLevels: ' + TRANSFORM( EVL(tcBackupLevels, '(empty) -> Will use Default [' + TRANSFORM(.n_ExtraBackupLevels) + ']' ) ) )
|
||||||
.writeLog( C_TAB + 'tcClearUniqueID: ' + TRANSFORM( EVL(tcClearUniqueID, '(empty) -> Will use Default [' + TRANSFORM(.l_ClearUniqueID) + ']' ) ) )
|
.writeLog( C_TAB + 'tcClearUniqueID: ' + TRANSFORM( EVL(tcClearUniqueID, '(empty) -> Will use Default [' + TRANSFORM(.l_ClearUniqueID) + ']' ) ) )
|
||||||
.writeLog( C_TAB + 'tcOptimizeByFilestamp: ' + TRANSFORM( EVL(tcOptimizeByFilestamp, '(empty) -> Will use Default [' + TRANSFORM(.l_OptimizeByFilestamp) + ']' ) ) )
|
.writeLog( C_TAB + 'tcOptimizeByFilestamp: ' + TRANSFORM( EVL(tcOptimizeByFilestamp, '(empty) -> Will use Default [' + TRANSFORM(.n_OptimizeByFilestamp) + ']' ) ) )
|
||||||
.writeLog( )
|
.writeLog( )
|
||||||
|
|
||||||
*-- ARCHIVO DE CONFIGURACI<43>N PRINCIPAL
|
*-- ARCHIVO DE CONFIGURACI<43>N PRINCIPAL
|
||||||
@@ -2302,6 +2416,15 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
loFrm_Interactive.Show()
|
loFrm_Interactive.Show()
|
||||||
READ EVENTS
|
READ EVENTS
|
||||||
lnConversionOption = loFrm_Interactive.n_ConversionType
|
lnConversionOption = loFrm_Interactive.n_ConversionType
|
||||||
|
|
||||||
|
IF loFrm_Interactive.l_FileTimeStampOptimization
|
||||||
|
IF .n_OptimizeByFilestamp = 0 THEN
|
||||||
|
.n_OptimizeByFilestamp = 2
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
.n_OptimizeByFilestamp = 0
|
||||||
|
ENDIF
|
||||||
|
|
||||||
loFrm_Interactive.Release()
|
loFrm_Interactive.Release()
|
||||||
loFrm_Interactive = NULL
|
loFrm_Interactive = NULL
|
||||||
|
|
||||||
@@ -2340,7 +2463,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF EVL(tcType,'0') <> '*' THEN
|
IF EVL(tcType,'0') <> '*' THEN
|
||||||
IF .n_ShowProgressbar <> 0 THEN
|
IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN
|
||||||
.cargar_frm_avance()
|
.cargar_frm_avance()
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -2383,7 +2506,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
CASE ATC('-BIN2PRG', ('-' + tcType)) >= 1
|
CASE ATC('-BIN2PRG', ('-' + tcType)) >= 1
|
||||||
.writeLog( '> ' + loLang.C_OPTION_LOC + ': BIN2PRG' )
|
.writeLog( '> ' + loLang.C_OPTION_LOC + ': BIN2PRG' )
|
||||||
|
|
||||||
IF .n_ShowProgressbar <> 0 THEN
|
IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN
|
||||||
.cargar_frm_avance()
|
.cargar_frm_avance()
|
||||||
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Bin>Txt) -' )
|
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Bin>Txt) -' )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -2443,7 +2566,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
CASE ATC('-PRG2BIN', ('-' + tcType)) >= 1
|
CASE ATC('-PRG2BIN', ('-' + tcType)) >= 1
|
||||||
.writeLog( '> ' + loLang.C_OPTION_LOC + ': PRG2BIN' )
|
.writeLog( '> ' + loLang.C_OPTION_LOC + ': PRG2BIN' )
|
||||||
|
|
||||||
IF .n_ShowProgressbar <> 0 THEN
|
IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN
|
||||||
.cargar_frm_avance()
|
.cargar_frm_avance()
|
||||||
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Txt>Bin) -' )
|
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Txt>Bin) -' )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -2535,7 +2658,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
lnCodError = .PJX_Conversion_Support
|
lnCodError = .PJX_Conversion_Support
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
lnCodError = -1
|
lnCodError = -1 && No support.
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
@@ -2567,7 +2690,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
IF FILE(tc_InputFile)
|
IF FILE(tc_InputFile)
|
||||||
IF .n_ShowProgressbar = 1 THEN
|
IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN
|
||||||
.cargar_frm_avance()
|
.cargar_frm_avance()
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -2708,7 +2831,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
lcFileSpec = FULLPATH( tc_InputFile )
|
lcFileSpec = FULLPATH( tc_InputFile )
|
||||||
|
|
||||||
IF .n_ShowProgressbar <> 0 THEN
|
IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN
|
||||||
.cargar_frm_avance()
|
.cargar_frm_avance()
|
||||||
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Bin>Txt) -' )
|
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Bin>Txt) -' )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -2809,7 +2932,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
lcFileSpec = FULLPATH( tc_InputFile )
|
lcFileSpec = FULLPATH( tc_InputFile )
|
||||||
|
|
||||||
IF .n_ShowProgressbar <> 0 THEN
|
IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN
|
||||||
.cargar_frm_avance()
|
.cargar_frm_avance()
|
||||||
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Txt>Bin) -' )
|
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Txt>Bin) -' )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -2929,7 +3052,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
LOCAL lnCodError, lcErrorInfo, laDirFile(1,5), lcExtension, lnFileCount, laFiles(1,1), I ;
|
LOCAL lnCodError, lcErrorInfo, laDirFile(1,5), lcExtension, lnFileCount, laFiles(1,1), I ;
|
||||||
, ltFilestamp, lcExtA, lcExtB, laEvents(1,1), lcForceAttribs ;
|
, ltFilestamp, lcExtA, lcExtB, laEvents(1,1), lcForceAttribs ;
|
||||||
, loLang as CL_LANG OF 'FOXBIN2PRG.PRG' ;
|
, loLang as CL_LANG OF 'FOXBIN2PRG.PRG' ;
|
||||||
, loConversor as C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG' ;
|
, loConversor as c_conversor_base OF 'FOXBIN2PRG.PRG' ;
|
||||||
, loFSO AS Scripting.FileSystemObject
|
, loFSO AS Scripting.FileSystemObject
|
||||||
lnCodError = 0
|
lnCodError = 0
|
||||||
|
|
||||||
@@ -3177,6 +3300,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
STORE {//::} TO .t_InputFile_TimeStamp, .t_OutputFile_TimeStamp, ltFilestamp
|
STORE {//::} TO .t_InputFile_TimeStamp, .t_OutputFile_TimeStamp, ltFilestamp
|
||||||
|
|
||||||
IF lnFileCount >= 1 THEN
|
IF lnFileCount >= 1 THEN
|
||||||
|
*-- Busca el archivo de entrada original
|
||||||
I = ASCAN( laFiles, JUSTFNAME(.c_InputFile), 1, 0, 1, 1+2+4+8 )
|
I = ASCAN( laFiles, JUSTFNAME(.c_InputFile), 1, 0, 1, 1+2+4+8 )
|
||||||
IF I > 0 THEN
|
IF I > 0 THEN
|
||||||
.t_InputFile_TimeStamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ;
|
.t_InputFile_TimeStamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ;
|
||||||
@@ -3207,11 +3331,23 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
|
*-- Tomo el m<>ximo timestamp de los archivos de salida (??X/??T)
|
||||||
.t_OutputFile_TimeStamp = MAX( .t_OutputFile_TimeStamp, ltFilestamp )
|
.t_OutputFile_TimeStamp = MAX( .t_OutputFile_TimeStamp, ltFilestamp )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF NOT .l_OptimizeByFilestamp OR .t_InputFile_TimeStamp >= .t_OutputFile_TimeStamp THEN
|
DO CASE
|
||||||
|
CASE .n_UseClassPerFile = 0 AND .n_OptimizeByFilestamp = 1 AND .t_InputFile_TimeStamp < .t_OutputFile_TimeStamp
|
||||||
|
*-- Optimizado: El Origen es anterior al Destino - No hace falta regenerar
|
||||||
|
*.writeLog( '> El archivo de salida [<<THIS.c_OutputFile>>] no se regenera porque su timestamp es m<>s nuevo que el de entrada.' )
|
||||||
|
.writeLog( C_TAB + C_TAB + '* ' + TEXTMERGE(loLang.C_OUTPUTFILE_TIMESTAMP_NEWER_THAN_INPUTFILE_TIMESTAMP_LOC) )
|
||||||
|
|
||||||
|
CASE .n_UseClassPerFile = 0 AND .n_OptimizeByFilestamp = 2 AND .t_InputFile_TimeStamp = .t_OutputFile_TimeStamp
|
||||||
|
*-- Optimizado: El Origen es igual al Destino - No hace falta regenerar
|
||||||
|
*.writeLog( '> El archivo de salida [<<THIS.c_OutputFile>>] no se regenera porque su timestamp es igual que el de entrada.' )
|
||||||
|
.writeLog( C_TAB + C_TAB + '* ' + TEXTMERGE(loLang.C_OUTPUTFILE_TIMESTAMP_EQUAL_THAN_INPUTFILE_TIMESTAMP_LOC) )
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
|
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
|
||||||
loConversor.c_InputFile = .c_InputFile
|
loConversor.c_InputFile = .c_InputFile
|
||||||
loConversor.c_OutputFile = .c_OutputFile
|
loConversor.c_OutputFile = .c_OutputFile
|
||||||
@@ -3285,6 +3421,18 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE get_DirSettings
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
|
* tcDir (@? IN ) Directorio del que devolver su configuraci<63>n
|
||||||
|
* RETORNO (@? OUT) Objeto CFG
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tcDir
|
||||||
|
THIS.EvaluarConfiguracion( '', '', '', '', '', '', '', '', tcDir, 'D' )
|
||||||
|
RETURN THIS.o_Configuration(THIS.n_CFG_Actual)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE get_PROGRAM_HEADER
|
PROCEDURE get_PROGRAM_HEADER
|
||||||
LOCAL lcText
|
LOCAL lcText
|
||||||
lcText = ''
|
lcText = ''
|
||||||
@@ -3595,10 +3743,10 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
IF THIS.l_StdOutHabilitado
|
IF THIS.l_StdOutHabilitado
|
||||||
LOCAL loException as Exception, lcOutput, lnOutHandle, lnBytesWritten, lnOverlappedIO
|
LOCAL loException as Exception, lcOutput, lnOutHandle, lnBytesWritten, lnOverlappedIO
|
||||||
lcOutput = EVL(tcTexto,'') + CR_LF
|
lcOutput = EVL(tcTexto,'') + CR_LF
|
||||||
lnOutHandle = GetStdHandle(-12) && CAPTURAR ERROR DESDE CONSOLA: FOXBIN2PRG.EXE PARAMS 2>&1 | FIND /V ""
|
lnOutHandle = fb2p_GetStdHandle(-12) && CAPTURAR ERROR DESDE CONSOLA: FOXBIN2PRG.EXE PARAMS 2>&1 | FIND /V ""
|
||||||
lnBytesWritten = 0
|
lnBytesWritten = 0
|
||||||
lnOverlappedIO = 0
|
lnOverlappedIO = 0
|
||||||
WriteFile(lnOutHandle, @lcOutput, LEN(lcOutput), @lnBytesWritten, @lnOverlappedIO)
|
fb2p_WriteFile(lnOutHandle, @lcOutput, LEN(lcOutput), @lnBytesWritten, @lnOverlappedIO)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CATCH TO loException
|
CATCH TO loException
|
||||||
@@ -3618,10 +3766,10 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
IF THIS.l_StdOutHabilitado
|
IF THIS.l_StdOutHabilitado
|
||||||
LOCAL loException as Exception, lcOutput, lnOutHandle, lnBytesWritten, lnOverlappedIO
|
LOCAL loException as Exception, lcOutput, lnOutHandle, lnBytesWritten, lnOverlappedIO
|
||||||
lcOutput = EVL(tcTexto,'') + CR_LF
|
lcOutput = EVL(tcTexto,'') + CR_LF
|
||||||
lnOutHandle = GetStdHandle(-11) && CAPTURAR STDOUT DESDE CONSOLA: FOXBIN2PRG.EXE PARAMS | FIND /V ""
|
lnOutHandle = fb2p_GetStdHandle(-11) && CAPTURAR STDOUT DESDE CONSOLA: FOXBIN2PRG.EXE PARAMS | FIND /V ""
|
||||||
lnBytesWritten = 0
|
lnBytesWritten = 0
|
||||||
lnOverlappedIO = 0
|
lnOverlappedIO = 0
|
||||||
WriteFile(lnOutHandle, @lcOutput, LEN(lcOutput), @lnBytesWritten, @lnOverlappedIO)
|
fb2p_WriteFile(lnOutHandle, @lcOutput, LEN(lcOutput), @lnBytesWritten, @lnOverlappedIO)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CATCH TO loException
|
CATCH TO loException
|
||||||
@@ -3786,7 +3934,7 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE CLASS frm_avance AS FORM
|
DEFINE CLASS frm_avance AS Form
|
||||||
Height = 110
|
Height = 110
|
||||||
Width = 628
|
Width = 628
|
||||||
ShowWindow = 2
|
ShowWindow = 2
|
||||||
@@ -4215,10 +4363,15 @@ DEFINE CLASS frm_avance AS FORM
|
|||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL THISFORM AS frm_avance OF foxbin2prg.prg
|
LOCAL THISFORM AS frm_avance OF foxbin2prg.prg
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
||||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
|
||||||
|
|
||||||
IF VARTYPE(toFoxBin2Prg) = "O" THEN
|
IF VARTYPE(toFoxBin2Prg) = "O" THEN
|
||||||
|
IF TYPE("_SCREEN.o_FoxBin2Prg_Lang") = "O" THEN
|
||||||
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
|
THISFORM.CAPTION = 'FoxBin2Prg ' + _SCREEN.c_FB2PRG_EXE_Version + ' > - ' + loLang.C_PROCESS_PROGRESS_LOC + ' (' + loLang.C_PRESS_ESC_TO_CANCEL + ')'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
IF FILE( FORCEEXT( toFoxBin2Prg.c_Foxbin2prg_FullPath, 'ICO' ) ) THEN
|
IF FILE( FORCEEXT( toFoxBin2Prg.c_Foxbin2prg_FullPath, 'ICO' ) ) THEN
|
||||||
THIS.Icon = FORCEEXT( toFoxBin2Prg.c_Foxbin2prg_FullPath, 'ICO' )
|
THIS.Icon = FORCEEXT( toFoxBin2Prg.c_Foxbin2prg_FullPath, 'ICO' )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -4228,7 +4381,6 @@ DEFINE CLASS frm_avance AS FORM
|
|||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THISFORM.CAPTION = 'FoxBin2Prg ' + _SCREEN.c_FB2PRG_EXE_Version + ' > - ' + loLang.C_PROCESS_PROGRESS_LOC + ' (' + loLang.C_PRESS_ESC_TO_CANCEL + ')'
|
|
||||||
THISFORM.nValue = 0
|
THISFORM.nValue = 0
|
||||||
THISFORM.nValue2 = 0
|
THISFORM.nValue2 = 0
|
||||||
THISFORM.nLastSecCount = SECONDS()
|
THISFORM.nLastSecCount = SECONDS()
|
||||||
@@ -4258,26 +4410,44 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE CLASS frm_interactive AS form
|
DEFINE CLASS frm_interactive AS Form
|
||||||
Height = 102
|
Height = 114
|
||||||
Width = 380
|
Width = 380
|
||||||
ShowWindow = 2
|
ShowWindow = 2
|
||||||
DoCreate = .T.
|
DoCreate = .T.
|
||||||
AutoCenter = .T.
|
AutoCenter = .T.
|
||||||
BorderStyle = 2
|
BorderStyle = 2
|
||||||
Caption = 'FoxBin2Prg ' + _SCREEN.c_FB2PRG_EXE_Version + ' - ' + _SCREEN.o_FoxBin2Prg_Lang.C_CONVERT_FOLDER_LOC
|
Caption = "FoxBin2Prg"
|
||||||
ControlBox = .F.
|
ControlBox = .F.
|
||||||
AlwaysOnTop = .T.
|
AlwaysOnTop = .T.
|
||||||
BackColor = RGB(255,255,255)
|
BackColor = RGB(255,255,255)
|
||||||
n_ConversionType = 3
|
n_ConversionType = 3
|
||||||
|
l_FileTimeStampOptimization = .F.
|
||||||
Name = "frm_interactive"
|
Name = "frm_interactive"
|
||||||
|
_memberdata = [<VFPData>] ;
|
||||||
|
+ [<memberdata name="n_conversiontype" display="n_ConversionType"/>] ;
|
||||||
|
+ [<memberdata name="l_filetimestampoptimization" display="l_FileTimeStampOptimization"/>] ;
|
||||||
|
+ [</VFPData>]
|
||||||
|
|
||||||
|
|
||||||
|
ADD OBJECT 'chk_FileTimeStampOptimization' AS checkbox WITH ;
|
||||||
|
Alignment = 0, ;
|
||||||
|
BackStyle = 0, ;
|
||||||
|
Caption = "chk_FileTimeStampOptimization", ;
|
||||||
|
ControlSource = "THISFORM.l_FileTimeStampOptimization", ;
|
||||||
|
Enabled = .T., ;
|
||||||
|
Height = 17, ;
|
||||||
|
Left = 40, ;
|
||||||
|
Name = "chk_FileTimeStampOptimization", ;
|
||||||
|
Top = 92, ;
|
||||||
|
Width = 300
|
||||||
|
|
||||||
|
|
||||||
ADD OBJECT lbl_title AS label WITH ;
|
ADD OBJECT lbl_title AS label WITH ;
|
||||||
WordWrap = .T., ;
|
WordWrap = .T., ;
|
||||||
Alignment = 2, ;
|
Alignment = 2, ;
|
||||||
BackStyle = 0, ;
|
BackStyle = 0, ;
|
||||||
Caption = _SCREEN.o_FoxBin2Prg_Lang.C_CONVERT_FOLDER_QUESTION_LOC, ;
|
Caption = "lbl_title", ;
|
||||||
Height = 36, ;
|
Height = 36, ;
|
||||||
Left = 12, ;
|
Left = 12, ;
|
||||||
Top = 16, ;
|
Top = 16, ;
|
||||||
@@ -4287,29 +4457,29 @@ DEFINE CLASS frm_interactive AS form
|
|||||||
|
|
||||||
|
|
||||||
ADD OBJECT cmd_Bin2Prg AS commandbutton WITH ;
|
ADD OBJECT cmd_Bin2Prg AS commandbutton WITH ;
|
||||||
Top = 64, ;
|
Top = 58, ;
|
||||||
Left = 40, ;
|
Left = 40, ;
|
||||||
Height = 27, ;
|
Height = 27, ;
|
||||||
Width = 92, ;
|
Width = 92, ;
|
||||||
Caption = _SCREEN.o_FoxBin2Prg_Lang.C_BINARY_TO_TEXT_LOC, ;
|
Caption = "cmd_Bin2Prg", ;
|
||||||
Name = "cmd_Bin2Prg"
|
Name = "cmd_Bin2Prg"
|
||||||
|
|
||||||
|
|
||||||
ADD OBJECT cmd_Prg2Bin AS commandbutton WITH ;
|
ADD OBJECT cmd_Prg2Bin AS commandbutton WITH ;
|
||||||
Top = 64, ;
|
Top = 58, ;
|
||||||
Left = 144, ;
|
Left = 144, ;
|
||||||
Height = 27, ;
|
Height = 27, ;
|
||||||
Width = 92, ;
|
Width = 92, ;
|
||||||
Caption = _SCREEN.o_FoxBin2Prg_Lang.C_TEXT_TO_BINARY_LOC, ;
|
Caption = "cmd_Prg2Bin", ;
|
||||||
Name = "cmd_Prg2Bin"
|
Name = "cmd_Prg2Bin"
|
||||||
|
|
||||||
|
|
||||||
ADD OBJECT cmd_None AS commandbutton WITH ;
|
ADD OBJECT cmd_None AS commandbutton WITH ;
|
||||||
Top = 64, ;
|
Top = 58, ;
|
||||||
Left = 248, ;
|
Left = 248, ;
|
||||||
Height = 27, ;
|
Height = 27, ;
|
||||||
Width = 92, ;
|
Width = 92, ;
|
||||||
Caption = _SCREEN.o_FoxBin2Prg_Lang.C_CONVERT_FOLDER_NONE_LOC, ;
|
Caption = "cmd_None", ;
|
||||||
Cancel = .T., ;
|
Cancel = .T., ;
|
||||||
Name = "cmd_None"
|
Name = "cmd_None"
|
||||||
|
|
||||||
@@ -4317,7 +4487,29 @@ DEFINE CLASS frm_interactive AS form
|
|||||||
PROCEDURE INIT
|
PROCEDURE INIT
|
||||||
LPARAMETERS toFoxBin2Prg
|
LPARAMETERS toFoxBin2Prg
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
||||||
|
|
||||||
IF VARTYPE(toFoxBin2Prg) = "O" THEN
|
IF VARTYPE(toFoxBin2Prg) = "O" THEN
|
||||||
|
IF VARTYPE(_SCREEN.o_FoxBin2Prg_Lang) = "O" THEN
|
||||||
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
|
|
||||||
|
IF PEMSTATUS(_SCREEN, 'c_FB2PRG_EXE_Version', 5) THEN
|
||||||
|
THISFORM.Caption = 'FoxBin2Prg ' + _SCREEN.c_FB2PRG_EXE_Version + ' - ' + loLang.C_CONVERT_FOLDER_LOC
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THISFORM.chk_FileTimeStampOptimization.Caption = loLang.C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC
|
||||||
|
THISFORM.lbl_title.Caption = loLang.C_CONVERT_FOLDER_QUESTION_LOC
|
||||||
|
THISFORM.cmd_Bin2Prg.Caption = loLang.C_BINARY_TO_TEXT_LOC
|
||||||
|
THISFORM.cmd_Prg2Bin.Caption = loLang.C_TEXT_TO_BINARY_LOC
|
||||||
|
THISFORM.cmd_None.Caption = loLang.C_CONVERT_FOLDER_NONE_LOC
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THISFORM.l_FileTimeStampOptimization = (toFoxBin2Prg.n_OptimizeByFilestamp <> 0)
|
||||||
|
|
||||||
IF FILE( FORCEEXT( toFoxBin2Prg.c_Foxbin2prg_FullPath, 'ICO' ) ) THEN
|
IF FILE( FORCEEXT( toFoxBin2Prg.c_Foxbin2prg_FullPath, 'ICO' ) ) THEN
|
||||||
THIS.Icon = FORCEEXT( toFoxBin2Prg.c_Foxbin2prg_FullPath, 'ICO' )
|
THIS.Icon = FORCEEXT( toFoxBin2Prg.c_Foxbin2prg_FullPath, 'ICO' )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -4356,9 +4548,9 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
DEFINE CLASS c_conversor_base AS Session
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
+ [<memberdata name="analizarasignacion_tag_indicado" display="analizarAsignacion_TAG_Indicado"/>] ;
|
+ [<memberdata name="analizarasignacion_tag_indicado" display="analizarAsignacion_TAG_Indicado"/>] ;
|
||||||
@@ -4534,7 +4726,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
llBloqueEncontrado = .T.
|
llBloqueEncontrado = .T.
|
||||||
LOCAL lcLine, lnArrayCols
|
LOCAL lcLine, lnArrayCols
|
||||||
|
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
|
|
||||||
*-- Propiedad especial
|
*-- Propiedad especial
|
||||||
IF tcTAG_F $ tcValue && El fin de tag est<73> "inline"
|
IF tcTAG_F $ tcValue && El fin de tag est<73> "inline"
|
||||||
@@ -4808,7 +5000,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
LPARAMETERS tcAsignacion
|
LPARAMETERS tcAsignacion
|
||||||
LOCAL lcPropName, lcValor, lnCodError, lcExpNormalizada, lnPos, lcComentario
|
LOCAL lcPropName, lcValor, lnCodError, lcExpNormalizada, lnPos, lcComentario
|
||||||
|
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
.get_SeparatedPropAndValue( @tcAsignacion, @lcPropName, @lcValor )
|
.get_SeparatedPropAndValue( @tcAsignacion, @lcPropName, @lcValor )
|
||||||
lcComentario = ''
|
lcComentario = ''
|
||||||
.desnormalizarValorPropiedad( @lcPropName, @lcValor, @lcComentario )
|
.desnormalizarValorPropiedad( @lcPropName, @lcValor, @lcComentario )
|
||||||
@@ -4982,7 +5174,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
LOCAL lcTimeStamp,lnYear,lnMonth,lnDay,lnHour,lnMinutes,lnSeconds,lcTime,lnHour,ltTimeStamp,lnResto ;
|
LOCAL lcTimeStamp,lnYear,lnMonth,lnDay,lnHour,lnMinutes,lnSeconds,lcTime,lnHour,ltTimeStamp,lnResto ;
|
||||||
,lcTimeStamp_Ret, laDirInfo[1,5], loEx AS EXCEPTION
|
,lcTimeStamp_Ret, laDirInfo[1,5], loEx AS EXCEPTION
|
||||||
|
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
lcTimeStamp_Ret = ''
|
lcTimeStamp_Ret = ''
|
||||||
|
|
||||||
IF EMPTY(tnTimeStamp)
|
IF EMPTY(tnTimeStamp)
|
||||||
@@ -5156,7 +5348,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
|
|
||||||
IF PCOUNT() > 3
|
IF PCOUNT() > 3
|
||||||
*-- EVALUAR UNA ASIGNACI<43>N QUE PUEDE SER MULTIL<49>NEA (memberdata, fb2p_value, etc)
|
*-- EVALUAR UNA ASIGNACI<43>N QUE PUEDE SER MULTIL<49>NEA (memberdata, fb2p_value, etc)
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE .analizarAsignacion_TAG_Indicado( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @I ;
|
CASE .analizarAsignacion_TAG_Indicado( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @I ;
|
||||||
, C_FB2P_VALUE_I, C_FB2P_VALUE_F, C_LEN_FB2P_VALUE_I, C_LEN_FB2P_VALUE_F )
|
, C_FB2P_VALUE_I, C_FB2P_VALUE_F, C_LEN_FB2P_VALUE_I, C_LEN_FB2P_VALUE_F )
|
||||||
@@ -5237,7 +5429,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- B<>squeda del ID de inicio de bloque
|
*-- B<>squeda del ID de inicio de bloque
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
FOR I = 1 TO tnCodeLines
|
FOR I = 1 TO tnCodeLines
|
||||||
* Reduzco los espacios. Ej: '#IF .F. && cmt' ==> '#IF .F.&&cmt'
|
* Reduzco los espacios. Ej: '#IF .F. && cmt' ==> '#IF .F.&&cmt'
|
||||||
*lcLine = LTRIM( STRTRAN( STRTRAN( CHRTRAN( taCodeLines(I), CHR(9), ' ' ), ' ', ' ' ), ' ', ' ' ) )
|
*lcLine = LTRIM( STRTRAN( STRTRAN( CHRTRAN( taCodeLines(I), CHR(9), ' ' ), ' ', ' ' ), ' ', ' ' ) )
|
||||||
@@ -5349,7 +5541,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
LPARAMETERS tcLine, tcComment
|
LPARAMETERS tcLine, tcComment
|
||||||
LOCAL lllineIsOnlyCommentAndNoMetadata, ln_AT_Cmt
|
LOCAL lllineIsOnlyCommentAndNoMetadata, ln_AT_Cmt
|
||||||
|
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
.get_SeparatedLineAndComment( @tcLine, @tcComment )
|
.get_SeparatedLineAndComment( @tcLine, @tcComment )
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
@@ -5372,7 +5564,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
LPARAMETERS tcAsignacion, tcComentario
|
LPARAMETERS tcAsignacion, tcComentario
|
||||||
LOCAL lcPropName, lcValor, lnCodError, lcExpNormalizada, lnPos
|
LOCAL lcPropName, lcValor, lnCodError, lcExpNormalizada, lnPos
|
||||||
|
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
.get_SeparatedPropAndValue( @tcAsignacion, @lcPropName, @lcValor )
|
.get_SeparatedPropAndValue( @tcAsignacion, @lcPropName, @lcValor )
|
||||||
tcComentario = ''
|
tcComentario = ''
|
||||||
.normalizarValorPropiedad( @lcPropName, @lcValor, @tcComentario )
|
.normalizarValorPropiedad( @lcPropName, @lcValor, @tcComentario )
|
||||||
@@ -5694,7 +5886,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
DIMENSION laPropsAndValues( tnPropsAndValues_Count, lnArrayCols )
|
DIMENSION laPropsAndValues( tnPropsAndValues_Count, lnArrayCols )
|
||||||
ACOPY( taPropsAndValues, laPropsAndValues )
|
ACOPY( taPropsAndValues, laPropsAndValues )
|
||||||
|
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
IF m.tnSortType >= 1
|
IF m.tnSortType >= 1
|
||||||
* CON SORT:
|
* CON SORT:
|
||||||
* - A las que no tienen '.' les pongo 'A' por delante, y al resto 'B' por delante para que queden al final
|
* - A las que no tienen '.' les pongo 'A' por delante, y al resto 'B' por delante para que queden al final
|
||||||
@@ -6036,7 +6228,7 @@ DEFINE CLASS C_CONVERSOR_BASE AS SESSION
|
|||||||
LPARAMETERS tcText, tnTimeStamp
|
LPARAMETERS tcText, tnTimeStamp
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG'
|
||||||
*-- Seg<65>n el valor de nTimestamp:
|
*-- Seg<65>n el valor de nTimestamp:
|
||||||
*-- 0 = Sin timestamp
|
*-- 0 = Sin timestamp
|
||||||
*-- 1 = Timestamp por delante
|
*-- 1 = Timestamp por delante
|
||||||
@@ -6070,7 +6262,7 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -11379,7 +11571,7 @@ ENDDEFINE && CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
|
DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -24110,7 +24302,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE
|
|||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
DEFINE CLASS CL_DBF_UTILS AS SESSION
|
DEFINE CLASS CL_DBF_UTILS AS Session
|
||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
+ [<memberdata name="fields" display="Fields"/>] ;
|
+ [<memberdata name="fields" display="Fields"/>] ;
|
||||||
+ [<memberdata name="c_backlink_dbc_name" display="c_Backlink_DBC_Name"/>] ;
|
+ [<memberdata name="c_backlink_dbc_name" display="c_Backlink_DBC_Name"/>] ;
|
||||||
@@ -24707,7 +24899,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
|||||||
+ [<memberdata name="l_cleardbflastupdate" display="l_ClearDBFLastUpdate"/>] ;
|
+ [<memberdata name="l_cleardbflastupdate" display="l_ClearDBFLastUpdate"/>] ;
|
||||||
+ [<memberdata name="n_debug" display="n_Debug"/>] ;
|
+ [<memberdata name="n_debug" display="n_Debug"/>] ;
|
||||||
+ [<memberdata name="l_notimestamps" display="l_NoTimestamps"/>] ;
|
+ [<memberdata name="l_notimestamps" display="l_NoTimestamps"/>] ;
|
||||||
+ [<memberdata name="l_optimizebyfilestamp" display="l_OptimizeByFilestamp"/>] ;
|
+ [<memberdata name="n_optimizebyfilestamp" display="n_OptimizeByFilestamp"/>] ;
|
||||||
+ [<memberdata name="l_recompile" display="l_Recompile"/>] ;
|
+ [<memberdata name="l_recompile" display="l_Recompile"/>] ;
|
||||||
+ [<memberdata name="l_redirectclassperfiletomain" display="l_RedirectClassPerFileToMain"/>] ;
|
+ [<memberdata name="l_redirectclassperfiletomain" display="l_RedirectClassPerFileToMain"/>] ;
|
||||||
+ [<memberdata name="l_showerrors" display="l_ShowErrors"/>] ;
|
+ [<memberdata name="l_showerrors" display="l_ShowErrors"/>] ;
|
||||||
@@ -24743,7 +24935,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
|||||||
l_NoTimestamps = NULL
|
l_NoTimestamps = NULL
|
||||||
l_ClearUniqueID = NULL
|
l_ClearUniqueID = NULL
|
||||||
l_ClearDBFLastUpdate = NULL
|
l_ClearDBFLastUpdate = NULL
|
||||||
l_OptimizeByFilestamp = NULL
|
n_OptimizeByFilestamp = NULL
|
||||||
l_RedirectClassPerFileToMain = NULL
|
l_RedirectClassPerFileToMain = NULL
|
||||||
n_UseClassPerFile = NULL
|
n_UseClassPerFile = NULL
|
||||||
l_ClassPerFileCheck = NULL
|
l_ClassPerFileCheck = NULL
|
||||||
@@ -24784,7 +24976,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
|||||||
.l_NoTimestamps = toParentCFG.l_NoTimestamps
|
.l_NoTimestamps = toParentCFG.l_NoTimestamps
|
||||||
.l_ClearUniqueID = toParentCFG.l_ClearUniqueID
|
.l_ClearUniqueID = toParentCFG.l_ClearUniqueID
|
||||||
.l_ClearDBFLastUpdate = toParentCFG.l_ClearDBFLastUpdate
|
.l_ClearDBFLastUpdate = toParentCFG.l_ClearDBFLastUpdate
|
||||||
.l_OptimizeByFilestamp = toParentCFG.l_OptimizeByFilestamp
|
.n_OptimizeByFilestamp = toParentCFG.n_OptimizeByFilestamp
|
||||||
.l_RedirectClassPerFileToMain = toParentCFG.l_RedirectClassPerFileToMain
|
.l_RedirectClassPerFileToMain = toParentCFG.l_RedirectClassPerFileToMain
|
||||||
.n_UseClassPerFile = toParentCFG.n_UseClassPerFile
|
.n_UseClassPerFile = toParentCFG.n_UseClassPerFile
|
||||||
.l_ClassPerFileCheck = toParentCFG.l_ClassPerFileCheck
|
.l_ClassPerFileCheck = toParentCFG.l_ClassPerFileCheck
|
||||||
@@ -24888,7 +25080,8 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = ""
|
C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = ""
|
||||||
C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = ""
|
C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = ""
|
||||||
C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = ""
|
C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = ""
|
||||||
C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = ""
|
C_OUTPUTFILE_TIMESTAMP_NEWER_THAN_INPUTFILE_TIMESTAMP_LOC = ""
|
||||||
|
C_OUTPUTFILE_TIMESTAMP_EQUAL_THAN_INPUTFILE_TIMESTAMP_LOC = ""
|
||||||
C_PRESS_ESC_TO_CANCEL = ""
|
C_PRESS_ESC_TO_CANCEL = ""
|
||||||
C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = ""
|
C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = ""
|
||||||
C_PROCESSING_LOC = ""
|
C_PROCESSING_LOC = ""
|
||||||
@@ -24903,6 +25096,7 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = ""
|
C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = ""
|
||||||
C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = ""
|
C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = ""
|
||||||
C_UNKNOWN_CLASS_NAME_LOC = ""
|
C_UNKNOWN_CLASS_NAME_LOC = ""
|
||||||
|
C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = ""
|
||||||
C_USING_THIS_SETTINGS_LOC = ""
|
C_USING_THIS_SETTINGS_LOC = ""
|
||||||
C_WARNING_LOC = ""
|
C_WARNING_LOC = ""
|
||||||
C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = ""
|
C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = ""
|
||||||
@@ -25000,7 +25194,8 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "La classe externe ne correspond pas <20> la classe interne"
|
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "La classe externe ne correspond pas <20> la classe interne"
|
||||||
.C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = "L'<27>l<EFBFBD>ment ext<78>rieur ne correspond pas aux <20>l<EFBFBD>ments int<6E>rieur"
|
.C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = "L'<27>l<EFBFBD>ment ext<78>rieur ne correspond pas aux <20>l<EFBFBD>ments int<6E>rieur"
|
||||||
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimisation: fichier de sortie [<<lcOutputFile>>] ne <20>tait pas <20>cras<61> parce que ce est la m<>me que celle g<>n<EFBFBD>r<EFBFBD>e."
|
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimisation: fichier de sortie [<<lcOutputFile>>] ne <20>tait pas <20>cras<61> parce que ce est la m<>me que celle g<>n<EFBFBD>r<EFBFBD>e."
|
||||||
.C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimisation: fichier de sortie [<<THIS.c_OutputFile>>] n'a pas <20>t<EFBFBD> r<>g<EFBFBD>n<EFBFBD>r<EFBFBD> car il est plus r<>cent que le fichier d'entr<74>e."
|
.C_OUTPUTFILE_TIMESTAMP_EQUAL_THAN_INPUTFILE_TIMESTAMP_LOC = "Optimisation: le fichier de sortie [<<THIS.c_OutputFile>>] pas r<>g<EFBFBD>n<EFBFBD>r<EFBFBD> en ayant le m<>me horodatage que l'entr<74>e."
|
||||||
|
.C_OUTPUTFILE_TIMESTAMP_NEWER_THAN_INPUTFILE_TIMESTAMP_LOC = "Optimisation: le fichier de sortie [<<THIS.c_OutputFile>>] n'a pas <20>t<EFBFBD> r<>g<EFBFBD>n<EFBFBD>r<EFBFBD> car il est plus r<>cent que le fichier d'entr<74>e."
|
||||||
.C_PRESS_ESC_TO_CANCEL = "Appuyez sur Esc pour Annuler"
|
.C_PRESS_ESC_TO_CANCEL = "Appuyez sur Esc pour Annuler"
|
||||||
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Proc<6F>dure pas ferm<72>. Derni<6E>re ligne de code doit <20>tre ENDPROC. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
|
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Proc<6F>dure pas ferm<72>. Derni<6E>re ligne de code doit <20>tre ENDPROC. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
|
||||||
.C_PROCESSING_LOC = "Traitement du fichier"
|
.C_PROCESSING_LOC = "Traitement du fichier"
|
||||||
@@ -25015,6 +25210,7 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting erreur de structure. ENDPROC pr<70>vu, mais a trouv<75> ENDDEFINE sur la classe <<toClase._Nombre>> (<<loProcedure._Nombre>>), ligne <<TRANSFORM(I)>> du fichier <<THIS.c_InputFile>>"
|
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting erreur de structure. ENDPROC pr<70>vu, mais a trouv<75> ENDDEFINE sur la classe <<toClase._Nombre>> (<<loProcedure._Nombre>>), ligne <<TRANSFORM(I)>> du fichier <<THIS.c_InputFile>>"
|
||||||
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting erreur de structure. ENDPROC attendue, mais ENDDEFINE sur la classe <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), ligne <<TRANSFORM(I)>> du fichier <<THIS.c_InputFile>>"
|
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting erreur de structure. ENDPROC attendue, mais ENDDEFINE sur la classe <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), ligne <<TRANSFORM(I)>> du fichier <<THIS.c_InputFile>>"
|
||||||
.C_UNKNOWN_CLASS_NAME_LOC = "Classe inconnue[<<THIS.CLASS>>]"
|
.C_UNKNOWN_CLASS_NAME_LOC = "Classe inconnue[<<THIS.CLASS>>]"
|
||||||
|
.C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = "Utilisez le fichier Optimisation d'horodatage"
|
||||||
.C_USING_THIS_SETTINGS_LOC = "Utilisation de ce param<61>tre"
|
.C_USING_THIS_SETTINGS_LOC = "Utilisation de ce param<61>tre"
|
||||||
.C_WARNING_LOC = "AVERTISSEMENT!"
|
.C_WARNING_LOC = "AVERTISSEMENT!"
|
||||||
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "AVERTISSEMENT!" + CR_LF+ "ASSUREZ VOUS NE UTILISEZ PAS UN ALIAS DE TABLE SUR LES EXPRESSIONS INDEX CL<43>S!! (exemple: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "AVERTISSEMENT!" + CR_LF+ "ASSUREZ VOUS NE UTILISEZ PAS UN ALIAS DE TABLE SUR LES EXPRESSIONS INDEX CL<43>S!! (exemple: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
||||||
@@ -25090,7 +25286,8 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "La clase externa no coincide con las clases internas"
|
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "La clase externa no coincide con las clases internas"
|
||||||
.C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = "El miembro externo no coincide con los miembros internos"
|
.C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = "El miembro externo no coincide con los miembros internos"
|
||||||
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimizaci<63>n: el archivo de salida [<<lcOutputFile>>] no se sobreescribe por ser igual al generado."
|
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimizaci<63>n: el archivo de salida [<<lcOutputFile>>] no se sobreescribe por ser igual al generado."
|
||||||
.C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimizaci<63>n: el archivo de salida [<<THIS.c_OutputFile>>] no se regenera por ser m<>s nuevo que el de entrada."
|
.C_OUTPUTFILE_TIMESTAMP_EQUAL_THAN_INPUTFILE_TIMESTAMP_LOC = "Optimizaci<63>n: el archivo de salida [<<THIS.c_OutputFile>>] no se regenera por tener el mismo timestamp que el de entrada."
|
||||||
|
.C_OUTPUTFILE_TIMESTAMP_NEWER_THAN_INPUTFILE_TIMESTAMP_LOC = "Optimizaci<63>n: el archivo de salida [<<THIS.c_OutputFile>>] no se regenera por tener un timestamp m<>s nuevo que el de entrada."
|
||||||
.C_PRESS_ESC_TO_CANCEL = "Pulse Esc para Cancelar"
|
.C_PRESS_ESC_TO_CANCEL = "Pulse Esc para Cancelar"
|
||||||
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procedimiento sin cerrar. La <20>ltima l<>nea de c<>digo debe ser ENDPROC. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
|
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procedimiento sin cerrar. La <20>ltima l<>nea de c<>digo debe ser ENDPROC. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
|
||||||
.C_PROCESSING_LOC = "Procesando archivo"
|
.C_PROCESSING_LOC = "Procesando archivo"
|
||||||
@@ -25105,6 +25302,7 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontr<74> ENDDEFINE en la clase <<toClase._Nombre>> (<<loProcedure._Nombre>>), l<>nea <<TRANSFORM(I)>> del archivo <<THIS.c_InputFile>>"
|
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontr<74> ENDDEFINE en la clase <<toClase._Nombre>> (<<loProcedure._Nombre>>), l<>nea <<TRANSFORM(I)>> del archivo <<THIS.c_InputFile>>"
|
||||||
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontr<74> ENDDEFINE en la clase <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), l<>nea <<TRANSFORM(I)>> del archivo <<THIS.c_InputFile>>"
|
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontr<74> ENDDEFINE en la clase <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), l<>nea <<TRANSFORM(I)>> del archivo <<THIS.c_InputFile>>"
|
||||||
.C_UNKNOWN_CLASS_NAME_LOC = "Clase [<<THIS.CLASS>>] desconocida"
|
.C_UNKNOWN_CLASS_NAME_LOC = "Clase [<<THIS.CLASS>>] desconocida"
|
||||||
|
.C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = "Usar Optimizaci<63>n de filestamp de archivo"
|
||||||
.C_USING_THIS_SETTINGS_LOC = "Usando esta configuraci<63>n"
|
.C_USING_THIS_SETTINGS_LOC = "Usando esta configuraci<63>n"
|
||||||
.C_WARNING_LOC = "<22>ATENCI<43>N!"
|
.C_WARNING_LOC = "<22>ATENCI<43>N!"
|
||||||
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "<22>ATENCI<43>N!" + CR_LF+ "ASEG<45>RESE DE QUE NO EST<53> USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS <20>NDICES!! (ej: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag nombreclave)"
|
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "<22>ATENCI<43>N!" + CR_LF+ "ASEG<45>RESE DE QUE NO EST<53> USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS <20>NDICES!! (ej: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag nombreclave)"
|
||||||
@@ -25180,7 +25378,8 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "Die <20>u<EFBFBD>ere Klasse nicht die innere Klassifizierung anzeigen lassen"
|
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "Die <20>u<EFBFBD>ere Klasse nicht die innere Klassifizierung anzeigen lassen"
|
||||||
.C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = "Das <20>u<EFBFBD>ere Element nicht den inneren Elementen entsprechen"
|
.C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = "Das <20>u<EFBFBD>ere Element nicht den inneren Elementen entsprechen"
|
||||||
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimierung: Ausgabedatei [<<tcOutputFile>>] wurde nicht <20>berschrieben, da sie dieselbe ist wie die neu generierte."
|
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimierung: Ausgabedatei [<<tcOutputFile>>] wurde nicht <20>berschrieben, da sie dieselbe ist wie die neu generierte."
|
||||||
.C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimierung: Ausgabedatei [<<THIS.c_OutputFile>>] wurde nicht erneuert, da sie neuer ist als die Ursprungsdatei."
|
.C_OUTPUTFILE_TIMESTAMP_EQUAL_THAN_INPUTFILE_TIMESTAMP_LOC = "Optimierung: Ausgabedatei [<<THIS.c_OutputFile>>] wurde nicht verl<EFBFBD>ngert, weil seine Zeitmarke ist die gleiche wie die Quelldatei."
|
||||||
|
.C_OUTPUTFILE_TIMESTAMP_NEWER_THAN_INPUTFILE_TIMESTAMP_LOC = "Optimierung: Ausgabedatei [<<THIS.c_OutputFile>>] wurde nicht erneuert, da sie neuer ist als die Ursprungsdatei."
|
||||||
.C_PRESS_ESC_TO_CANCEL = "Dr<44>cken Sie Esc f<>r Abbrechen"
|
.C_PRESS_ESC_TO_CANCEL = "Dr<44>cken Sie Esc f<>r Abbrechen"
|
||||||
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Prozcedur nicht geschlossen. Letzte Zeile des Codes muss ENDPROC sein. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
|
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Prozcedur nicht geschlossen. Letzte Zeile des Codes muss ENDPROC sein. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
|
||||||
.C_PROCESSING_LOC = "Bearbeite Datei"
|
.C_PROCESSING_LOC = "Bearbeite Datei"
|
||||||
@@ -25195,6 +25394,7 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <<toClase._Nombre>> (<<loProcedure._Nombre>>), Zeile <<TRANSFORM(I)>> der Datei <<THIS.c_InputFile>> gefunden"
|
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <<toClase._Nombre>> (<<loProcedure._Nombre>>), Zeile <<TRANSFORM(I)>> der Datei <<THIS.c_InputFile>> gefunden"
|
||||||
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), Zeile <<TRANSFORM(I)>> der Datei <<THIS.c_InputFile>> gefunden"
|
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), Zeile <<TRANSFORM(I)>> der Datei <<THIS.c_InputFile>> gefunden"
|
||||||
.C_UNKNOWN_CLASS_NAME_LOC = "Unbekannte Klasse [<<THIS.CLASS>>]"
|
.C_UNKNOWN_CLASS_NAME_LOC = "Unbekannte Klasse [<<THIS.CLASS>>]"
|
||||||
|
.C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = "Verwenden Sie Datei-Zeitstempel-Optimierung"
|
||||||
.C_USING_THIS_SETTINGS_LOC = "Mit dieser einstellung"
|
.C_USING_THIS_SETTINGS_LOC = "Mit dieser einstellung"
|
||||||
.C_WARNING_LOC = "WARNUNG!"
|
.C_WARNING_LOC = "WARNUNG!"
|
||||||
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNUNG!" + CR_LF+ "STELLEN SIE SICHER, DAS KEIN TABELLENALIAS IM INDEXAUSDRUCK BENUTZT WIRD!! (z.B.: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNUNG!" + CR_LF+ "STELLEN SIE SICHER, DAS KEIN TABELLENALIAS IM INDEXAUSDRUCK BENUTZT WIRD!! (z.B.: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
||||||
@@ -25270,7 +25470,8 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "The outer class does not match the inner classes"
|
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "The outer class does not match the inner classes"
|
||||||
.C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = "The outer member does not match the inner members"
|
.C_OUTER_MEMBER_DOES_NOT_MATCH_INNER_MEMBERS_LOC = "The outer member does not match the inner members"
|
||||||
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimization: output file [<<lcOutputFile>>] was not overwritten because it is the same as was generated."
|
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimization: output file [<<lcOutputFile>>] was not overwritten because it is the same as was generated."
|
||||||
.C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimization: output file [<<THIS.c_OutputFile>>] was not regenerated because it is newer than the inputfile."
|
.C_OUTPUTFILE_TIMESTAMP_EQUAL_THAN_INPUTFILE_TIMESTAMP_LOC = "Optimization: output file [<<THIS.c_OutputFile>>] was not regenerated because it's filestamp is equal than the inputfile."
|
||||||
|
.C_OUTPUTFILE_TIMESTAMP_NEWER_THAN_INPUTFILE_TIMESTAMP_LOC = "Optimization: output file [<<THIS.c_OutputFile>>] was not regenerated because it's filestamp is newer than the inputfile."
|
||||||
.C_PRESS_ESC_TO_CANCEL = "Press Esc to Cancel"
|
.C_PRESS_ESC_TO_CANCEL = "Press Esc to Cancel"
|
||||||
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procedure not closed. Last line of code must be ENDPROC. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
|
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procedure not closed. Last line of code must be ENDPROC. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
|
||||||
.C_PROCESSING_LOC = "Processing file"
|
.C_PROCESSING_LOC = "Processing file"
|
||||||
@@ -25285,6 +25486,7 @@ DEFINE CLASS CL_LANG AS Custom
|
|||||||
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <<toClase._Nombre>> (<<loProcedure._Nombre>>), line <<TRANSFORM(I)>> of file <<THIS.c_InputFile>>"
|
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <<toClase._Nombre>> (<<loProcedure._Nombre>>), line <<TRANSFORM(I)>> of file <<THIS.c_InputFile>>"
|
||||||
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), line <<TRANSFORM(I)>> of file <<THIS.c_InputFile>>"
|
.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <<toClase._Nombre>> (<<toObjeto._Nombre>>.<<loProcedure._Nombre>>), line <<TRANSFORM(I)>> of file <<THIS.c_InputFile>>"
|
||||||
.C_UNKNOWN_CLASS_NAME_LOC = "Unknown class [<<THIS.CLASS>>]"
|
.C_UNKNOWN_CLASS_NAME_LOC = "Unknown class [<<THIS.CLASS>>]"
|
||||||
|
.C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = "Use file timestamp Optimization"
|
||||||
.C_USING_THIS_SETTINGS_LOC = "Using this settings"
|
.C_USING_THIS_SETTINGS_LOC = "Using this settings"
|
||||||
.C_WARNING_LOC = "WARNING!"
|
.C_WARNING_LOC = "WARNING!"
|
||||||
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNING!" + CR_LF+ "MAKE SURE YOU ARE NOT USING A TABLE ALIAS ON INDEX KEY EXPRESSIONS!! (ex: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNING!" + CR_LF+ "MAKE SURE YOU ARE NOT USING A TABLE ALIAS ON INDEX KEY EXPRESSIONS!! (ex: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
|
||||||
|
|||||||
Reference in New Issue
Block a user