Changeset: 673 - Agregado soporte multi-proyecto (*.PJX, *.PJ2) cuando se especifica "file.pjx", "*" (Lutz Scheffler)

- Mejoras en la traducción al alemán (Lutz Scheffler)
- Cambio de la clase principal de FoxBin2Prg de custom a session (Lutz Scheffler)
This commit is contained in:
fdbozzo
2015-03-05 20:48:17 +01:00
5 changed files with 325 additions and 185 deletions

View File

@@ -24,6 +24,10 @@ Change History -------------------------------------------------------------
- Feature: Make some error descriptions more informative and precise (Lutz Scheffler)
- Feature: 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)
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.

View File

@@ -150,10 +150,11 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O
#ENDIF
TRY
loEx = NULL
loEx = NULL
loFB2P_Esperado = CREATEOBJECT("EMPTY")
loFB2P = THIS.ioFB2P
loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest )
THIS.ioFB2P = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG", "", FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) )
loFB2P = THIS.ioFB2P
*loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest )
*-- DATOS DE ENTRADA
@@ -651,9 +652,10 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O
#ENDIF
TRY
loEx = NULL
loFB2P = THIS.ioFB2P
loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest )
loEx = NULL
THIS.ioFB2P = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG", "", FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) )
loFB2P = THIS.ioFB2P
*loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest )
loFB2P.l_ShowErrors = .F.

Binary file not shown.

View File

@@ -137,6 +137,7 @@
* 25/02/2015 FDBOZZO v1.19.42 Mejora: Hacer algunos mensajes de error m<>s descriptivos (Lutz Scheffler)
* 03/03/2015 FDBOZZO v1.19.42 Mejora: Permitir definir el archivo de entrada con un path relativo (Lutz Scheffler)
* 03/03/2015 FDBOZZO v1.19.42 Bug Fix scx: Metadato del Dataenvironment no se genera bien cuando el Dataenvironment es renombrado
* 03/03/2015 FDBOZZO v1.19.42 Mejora: Permitir usar m<>scaras "*" para procesar m<>ltiples proyectos a la vez (Lutz Scheffler)
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
*
*---------------------------------------------------------------------------------------------------
@@ -201,6 +202,7 @@
* 25/02/2015 Lutz Scheffler Reporte de Bug scx/vcx v1.19.41: Procesar solo un nivel de text/endtext, ya que no se admiten m<>s niveles (Arreglado en v1.19.42)
* 25/02/2015 Lutz Scheffler Mejora v1.19.41: Hacer algunos mensajes de error m<>s descriptivos (Agregado en v1.19.42)
* 03/03/2015 Lutz Scheffler Mejora v1.19.41: Permitir definir el archivo de entrada con un path relativo (Agregado en v1.19.42)
* 28/03/2015 Lutz Scheffler Mejora v1.19.41: Permitir usar m<>scaras "*" para procesar m<>ltiples proyectos a la vez (Agregado en v1.19.42)
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
*
*---------------------------------------------------------------------------------------------------
@@ -482,12 +484,13 @@ QUIT
*******************************************************************************************************************
DEFINE CLASS c_foxbin2prg AS CUSTOM
DEFINE CLASS c_foxbin2prg AS SESSION
#IF .F.
LOCAL THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
_MEMBERDATA = [<VFPData>] ;
+ [<memberdata name="a_processedfiles" display="a_ProcessedFiles"/>] ;
+ [<memberdata name="a_processedfiles_0" display="a_ProcessedFiles_0"/>] ;
+ [<memberdata name="avancedelproceso" display="AvanceDelProceso"/>] ;
+ [<memberdata name="convertir" display="Convertir"/>] ;
+ [<memberdata name="c_fb2prg_exe_version" display="c_FB2PRG_EXE_Version"/>] ;
@@ -516,6 +519,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
+ [<memberdata name="compilefoxprobinary" display="compileFoxProBinary"/>] ;
+ [<memberdata name="dobackup" display="doBackup"/>] ;
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
+ [<memberdata name="evaluate_full_pjx" display="Evaluate_Full_PJX"/>] ;
+ [<memberdata name="evaluate_full_pj2" display="Evaluate_Full_PJ2"/>] ;
+ [<memberdata name="ejecutar_writeerrorlog" display="ejecutar_WriteErrorLog"/>] ;
+ [<memberdata name="evaluarconfiguracion" display="EvaluarConfiguracion"/>] ;
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
@@ -558,6 +563,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
+ [<memberdata name="n_fb2prg_version" display="n_FB2PRG_Version"/>] ;
+ [<memberdata name="n_filehandle" display="n_FileHandle"/>] ;
+ [<memberdata name="n_forcewriteifreadonly" display="n_ForceWriteIfReadOnly"/>] ;
+ [<memberdata name="n_processedfiles_0" display="n_ProcessedFiles_0"/>] ;
+ [<memberdata name="n_processedfiles" display="n_ProcessedFiles"/>] ;
+ [<memberdata name="n_processedfilescount" display="n_ProcessedFilesCount"/>] ;
+ [<memberdata name="normalizarcapitalizacionarchivos" display="normalizarCapitalizacionArchivos"/>] ;
@@ -593,7 +599,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
+ [</VFPData>]
DIMENSION a_ProcessedFiles(1)
DIMENSION a_ProcessedFiles(1), a_ProcessedFiles_0(1)
PROTECTED l_ConfigEvaluated, n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess
*--
n_FB2PRG_Version = 1.19
@@ -647,6 +653,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
n_FileHandle = 0
n_ProcessedFiles = 0 && Contador usado para los archivos file.class.ext
n_ProcessedFilesCount = 0 && Contador gen<65>rico de procesados
n_ProcessedFiles_0 = 0 && Contador usado para los archivos file.ext
o_Conversor = NULL
o_Frm_Avance = NULL
o_WSH = NULL
@@ -676,6 +683,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
PROCEDURE INIT
LPARAMETERS tcCFG_File
LOCAL lcSys16, lnPosProg, lc_Foxbin2prg_EXE, laValues(1,5)
SET DELETED ON
SET DATE YMD
@@ -700,7 +709,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDIF
THIS.c_Foxbin2prg_FullPath = SUBSTR( lcSys16, lnPosProg )
THIS.c_Foxbin2prg_ConfigFile = FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'CFG' )
THIS.c_Foxbin2prg_ConfigFile = EVL( tcCFG_File, FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'CFG' ) )
THIS.c_CurDir = SYS(5) + CURDIR()
lc_Foxbin2prg_EXE = FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'EXE' )
THIS.c_FB2PRG_EXE_Version = 'v' + IIF( AGETFILEVERSION( laValues, lc_Foxbin2prg_EXE ) = 0, TRANSFORM(THIS.n_FB2PRG_Version), laValues(4) )
@@ -1916,8 +1925,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
loLang = _SCREEN.o_FoxBin2Prg_Lang
loFSO = .o_FSO
loWSH = .o_WSH
*DIMENSION .a_ProcessedFiles(1)
*.n_ProcessedFiles = 0
DIMENSION .a_ProcessedFiles_0(1)
.n_ProcessedFiles_0 = 0
lnPCount = 0
lcInputFile_Type = ''
@@ -1938,7 +1947,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDIF
*-- Ajusto la ruta si no es absoluta
IF lcInputFile_Type == C_FILETYPE_FILE ;
IF LEN(tc_InputFile) > 1 ;
AND LEFT(LTRIM(tc_InputFile),2) <> '\\' ;
AND SUBSTR(LTRIM(tc_InputFile),2,1) <> ':' THEN
tc_InputFile = FULLPATH(tc_InputFile, .c_CurDir)
@@ -2040,7 +2049,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
*-- Evaluaci<63>n de FileSpec de entrada
DO CASE
CASE lcInputFile_Type == C_FILETYPE_FILE AND '*' $ JUSTEXT( tc_InputFile ) OR '?' $ JUSTEXT( tc_InputFile )
CASE lcInputFile_Type == C_FILETYPE_FILE AND ( '*' $ JUSTEXT( tc_InputFile ) OR '?' $ JUSTEXT( tc_InputFile ) )
IF .l_ShowErrors
*MESSAGEBOX( 'No se admiten extensiones * o ? porque es peligroso (se pueden pisar binarios con archivo xx2 vac<61>os).', 0+48+4096, 'FOXBIN2PRG: ERROR!!', 60000 )
MESSAGEBOX( loLang.C_ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, loLang.C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 )
@@ -2052,32 +2061,49 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
CASE lcInputFile_Type == C_FILETYPE_FILE AND '*' $ JUSTSTEM( tc_InputFile )
*-- SE QUIEREN TODOS LOS ARCHIVOS DE UNA EXTENSI<53>N
IF .n_ShowProgressbar <> 0 THEN
.cargar_frm_avance()
ENDIF
lcFileSpec = FULLPATH( tc_InputFile )
DO CASE
CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile)
CD (tcRecompile)
CASE tcRecompile == '1'
CD (JUSTPATH(lcFileSpec))
ENDCASE
.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
IF .l_Debug
ERASE ( .c_LogFile )
ENDIF
IF EVL(tcType,'0') <> '*' THEN
IF .n_ShowProgressbar <> 0 THEN
.cargar_frm_avance()
ENDIF
DO CASE
CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile)
CD (tcRecompile)
CASE tcRecompile == '1'
CD (JUSTPATH(lcFileSpec))
ENDCASE
ENDIF
lnFileCount = ADIR( laFiles, lcFileSpec, '', 1 )
FOR I = 1 TO lnFileCount
lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) )
.AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 )
lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName )
.writeLog_Flush()
DO CASE
CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJX' AND EVL(tcType,'0') == '*'
*-- SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UNO O M<>S PROYECTOS PJX
*-- Filespec: "*.PJX", "*"
.Evaluate_Full_PJX(lcFile, tcRecompile, @toModulo, @toEx, tcOriginalFileName, .c_LogFile)
CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJ2' AND EVL(tcType,'0') == '*'
*-- SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UNO O M<>S PROYECTOS PJ2
*-- Filespec: "*.PJ2", "*"
.Evaluate_Full_PJ2(lcFile, tcRecompile, @toModulo, @toEx, tcOriginalFileName, .c_LogFile)
OTHERWISE
*-- DEM<45>S ARCHIVOS
*-- Filespec: "*.EXT"
.AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 )
lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName )
.writeLog_Flush()
ENDCASE
ENDFOR
EXIT
@@ -2241,100 +2267,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
DO CASE
CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJX' AND EVL(tcType,'0') == '*'
*-- SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UN PROYECTO
IF .n_ShowProgressbar <> 0 THEN
.cargar_frm_avance()
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Bin>Txt) -' )
ENDIF
.writeLog( '> ' + loLang.C_CONVERT_ALL_FILES_IN_A_PROJECT_LOC + ': ' + loLang.C_BINARY_TO_TEXT_LOC )
lcFileSpec = FULLPATH( tc_InputFile )
DO CASE
CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile)
CD (tcRecompile)
CASE tcRecompile == '1'
CD (JUSTPATH(lcFileSpec))
ENDCASE
.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
IF .l_Debug
ERASE ( .c_LogFile )
ENDIF
SELECT 0
USE (tc_InputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
lnFileCount = 0
SCAN FOR NOT DELETED()
lnFileCount = lnFileCount + 1
DIMENSION laFiles(lnFileCount,1)
laFiles(lnFileCount,1) = ADDBS( JUSTPATH( lcFileSpec ) ) + ALLTRIM( NAME, 0, ' ', CHR(0) )
ENDSCAN
USE IN (SELECT("TABLABIN"))
*-- Luego convierto los archivos incluidos
FOR I = 1 TO lnFileCount
lcFile = laFiles(I,1)
.AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 )
IF .TieneSoporte_Bin2Prg( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile )
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
.writeLog_Flush()
ENDIF
ENDFOR
*-- SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UN PROYECTO PJX
.Evaluate_Full_PJX(tc_InputFile, tcRecompile, @toModulo, @toEx, @tcOriginalFileName)
EXIT
CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJ2' AND EVL(tcType,'0') == '*'
*-- SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UN PROYECTO
IF .n_ShowProgressbar <> 0 THEN
.cargar_frm_avance()
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Txt>Bin) -' )
ENDIF
.writeLog( '> ' + loLang.C_CONVERT_ALL_FILES_IN_A_PROJECT_LOC + ': ' + loLang.C_TEXT_TO_BINARY_LOC )
lcFileSpec = FULLPATH( tc_InputFile )
DO CASE
CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile)
CD (tcRecompile)
CASE tcRecompile == '1'
CD (JUSTPATH(lcFileSpec))
ENDCASE
.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
IF .l_Debug
ERASE ( .c_LogFile )
ENDIF
lnFileCount = ALINES( laFiles, STREXTRACT( FILETOSTR(tc_InputFile), C_BUILDPROJ_I, C_BUILDPROJ_F ), 1+4 )
FOR I = lnFileCount TO 1 STEP -1
IF '.ADD(' $ laFiles(I)
laFiles(I) = ADDBS( JUSTPATH( lcFileSpec ) ) + STREXTRACT( laFiles(I), ".ADD('", "')" )
laFiles(I) = FORCEEXT( laFiles(I), .Get_Ext2FromExt( UPPER(JUSTEXT(laFiles(I))) ) )
ELSE
lnFileCount = lnFileCount - 1
ADEL( laFiles, I )
DIMENSION laFiles(lnFileCount)
ENDIF
ENDFOR
*-- Luego convierto los archivos incluidos
FOR I = 1 TO lnFileCount
lcFile = laFiles(I)
.AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 )
IF .TieneSoporte_Prg2Bin( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile )
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
.writeLog_Flush()
ENDIF
ENDFOR
*-- SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UN PROYECTO PJ2
.Evaluate_Full_PJ2(tc_InputFile, tcRecompile, @toModulo, @toEx, @tcOriginalFileName)
EXIT
CASE EVL(tcType,'0') <> '0' AND EVL(tcTextName,'0') <> '0'
@@ -2455,6 +2394,191 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDPROC
PROCEDURE Evaluate_Full_PJX
*--------------------------------------------------------------------------------------------------------------
* SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UN PROYECTO PJX
*--------------------------------------------------------------------------------------------------------------
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
* tc_InputFile (v! IN ) Nombre del archivo de entrada
* tcRecompile (v? IN ) Indica recompilar ('1') el binario una vez regenerado. [Cambio de funcionamiento por defecto]
* Este cambio es para ganar tiempo, velocidad y seguridad. Adem<65>s la recompilaci<63>n que hace FoxBin2Prg
* se hace desde el directorio del archivo, con lo que las referencias relativas pueden
* generar errores de compilaci<63>n, t<>picamente los #include.
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usar<61> como base para recompilar
* toModulo (@? OUT) Referencia de objeto del m<>dulo generado (para Unit Testing)
* toEx (@? OUT) Objeto con informaci<63>n del error
* tcOriginalFileName (v? IN ) Sirve para los casos en los que inputFile es un nombre temporal y se quiere generar
* el nombre correcto dentro de la versi<73>n texto (por ej: en los PJ2 y las cabeceras)
* tcLogFile (v? IN ) Nombre del log a usar
*--------------------------------------------------------------------------------------------------------------
LPARAMETERS tc_InputFile, tcRecompile, toModulo, toEx, tcOriginalFileName, tcLogFile
LOCAL lcFileSpec, lnFileCount, laFiles(1,1), lcFile, lnCodError, I, lnFileCount ;
, loLang AS CL_LANG OF 'FOXBIN2PRG.PRG'
TRY
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
loLang = _SCREEN.o_FoxBin2Prg_Lang
lcFileSpec = FULLPATH( tc_InputFile )
IF .n_ShowProgressbar <> 0 THEN
.cargar_frm_avance()
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Bin>Txt) -' )
ENDIF
IF EMPTY(tcLogFile)
.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
IF .l_Debug
ERASE ( .c_LogFile )
ENDIF
ENDIF
.writeLog( '> ' + loLang.C_CONVERT_ALL_FILES_IN_A_PROJECT_LOC + ': ' + loLang.C_BINARY_TO_TEXT_LOC )
DO CASE
CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile)
CD (tcRecompile)
CASE tcRecompile == '1'
CD (JUSTPATH(lcFileSpec))
ENDCASE
SELECT 0
USE (tc_InputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
lnFileCount = 0
SCAN FOR NOT DELETED()
lnFileCount = lnFileCount + 1
DIMENSION laFiles(lnFileCount,1)
laFiles(lnFileCount,1) = ADDBS( JUSTPATH( lcFileSpec ) ) + ALLTRIM( NAME, 0, ' ', CHR(0) )
ENDSCAN
USE IN (SELECT("TABLABIN"))
*-- Convierto primero el proyecto
lcFile = tc_InputFile
IF .TieneSoporte_Bin2Prg( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile )
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
.writeLog_Flush()
ENDIF
*-- Luego convierto los archivos incluidos
FOR I = 1 TO lnFileCount
lcFile = laFiles(I,1)
.AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 )
IF .TieneSoporte_Bin2Prg( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile )
IF .n_ProcessedFiles_0 > 0 THEN
*-- Buscar si fue procesado antes
IF ASCAN( .a_ProcessedFiles_0, lcFile, 1, 0, 0, 1+2+4 ) > 0 THEN
*.writeLog( 'OPTIMIZACI<43>N: saltando archivo ya procesado [' + (lcFile) + ']' )
.writeLog( TEXTMERGE( loLang.C_OPTIMIZATION_SKIPPING_ALREADY_PROCESSED_FILE_LOC ) )
LOOP
ENDIF
ENDIF
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
.writeLog_Flush()
ENDIF
ENDFOR
ENDWITH
ENDTRY
ENDPROC
PROCEDURE Evaluate_Full_PJ2
*--------------------------------------------------------------------------------------------------------------
* SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UN PROYECTO PJ2
*--------------------------------------------------------------------------------------------------------------
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
* tc_InputFile (v! IN ) Nombre del archivo de entrada
* tcRecompile (v? IN ) Indica recompilar ('1') el binario una vez regenerado. [Cambio de funcionamiento por defecto]
* Este cambio es para ganar tiempo, velocidad y seguridad. Adem<65>s la recompilaci<63>n que hace FoxBin2Prg
* se hace desde el directorio del archivo, con lo que las referencias relativas pueden
* generar errores de compilaci<63>n, t<>picamente los #include.
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usar<61> como base para recompilar
* toModulo (@? OUT) Referencia de objeto del m<>dulo generado (para Unit Testing)
* toEx (@? OUT) Objeto con informaci<63>n del error
* tcOriginalFileName (v? IN ) Sirve para los casos en los que inputFile es un nombre temporal y se quiere generar
* el nombre correcto dentro de la versi<73>n texto (por ej: en los PJ2 y las cabeceras)
* tcLogFile (v? IN ) Nombre del log a usar
*--------------------------------------------------------------------------------------------------------------
LPARAMETERS tc_InputFile, tcRecompile, toModulo, toEx, tcOriginalFileName, tcLogFile
LOCAL lcFileSpec, lnFileCount, laFiles(1,1), lcFile, lnCodError, I, lnFileCount ;
, loLang AS CL_LANG OF 'FOXBIN2PRG.PRG'
TRY
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
loLang = _SCREEN.o_FoxBin2Prg_Lang
lcFileSpec = FULLPATH( tc_InputFile )
IF .n_ShowProgressbar <> 0 THEN
.cargar_frm_avance()
.o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Txt>Bin) -' )
ENDIF
IF EMPTY(tcLogFile)
.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
IF .l_Debug
ERASE ( .c_LogFile )
ENDIF
ENDIF
.writeLog( '> ' + loLang.C_CONVERT_ALL_FILES_IN_A_PROJECT_LOC + ': ' + loLang.C_TEXT_TO_BINARY_LOC )
DO CASE
CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile)
CD (tcRecompile)
CASE tcRecompile == '1'
CD (JUSTPATH(lcFileSpec))
ENDCASE
lnFileCount = ALINES( laFiles, STREXTRACT( FILETOSTR(tc_InputFile), C_BUILDPROJ_I, C_BUILDPROJ_F ), 1+4 )
FOR I = lnFileCount TO 1 STEP -1
IF '.ADD(' $ laFiles(I)
laFiles(I) = ADDBS( JUSTPATH( lcFileSpec ) ) + STREXTRACT( laFiles(I), ".ADD('", "')" )
laFiles(I) = FORCEEXT( laFiles(I), .Get_Ext2FromExt( UPPER(JUSTEXT(laFiles(I))) ) )
ELSE
lnFileCount = lnFileCount - 1
ADEL( laFiles, I )
DIMENSION laFiles(lnFileCount)
ENDIF
ENDFOR
*-- Convierto primero el proyecto
lcFile = tc_InputFile
IF .TieneSoporte_Bin2Prg( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile )
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
.writeLog_Flush()
ENDIF
*-- Luego convierto los archivos incluidos
FOR I = 1 TO lnFileCount
lcFile = laFiles(I)
.AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 )
IF .TieneSoporte_Prg2Bin( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile )
IF .n_ProcessedFiles_0 > 0 THEN
*-- Buscar si fue procesado antes
IF ASCAN( .a_ProcessedFiles_0, lcFile, 1, 0, 0, 1+2+4 ) > 0 THEN
*.writeLog( 'OPTIMIZACI<43>N: saltando archivo ya procesado [' + (lcFile) + ']' )
.writeLog( TEXTMERGE( loLang.C_OPTIMIZATION_SKIPPING_ALREADY_PROCESSED_FILE_LOC ) )
LOOP
ENDIF
ENDIF
lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName )
.writeLog_Flush()
ENDIF
ENDFOR
ENDWITH
ENDTRY
ENDPROC
HIDDEN PROCEDURE ejecutar_WriteErrorLog
LPARAMETERS toEx, tcErrorInfo
@@ -2551,7 +2675,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDIF
ENDIF
IF NOT EMPTY(tcOriginalFileName)
tcOriginalFileName = loFSO.GetAbsolutePathName( tcOriginalFileName )
ENDIF
@@ -2562,9 +2685,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
.c_OriginalFileName = FORCEEXT(.c_OriginalFileName,'pjx')
ENDIF
*-- Conteo de archivos normales procesados
.n_ProcessedFiles_0 = .n_ProcessedFiles_0 + 1
DIMENSION .a_ProcessedFiles_0(.n_ProcessedFiles_0)
.a_ProcessedFiles_0(.n_ProcessedFiles_0) = .c_InputFile
.writeLog( C_TAB + 'c_OriginalFileName: ' + .c_OriginalFileName )
.writeLog( )
.o_Conversor = NULL
IF NOT FILE(.c_InputFile)
ERROR loLang.C_FILE_DOESNT_EXIST_LOC + ' [' + .c_InputFile + ']'
@@ -2578,7 +2705,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_VC2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_vcx_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_vcx_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_VC2 ), lcForceAttribs )
CASE lcExtension = 'SCX'
@@ -2586,7 +2713,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_SC2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_scx_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_scx_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_SC2 ), lcForceAttribs )
CASE lcExtension = 'PJX'
@@ -2594,7 +2721,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_pjx_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_pjx_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_PJ2 ), lcForceAttribs )
CASE lcExtension = 'PJM'
@@ -2602,7 +2729,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_pjm_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_pjm_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_PJ2 ), lcForceAttribs )
CASE lcExtension = 'FRX'
@@ -2610,7 +2737,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_FR2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_FR2 ), lcForceAttribs )
CASE lcExtension = 'LBX'
@@ -2618,7 +2745,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_LB2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_LB2 ), lcForceAttribs )
CASE lcExtension = 'DBF'
@@ -2626,7 +2753,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_DB2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_dbf_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_dbf_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_DB2 ), lcForceAttribs )
CASE lcExtension = 'DBC'
@@ -2634,7 +2761,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_DC2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_dbc_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_dbc_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_DC2 ), lcForceAttribs )
CASE lcExtension = 'MNX'
@@ -2642,7 +2769,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, .c_MN2 )
.o_Conversor = CREATEOBJECT( 'c_conversor_mnx_a_prg' )
loConversor = CREATEOBJECT( 'c_conversor_mnx_a_prg' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_MN2 ), lcForceAttribs )
CASE lcExtension = .c_VC2
@@ -2650,7 +2777,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, 'VCX' )
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_vcx' )
loConversor = CREATEOBJECT( 'c_conversor_prg_a_vcx' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'VCX' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'VCT' ), lcForceAttribs )
@@ -2659,7 +2786,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, 'SCX' )
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_scx' )
loConversor = CREATEOBJECT( 'c_conversor_prg_a_scx' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'SCX' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'SCT' ), lcForceAttribs )
@@ -2668,7 +2795,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, 'PJX' )
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_pjx' )
loConversor = CREATEOBJECT( 'c_conversor_prg_a_pjx' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'PJX' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'PJT' ), lcForceAttribs )
@@ -2677,7 +2804,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, 'FRX' )
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_frx' )
loConversor = CREATEOBJECT( 'c_conversor_prg_a_frx' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'FRX' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'FRT' ), lcForceAttribs )
@@ -2686,7 +2813,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, 'LBX' )
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_frx' )
loConversor = CREATEOBJECT( 'c_conversor_prg_a_frx' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'LBX' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'LBT' ), lcForceAttribs )
@@ -2695,7 +2822,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, 'DBF' )
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_dbf' )
loConversor = CREATEOBJECT( 'c_conversor_prg_a_dbf' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DBF' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'FPT' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'CDX' ), lcForceAttribs )
@@ -2705,7 +2832,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, 'DBC' )
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_dbc' )
loConversor = CREATEOBJECT( 'c_conversor_prg_a_dbc' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DBC' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DCX' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DCT' ), lcForceAttribs )
@@ -2715,7 +2842,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC))
ENDIF
.c_OutputFile = FORCEEXT( .c_InputFile, 'MNX' )
.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_mnx' )
loConversor = CREATEOBJECT( 'c_conversor_prg_a_mnx' )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'MNX' ), lcForceAttribs )
.ChangeFileAttribute( FORCEEXT( .c_InputFile, 'MNT' ), lcForceAttribs )
@@ -2767,7 +2894,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
IF NOT .l_OptimizeByFilestamp OR .t_InputFile_TimeStamp >= .t_OutputFile_TimeStamp THEN
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
loConversor = .o_Conversor
loConversor.c_InputFile = .c_InputFile
loConversor.c_OutputFile = .c_OutputFile
loConversor.c_LogFile = .c_LogFile
@@ -2782,14 +2908,14 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
*--
.AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + .c_InputFile + '...', 0, 0, 0 )
IF AEVENTS( laEvents, .o_Conversor ) = 0 THEN
BINDEVENT( .o_Conversor, 'AvanceDelProceso', THIS, 'AvanceDelProceso' )
IF AEVENTS( laEvents, loConversor ) = 0 THEN
BINDEVENT( loConversor, 'AvanceDelProceso', THIS, 'AvanceDelProceso' )
ENDIF
loConversor.Convertir( @toModulo, .F., THIS )
.n_ProcessedFilesCount = .n_ProcessedFilesCount + 1
.writeLog()
.writeLog(.o_Conversor.c_TextLog) && Recojo el LOG que haya generado el conversor
.writeLog(loConversor.c_TextLog) && Recojo el LOG que haya generado el conversor
*-- Logueo los errores
IF NOT EMPTY(loConversor.c_TextErr) THEN
@@ -2822,11 +2948,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDIF
FINALLY
IF AEVENTS( laEvents, THIS.o_Conversor ) > 0 THEN
UNBINDEVENTS( THIS.o_Conversor )
IF AEVENTS( laEvents, loConversor ) > 0 THEN
UNBINDEVENTS( loConversor )
ENDIF
STORE NULL TO loConversor, THIS.o_Conversor, loFSO
STORE NULL TO loConversor, loFSO
*IF lnCodError = 0 OR NOT THIS.l_ShowErrors THEN
* THIS.writeLog( REPLICATE('-',100) )
@@ -22315,6 +22441,7 @@ DEFINE CLASS CL_LANG AS Custom
C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = ""
C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = ""
C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = ""
C_OPTIMIZATION_SKIPPING_ALREADY_PROCESSED_FILE_LOC = ""
C_OPTION_LOC = ""
C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = ""
C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = ""
@@ -22463,6 +22590,8 @@ DEFINE CLASS CL_LANG AS Custom
.C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Programme des noms de capitalisation [<<lcEXE_CAPS>>] introuvables"
.C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<<toObj.CLASS>>] ne contient pas l'objet oReg (niveau <<TRANSFORM(tnNivel)>>)"
.C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Op<4F>ration non reconnu. Seulement SETNAME et GETNAME permis."
.C_OPTIMIZATION_SKIPPING_ALREADY_PROCESSED_FILE_LOC = "Optimisation: sauter fichier d<>j<EFBFBD> trait<69> [<<(lcFile)>>]"
.C_OPTION_LOC = "Option"
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "La classe externe ne correspond pas <20> la classe interne"
.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."
@@ -22546,9 +22675,11 @@ DEFINE CLASS CL_LANG AS Custom
.C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* No se ha encontrado el programa de capitalizaci<63>n de nombres [<<lcEXE_CAPS>>]"
.C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objeto [<<toObj.CLASS>>] no contiene el objeto oReg (nivel <<TRANSFORM(tnNivel)>>)"
.C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operaci<63>n no reconocida. Solo re reconoce SETNAME y GETNAME."
.C_OPTIMIZATION_SKIPPING_ALREADY_PROCESSED_FILE_LOC = "Optimizaci<63>n: saltando el archivo ya procesado [<<(lcFile)>>]"
.C_OPTION_LOC = "Option"
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "La clase externa no coincide con la clase interna"
.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_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_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_PROCESSING_LOC = "Procesando archivo"
@@ -22572,11 +22703,11 @@ DEFINE CLASS CL_LANG AS Custom
*-------------------------------------------------------------------------------------------------------------------------------------------
*-- NOTE: ES M<>SSEN ANF<4E>HRUNGSZEICHEN BENUTZT WERDEN, ODER SYNTAX ERRORS PASSIEREN BEIM COMPILE. SELTSAM :(
*-------------------------------------------------------------------------------------------------------------------------------------------
.C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* und ? Erweiterungen sind nicht erlaubt, da es gef<65>hrlich ist (binaries k<>nnten <EFBFBD>berschrieben werden mit xx2 leeren Dateien)"
.C_BACKLINK_CANT_UPDATE_BL_LOC = "Backlink kann nicht geupdated werden"
.C_ASTERISK_EXT_NOT_ALLOWED_LOC = "Die Erweiterungen * und ? sind nicht erlaubt, da sie gef<65>hrlich sind (Binaries k<>nnten mit xx2 leeren Dateien <20>berschrieben werden)"
.C_BACKLINK_CANT_UPDATE_BL_LOC = "Backlink kann nicht aktualisiert werden"
.C_BACKLINK_OF_TABLE_LOC = "von Tabelle"
.C_BACKUP_OF_LOC = "Mache Backup von: "
.C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "Kann Datei [<<THIS.c_OutputFile>>] nicht generieren da sie Schreibgesch<EFBFBD>tzt ist"
.C_BACKUP_OF_LOC = "Erzeuge Backup von: "
.C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "Kann Datei [<<THIS.c_OutputFile>>] nicht generieren, da sie schreibgesch<EFBFBD>tzt ist"
.C_CLASSPERFILE_OPTIMIZATION_BASE_ALREADY_PROCESSED_LOC = "Optimierung: Grund Datei [<<JUSTFNAME(lc_BaseFile)>>] Schon verarbeitet, das <20>berspringen Verarbeitung der Datei [<<JUSTFNAME(.c_InputFile)>>]"
.C_CONFIGFILE_LOC = "Benutze Konfigurationsdatei:"
.C_CONVERSION_CANCELLED_BY_USER_LOC = "Konvertierung durch den Benutzer abgebrochen"
@@ -22588,16 +22719,16 @@ DEFINE CLASS CL_LANG AS Custom
.C_CONVERT_FOLDER_QUESTION_LOC = "Welche Umwandlung sollte sich auf die Dateien dieses Verzeichnis durchgef<65>hrt werden?"
.C_CONVERTER_UNLOAD_LOC = "Konverter wird entladen"
.C_CONVERTING_FILE_LOC = "Konvertiere Datei"
.C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Datenfehler: Keine Analyse m<>glich da ungepaarte Anf<6E>hrungszeichen in Zeile <<lcMetadatos>>"
.C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Datenfehler: Keine Analyse m<>glich, da ungepaarte Anf<6E>hrungszeichen in Zeile <<lcMetadatos>> sind."
.C_DUPLICATED_FILE_LOC = "Doppelte Datei"
.C_DUPLICATED_OBJECT_LOC = "Doppelte Objekt"
.C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Kann keinen Ende Marker [ENDDEFINE] in Zeile <<TRANSFORM( toClase._Inicio )>> f<>r die ID [<<toClase._Nombre>>] finden"
.C_END_MARKER_NOT_FOUND_LOC = "Kann keinen Ende Marker [<<ta_ID_Bloques(lnPrimerID,2)>>] welcher den Start Marker [<<ta_ID_Bloques(lnPrimerID,1)>>] in Zeile <<TRANSFORM(taBloquesExclusion(tnBloquesExclusion,1))>> schlie<69>t"
.C_END_OF_PROCESS_LOC = "Ende der Prozess"
.C_END_OF_PROCESS_LOC = "Ende desr Prozesses"
.C_ERROR_LOC = "FEHLER"
.C_ERRORS_FOUND_IN_FILE_LOC = "FEHLER IN FILE GEFUNDEN"
.C_EXTENSION_RECONFIGURATION_LOC = "Erweiterungsneukonfiguration:"
.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "Externe Klassenzahl (<< toModulo._ExternalClasses_Count >>) nicht gefunden Klassen entsprechen (<< toModulo._Clases_Count >>) f<>r Datei [<< toFoxBin2Prg.c_InputFile >>]"
.C_EXTENSION_RECONFIGURATION_LOC = "Nneukonfiguration der Erweiterungen:" &&wir wollen es mal nicht <20>bertreiben, mit den zusammengesetzten Substantiven
.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "Die Anzahl externee Klassen (<< toModulo._ExternalClasses_Count >>) entspricht nicht der der gefunden Klassen (<< toModulo._Clases_Count >>), Datei: [<< toFoxBin2Prg.c_InputFile >>]"
.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "Keine externe Klasse gefunden"
.C_EXTERNAL_PARAMETERS_LOC = "EXTERNE PARAMETER"
.C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Feld [<<laProps(I)>>] nicht in der Struktur von Datei <<DBF('TABLABIN')>> gefunden"
@@ -22612,7 +22743,7 @@ DEFINE CLASS CL_LANG AS Custom
+ " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ;
+ "Ein Beispiel f<>r die Generierung der TXT von allen VCX in 'c:\development\classes', ohne Anzeige des Fehlerfensters und ohne LOG datei: " + CR_LF ;
+ " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'"
.C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG ist nur f<>r Visual FoxPro 9.0!"
.C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG arbeitet nur f<>r Visual FoxPro 9.0!"
.C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNUNG!"
.C_GENERATED_FILE_SIZE_LOC = "Generierte Dateigr<67><72>e"
.C_GENERATING_BINARY_LOC = "Gene Binary"
@@ -22624,31 +22755,33 @@ DEFINE CLASS CL_LANG AS Custom
.C_IS_UNSUPPORTED_LOC = "wird nicht unterst<73>tzt"
.C_LANGUAGE_LOC = "DE"
.C_MAIN_EXECUTION_LOC = "HAUPTAUSF<53>HRUNGS"
.C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<<THIS.c_InputFile>>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY MENU '<<THIS.c_InputFile>>'"
.C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<<THIS.c_InputFile>>] ist NICHT in VFP 9 Format! - Bitte zuerst mit MODIFY MENU '<<THIS.c_InputFile>>' nach VFP 9 konvertieren."
.C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Programm f<>r Gro<72>schreibungssetzung [<<lcEXE_CAPS>>] gefunden"
.C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Programm f<>r Gro<72>schreibungssetzung [<<lcEXE_CAPS>>] nicht gefunden"
.C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objekt [<<toObj.CLASS>>] enth<74>lt nicht oReg Objekt (level <<TRANSFORM(tnNivel)>>)"
.C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objekt [<<toObj.CLASS>>] enth<74>lt nicht das oReg Objekt (level <<TRANSFORM(tnNivel)>>)"
.C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Befehl nicht erkannt. Nur SETNAME und GETNAME erlaubt."
.C_OPTIMIZATION_SKIPPING_ALREADY_PROCESSED_FILE_LOC = "Optimierung: <20>berspringen von bereits bearbeiteten Datei [<<(lcFile)>>]"
.C_OPTION_LOC = "Option"
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "Die <20>u<EFBFBD>ere Klasse nicht die innere Klassifizierung anzeigen lassen"
.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimierung: Ausgabedatei [<<lcOutputFile>>] 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_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_PRESS_ESC_TO_CANCEL = "Dr<44>cken Sie Esc f<>r Abbrechen"
.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procedur 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_PROCESS_PROGRESS_LOC = "Bearbeitungsfortschritt:"
.C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Eigenschaft [<<TRANSFORM(tnPropertyID)>>] nicht erkannt."
.C_READING_CFG_VALUES_FROM_DISK_LOC = "LESEWERTE CFG-DATEI AUF DER FESTPLATTE"
.C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<<THIS.c_InputFile>>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY REPORT '<<THIS.c_InputFile>>'"
.C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Forder Gro<72>schreibung f<>r Datei [<<tcFileName>>] an"
.C_SCANNING_FILE_AND_DIR_INFO_LOC = "Scannen Datei- und Verzeichnisinformationen f<>r"
.C_SOURCEFILE_LOC = "Source Datei: "
.C_SCANNING_FILE_AND_DIR_INFO_LOC = "Scanne Datei- und Verzeichnisinformationen f<>r"
.C_SOURCEFILE_LOC = "Quell Datei: "
.C_SOURCESAFE_COMPATIBILITY_MODE_LOC = "Sourcesafe-Kompatibilit<69>tsmodus"
.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_UNKNOWN_CLASS_NAME_LOC = "Unbekannte Klasse [<<THIS.CLASS>>]"
.C_USING_THIS_SETTINGS_LOC = "Mit dieser einstellung"
.C_WARNING_LOC = "WARNUNG!"
.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNUNG!" + CR_LF+ "SICHERSTELLEN DAS KEIN TABELLENALIAS IN DEM 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)"
.C_WITH_ERRORS_LOC = "mit Fehlern"
OTHERWISE && English (Ingl<67>s)
@@ -22660,7 +22793,7 @@ DEFINE CLASS CL_LANG AS Custom
.C_BACKLINK_OF_TABLE_LOC = "of table"
.C_BACKUP_OF_LOC = "Doing Backup of: "
.C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "Cannot generate file [<<THIS.c_OutputFile>>] because it is ReadOnly"
.C_CLASSPERFILE_OPTIMIZATION_BASE_ALREADY_PROCESSED_LOC = "OPTIMIZATION: Base File [<<JUSTFNAME(lc_BaseFile)>>] already processed, skipping processing of file [<<JUSTFNAME(.c_InputFile)>>]"
.C_CLASSPERFILE_OPTIMIZATION_BASE_ALREADY_PROCESSED_LOC = "Optimization: Base File [<<JUSTFNAME(lc_BaseFile)>>] already processed, skipping processing of file [<<JUSTFNAME(.c_InputFile)>>]"
.C_CONFIGFILE_LOC = "Using configuration file:"
.C_CONVERSION_CANCELLED_BY_USER_LOC = "Conversion Cancelled by the user"
.C_CONVERT_ALL_FILES_IN_A_PROJECT_LOC = "Convert all files in a Project"
@@ -22712,10 +22845,11 @@ DEFINE CLASS CL_LANG AS Custom
.C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Names capitalization program [<<lcEXE_CAPS>>] not found"
.C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<<toObj.CLASS>>] does not contain oReg object (level <<TRANSFORM(tnNivel)>>)"
.C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operation not recognized. Only SETNAME and GETNAME allowed."
.C_OPTIMIZATION_SKIPPING_ALREADY_PROCESSED_FILE_LOC = "Optimization: skipping already processed file [<<(lcFile)>>]"
.C_OPTION_LOC = "Option"
.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC = "The outer class does not match the inner classes"
.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_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_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_PROCESSING_LOC = "Processing file"

View File

@@ -3,26 +3,26 @@
*-- NOTE: ES M<EFBFBD>SSEN ANF<EFBFBD>HRUNGSZEICHEN BENUTZT WERDEN, ODER SYNTAX ERRORS PASSIEREN BEIM COMPILE. SELTSAM :(
*-- FoxBin2Prg v1.19.38
*-------------------------------------------------------------------------------------------------------------------------------------------
#DEFINE C_ASTERISK_EXT_NOT_ALLOWED_LOC "* und ? Erweiterungen sind nicht erlaubt, da es gef<65>hrlich ist (binaries k<>nnten <EFBFBD>berschrieben werden mit xx2 leeren Dateien)"
#DEFINE C_BACKLINK_CANT_UPDATE_BL_LOC "Backlink kann nicht geupdated werden"
#DEFINE C_ASTERISK_EXT_NOT_ALLOWED_LOC "Die Erweiterungen * und ? sind nicht erlaubt, da sie gef<65>hrlich sind (Binaries k<>nnten mit xx2 leeren Dateien <20>berschrieben werden)"
#DEFINE C_BACKLINK_CANT_UPDATE_BL_LOC "Backlink kann nicht aktualisiert werden"
#DEFINE C_BACKLINK_OF_TABLE_LOC "von Tabelle"
#DEFINE C_BACKUP_OF_LOC "Mache Backup von: "
#DEFINE C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC "Kann Datei [<<THIS.c_OutputFile>>] nicht generieren da sie Schreibgesch<EFBFBD>tzt ist"
#DEFINE C_BACKUP_OF_LOC "Erzeuge Backup von: "
#DEFINE C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC "Kann Datei [<<THIS.c_OutputFile>>] nicht generieren, da sie schreibgesch<EFBFBD>tzt ist"
#DEFINE C_CONFIGFILE_LOC "Benutze Konfigurationsdatei:"
#DEFINE C_CONVERSION_CANCELLED_BY_USER_LOC "Konvertierung durch den Benutzer abgebrochen"
#DEFINE C_CONVERTER_UNLOAD_LOC "Konverter wird entladen"
#DEFINE C_CONVERTER_UNLOAD_LOC "Konverter wird entladen" &&don't realy grok it even in english
#DEFINE C_CONVERTING_FILE_LOC "Konvertiere Datei"
#DEFINE C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC "Datenfehler: Keine Analyse m<>glich da ungepaarte Anf<6E>hrungszeichen in Zeile <<lcMetadatos>>"
#DEFINE C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC "Datenfehler: Keine Analyse m<>glich, da ungepaarte Anf<6E>hrungszeichen in Zeile <<lcMetadatos>> sind."
#DEFINE C_DUPLICATED_FILE_LOC "Doppelte Datei"
#DEFINE C_ENDDEFINE_MARKER_NOT_FOUND_LOC "Kann keinen Ende Marker [ENDDEFINE] in Zeile <<TRANSFORM( toClase._Inicio )>> f<>r die ID [<<toClase._Nombre>>] finden"
#DEFINE C_END_MARKER_NOT_FOUND_LOC "Kann keinen Ende Marker [<<ta_ID_Bloques(lnPrimerID,2)>>] welcher den Start Marker [<<ta_ID_Bloques(lnPrimerID,1)>>] in Zeile <<TRANSFORM(taBloquesExclusion(tnBloquesExclusion,1))>> schlie<69>t"
#DEFINE C_END_OF_PROCESS_LOC "Ende der Prozess"
#DEFINE C_END_OF_PROCESS_LOC "Ende desr Prozesses"
#DEFINE C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC "Feld [<<laProps(I)>>] nicht in der Struktur von Datei <<DBF('TABLABIN')>> gefunden"
#DEFINE C_FILE_DOESNT_EXIST_LOC "Datei existiert nicht:"
#DEFINE C_FILE_NAME_IS_NOT_SUPPORTED_LOC "Datei [<<.c_InputFile>>] wird nicht unterst<73>tzt"
#DEFINE C_FILE_NOT_FOUND_LOC "Datei nicht gefunden"
#DEFINE C_EXTENSION_RECONFIGURATION_LOC "Erweiterungsneukonfiguration:"
#DEFINE C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC "Externe Klassenzahl (<< toModulo._ExternalClasses_Count >>) nicht gefunden Klassen entsprechen (<< toModulo._Clases_Count >>) f<>r Datei [<< toFoxBin2Prg.c_InputFile >>]"
#DEFINE C_EXTENSION_RECONFIGURATION_LOC " Nneukonfiguration der Erweiterungen:" &&wir wollen es mal nicht <20>bertreiben, mit den zusammengesetzten Substantiven
#DEFINE C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC "Die Anzahl externee Klassen (<< toModulo._ExternalClasses_Count >>) entspricht nicht der der gefunden Klassen (<< toModulo._Clases_Count >>), Datei: [<< toFoxBin2Prg.c_InputFile >>]"
#DEFINE C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND_LOC "Externe Klasse (<<toModulo._ExternalClasses(I)>>) nicht in der Datei [<<toFoxBin2Prg.c_InputFile>>] gefunden"
#DEFINE C_FOXBIN2PRG_ERROR_CAPTION_LOC "FOXBIN2PRG: FEHLER!!"
#DEFINE C_FOXBIN2PRG_INFO_SINTAX_LOC "FOXBIN2PRG: SYNTAX INFO"
@@ -31,26 +31,26 @@
+ " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ;
+ "Ein Beispiel f<>r die Generierung der TXT von allen VCX in 'c:\development\classes', ohne Anzeige des Fehlerfensters und ohne LOG datei: " + CR_LF ;
+ " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'"
#DEFINE C_FOXBIN2PRG_JUST_VFP_9_LOC "FOXBIN2PRG ist nur f<>r Visual FoxPro 9.0!"
#DEFINE C_FOXBIN2PRG_JUST_VFP_9_LOC "FOXBIN2PRG arbeitet nur f<>r Visual FoxPro 9.0!"
#DEFINE C_FOXBIN2PRG_WARN_CAPTION_LOC "FOXBIN2PRG: WARNUNG!"
#DEFINE C_LANGUAGE_LOC "DE"
#DEFINE C_MENU_NOT_IN_VFP9_FORMAT_LOC "Menu [<<THIS.c_InputFile>>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY MENU '<<THIS.c_InputFile>>'"
#DEFINE C_MENU_NOT_IN_VFP9_FORMAT_LOC "Menu [<<THIS.c_InputFile>>] ist NICHT in VFP 9 Format! - Bitte zuerst mit MODIFY MENU '<<THIS.c_InputFile>>' nach VFP 9 konvertieren."
#DEFINE C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC "* Programm f<>r Gro<72>schreibungssetzung [<<lcEXE_CAPS>>] gefunden"
#DEFINE C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC "* Programm f<>r Gro<72>schreibungssetzung [<<lcEXE_CAPS>>] nicht gefunden"
#DEFINE C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC "Objekt [<<toObj.CLASS>>] enth<74>lt nicht oReg Objekt (level <<TRANSFORM(tnNivel)>>)"
#DEFINE C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC "Objekt [<<toObj.CLASS>>] enth<74>lt nicht das oReg Objekt (level <<TRANSFORM(tnNivel)>>)"
#DEFINE C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC "Befehl nicht erkannt. Nur SETNAME und GETNAME erlaubt."
#DEFINE C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC "Optimierung: Ausgabedatei [<<tcOutputFile>>] wurde nicht <20>berschrieben da sie dieselbe ist wie die neu generierte."
#DEFINE C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC "Optimierung: Ausgabedatei [<<THIS.c_OutputFile>>] wurde nicht erneuert da sie neuer ist als die Ursprungsdatei."
#DEFINE C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC "Procedur nicht geschlossen. Letzte Zeile des Codes muss ENDPROC sein. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
#DEFINE C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC "Optimierung: Ausgabedatei [<<tcOutputFile>>] wurde nicht <20>berschrieben, da sie dieselbe ist wie die neu generierte."
#DEFINE C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC "Optimierung: Ausgabedatei [<<THIS.c_OutputFile>>] wurde nicht erneuert, da sie neuer ist als die Ursprungsdatei."
#DEFINE C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC "Prozcedur nicht geschlossen. Letzte Zeile des Codes muss ENDPROC sein. [<<laLineas(1)>>, Recno:<<RECNO()>>]"
#DEFINE C_PROCESSING_LOC "Bearbeite Datei"
#DEFINE C_PROCESS_PROGRESS_LOC "Bearbeitungsfortschritt:"
#DEFINE C_PROPERTY_NAME_NOT_RECOGNIZED_LOC "Eigenschaft [<<TRANSFORM(tnPropertyID)>>] nicht erkannt."
#DEFINE C_REPORT_NOT_IN_VFP9_FORMAT_LOC "Report [<<THIS.c_InputFile>>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY REPORT '<<THIS.c_InputFile>>'"
#DEFINE C_REQUESTING_CAPITALIZATION_OF_FILE_LOC "- Forder Gro<72>schreibung f<>r Datei [<<tcFileName>>] an"
#DEFINE C_SCANNING_FILE_AND_DIR_INFO_LOC "Scannen Datei- und Verzeichnisinformationen f<>r"
#DEFINE C_SOURCEFILE_LOC "Source Datei: "
#DEFINE C_SCANNING_FILE_AND_DIR_INFO_LOC "Scanne Datei- und Verzeichnisinformationen f<>r"
#DEFINE C_SOURCEFILE_LOC "Quell Datei: "
#DEFINE 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"
#DEFINE 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"
#DEFINE C_UNKNOWN_CLASS_NAME_LOC "Unbekannte Klasse [<<THIS.CLASS>>]"
#DEFINE C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC "WARNUNG!!" + CR_LF+ "SICHERSTELLEN DAS KEIN TABELLENALIAS IN DEM INDEXAUSDRUCK BENUTZT WIRD!! (z.B.: index on <<UPPER(JUSTSTEM(THIS.c_InputFile))>>.campo tag keyname)"
#DEFINE 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)"
#DEFINE C_WITH_ERRORS_LOC "mit Fehlern"