From bf55c0080cdc1b94987bc7b8282d82b27b02ae71 Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Fri, 5 Dec 2014 15:47:01 +0100 Subject: [PATCH 1/5] =?UTF-8?q?Changeset:=20543=20fdbozzo=20-=2004/12/2014?= =?UTF-8?q?=2011:02:35:=20-=20Agregados=20nuevos=20modos=20para=20procesar?= =?UTF-8?q?=20BIN2PRG,=20PRG2BIN=20y=20combinaci=C3=B3n=20con=20modo=20INT?= =?UTF-8?q?ERACTIVO=20para=20sustituir=20los=20scripts=20vbs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.prg | 190 +++++++++++++++++++++++++++++++++++++++++++++--- foxbin2prg_de.h | 2 + foxbin2prg_en.h | 2 + 3 files changed, 182 insertions(+), 12 deletions(-) diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 93ae46f..7458765 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -117,6 +117,7 @@ * 30/11/2014 FDBOZZO v1.19.37 Mejora: Indicador de avance de proceso más informativo * 30/11/2014 FDBOZZO v1.19.37 Mejora: Se puede cancelar el proceso con la tecla Esc * 30/11/2014 FDBOZZO v1.19.37 Mejora: Agregado control para detectar reportes no compatibles con VFP 9 +* 04/12/2014 FDBOZZO v1.19.38 Mejora: Permitir hacer conversiones masivas bin2prg y prg2bin sin los scripts vbs (Francisco Prieto) * * *--------------------------------------------------------------------------------------------------- @@ -168,6 +169,7 @@ * 19/11/2014 edyshor MEJORA dbf v1.19.36: Nuevo parámetro ClearDBFLastUpdate para evitar diferencias por este dato (Agregado en v1.19.37) * 14/10/2014 Lutz Scheffler MEJORA v1.19.36: Permitir generar una clase por archivo (pregunta) * 21/10/2014 Ryan Harris MEJORA v1.19.36: Permitir generar una clase por archivo (sugerencia) +* 04/12/2014 Francisco Prieto MEJORA v1.19.36: Permitir hacer conversiones masivas bin2prg y prg2bin sin los scripts vbs * * *--------------------------------------------------------------------------------------------------- @@ -178,8 +180,11 @@ * *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) -* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir -* tcType (v? IN ) Tipo de archivo de entrada. Compatibilidad con SCCTEXT.PRG // Si se indica "*" y tc_InputFile es un PJX, se procesa todo el proyecto +* 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 "PRG2BIN", se procesa el directorio indicado en tcType para generar los BIN +* tcType (v? IN ) Tipo de archivo de entrada. Compatibilidad con SCCTEXT.PRG +* - 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 * tlGenText (v? IN ) .T.=Genera Texto, .F.=Genera Binario. Compatibilidad con SCCTEXT.PRG * tcDontShowErrors (v? IN ) '1' para NO mostrar errores con MESSAGEBOX @@ -404,6 +409,7 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb #DEFINE C_DUPLICATED_FILE_LOC "Archivo duplicado" #DEFINE C_ENDDEFINE_MARKER_NOT_FOUND_LOC "No se ha encontrado el marcador de fin [ENDDEFINE] de la línea <> para el identificador [<>]" #DEFINE C_END_MARKER_NOT_FOUND_LOC "No se ha encontrado el marcador de fin [<>] que cierra al marcador de inicio [<>] de la línea <>" + #DEFINE C_END_OF_PROCESS_LOC "Fin del Proceso" #DEFINE C_EXTENSION_RECONFIGURATION_LOC "Reconfiguración de extensión:" #DEFINE C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES "El conteo de clases externas (<>) no coincide con la cantidad encontrada (<>) para el archivo [<>]" #DEFINE C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND "No se ha encontrado la clase externa [<>] del archivo [<>]" @@ -434,6 +440,7 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb #DEFINE C_PROPERTY_NAME_NOT_RECOGNIZED_LOC "Propiedad [<>] no reconocida." #DEFINE C_REPORT_NOT_IN_VFP9_FORMAT_LOC "El Reporte [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY REPORT '<>'" #DEFINE C_REQUESTING_CAPITALIZATION_OF_FILE_LOC "- Solicitado capitalizar el archivo [<>]" + #DEFINE C_SCANNING_FILE_AND_DIR_INFO "Escaneando archivos e información de directorio para" #DEFINE C_SOURCEFILE_LOC "Archivo origen: " #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>), línea <> del archivo <>" #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>.<>), línea <> del archivo <>" @@ -453,6 +460,14 @@ LOCAL lnResp, loEx AS EXCEPTION * MESSAGEBOX( SYS(5)+CURDIR(),64+4096,PROGRAM(),5000) *ENDIF +*-- En el caso de recibir "BIN2PRG" o "PRG2BIN" en el primer parámetro, los invierto. +IF INLIST(UPPER(TRANSFORM(tc_InputFile)), 'BIN2PRG', 'PRG2BIN', 'INTERACTIVE') THEN + pcParamX = tc_InputFile + tc_InputFile = tcType + tcType = pcParamX + RELEASE pcParamX +ENDIF + loCnv = CREATEOBJECT("c_foxbin2prg") loEx = NULL @@ -563,6 +578,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -574,6 +590,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -638,6 +655,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM n_FileHandle = 0 o_Conversor = NULL o_Frm_Avance = NULL + o_WSH = NULL o_FSO = NULL o_FNC = NULL && Filename_caps object o_Configuration = NULL @@ -688,7 +706,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM THIS.c_Foxbin2prg_FullPath = SUBSTR( lcSys16, lnPosProg ) THIS.c_Foxbin2prg_ConfigFile = FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'CFG' ) THIS.c_CurDir = SYS(5) + CURDIR() - THIS.o_FSO = NEWOBJECT("Scripting.FileSystemObject") + THIS.o_FSO = CREATEOBJECT("Scripting.FileSystemObject") + THIS.o_WSH = CREATEOBJECT("WScript.Shell") THIS.o_Configuration = CREATEOBJECT("COLLECTION") lc_Foxbin2prg_EXE = FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'EXE' ) THIS.c_FB2PRG_EXE_Version = IIF( AGETFILEVERSION( laValues, lc_Foxbin2prg_EXE ) = 0, TRANSFORM(THIS.n_FB2PRG_Version), laValues(4) ) @@ -712,6 +731,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM FINALLY ON ESCAPE THIS.o_FSO = NULL + THIS.o_WSH = NULL THIS.o_FNC = NULL ENDTRY @@ -1718,6 +1738,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM PROCEDURE TieneSoporte_Bin2Prg LPARAMETERS tcExt LOCAL llTieneSoporte + tcExt = UPPER(tcExt) WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' llTieneSoporte = ICASE( tcExt == 'PJX', .PJX_Conversion_Support >= 1 ; @@ -1739,6 +1760,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM PROCEDURE TieneSoporte_Prg2Bin LPARAMETERS tcExt LOCAL llTieneSoporte + tcExt = UPPER(tcExt) WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' llTieneSoporte = ICASE( tcExt == .c_PJ2, .PJX_Conversion_Support = 2 ; @@ -1760,8 +1782,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM PROCEDURE ejecutar *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) - * tc_InputFile (v! IN ) Nombre del archivo de entrada, o Tipo de archivo cuando SourceSafe consulta por tipo de Soporte habilitado - * tcType (v? IN ) Tipo de archivo de entrada. Compatibilidad con SCCTEXT.PRG // Si se indica "*" y tc_InputFile es un PJX, se procesa todo el proyecto + * tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar + * tcType (v? IN ) Tipo de archivo de entrada. Compatibilidad con SCCTEXT.PRG + * - Si se indica "*" y tc_InputFile es un PJX, se procesa todo el proyecto + * - 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 * tcTextName (v? IN ) Nombre del archivo texto. Compatibilidad con SCCTEXT.PRG * tlGenText (v? IN ) .T.=Genera Texto, .F.=Genera Binario. Compatibilidad con SCCTEXT.PRG * tcDontShowErrors (v? IN ) '1' para no mostrar mensajes de error (MESSAGEBOX) @@ -1788,9 +1813,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM TRY LOCAL I, lcPath, lnCodError, lcFileSpec, lcFile, laFiles(1,5) ; - , lnFileCount, lcErrorInfo ; + , lnFileCount, lcErrorInfo, lcErrorFile ; , loEx AS EXCEPTION ; - , loFSO AS Scripting.FileSystemObject + , loFSO AS Scripting.FileSystemObject ; + , loWSH AS WScript.Shell WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' lnCodError = 0 @@ -1819,7 +1845,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDIF loFSO = .o_FSO + loWSH = .o_WSH tcRecompile = EVL(tcRecompile,'1') + tcType = UPPER( EVL(tcType,'') ) DO CASE CASE VERSION(5) < 900 @@ -1881,10 +1909,77 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .AvanceDelProceso( C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) IF FILE( lcFile ) - lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName ) + lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) ENDIF ENDFOR + + CASE LEFT( tcType,7 ) == 'BIN2PRG' + IF NOT DIRECTORY(tc_InputFile) + ERROR 1963, (tc_InputFile) && Directoty is not found + ENDIF + + *-- CONVERSION BIN2PRG DE UN DIRECTORIO Y SUBDIRECTORIOS + DO CASE + CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile) + CD (tcRecompile) + CASE .l_Recompile + CD (tc_InputFile) + ENDCASE + + .c_LogFile = ADDBS(tc_InputFile) + '_' + tcType + '.LOG' + + IF .l_Debug + IF FILE( .c_LogFile ) + ERASE ( .c_LogFile ) + ENDIF + ENDIF + + .ObtenerArchivosDelDirectorio( tc_InputFile, @laFiles, @lnFileCount ) + + FOR I = 1 TO lnFileCount + lcFile = laFiles(I) + IF NOT .TieneSoporte_Bin2Prg( JUSTEXT(lcFile) ) OR NOT FILE(lcFile) THEN + LOOP + ENDIF + .AvanceDelProceso( C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) + ENDFOR + + .AvanceDelProceso( C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) + + + CASE LEFT( tcType,7 ) == 'PRG2BIN' AND DIRECTORY(tc_InputFile) + *-- CONVERSION PRG2BIN DE UN DIRECTORIO Y SUBDIRECTORIOS + DO CASE + CASE .l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile) + CD (tcRecompile) + CASE .l_Recompile + CD (tc_InputFile) + ENDCASE + + .c_LogFile = ADDBS(tc_InputFile) + '_' + tcType + '.LOG' + + IF .l_Debug + IF FILE( .c_LogFile ) + ERASE ( .c_LogFile ) + ENDIF + ENDIF + + .ObtenerArchivosDelDirectorio( tc_InputFile, @laFiles, @lnFileCount ) + + FOR I = 1 TO lnFileCount + lcFile = laFiles(I) + IF NOT .TieneSoporte_Prg2Bin( JUSTEXT(lcFile) ) OR NOT FILE(lcFile) THEN + LOOP + ENDIF + .AvanceDelProceso( C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) + ENDFOR + + .AvanceDelProceso( C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) + + OTHERWISE *-- UN ARCHIVO INDIVIDUAL O CONSULTA DE SOPORTE DE ARCHIVO IF LEN(EVL(tc_InputFile,'')) = 1 @@ -2036,6 +2131,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ERASE ( .c_LogFile ) lnCodError = .Convertir( tc_InputFile, toModulo, toEx, .T., tcOriginalFileName ) + .AvanceDelProceso( C_END_OF_PROCESS_LOC, 1, 1, 0 ) ENDIF ENDIF ENDCASE @@ -2046,6 +2142,12 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CATCH TO toEx lnCodError = toEx.ERRORNO THIS.l_Error = .T. + + IF '-INTERACTIVE' $ ('-' + tcType) THEN + toEx.UserValue = 'tc_InputDir = [' + TRANSFORM(tc_InputFile) + ']' + THIS.l_ShowErrors = .F. && La opción "INTERACTIVE" muestra su propio mensaje + ENDIF + lcErrorInfo = THIS.Exception2Str(toEx) + CR_LF + CR_LF + C_SOURCEFILE_LOC + THIS.c_InputFile ADDPROPERTY(_SCREEN, 'ExitCode', toEx.ERRORNO) @@ -2057,7 +2159,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-- Escribo la información de error en el archivo log de errores TRY STRTOFILE( STRCONV(lcErrorInfo,9), EVL(tc_InputFile,'foxbin2prg') + '.ERR' ) - CATCH TO loEx2 + CATCH TO loEx ENDTRY IF THIS.l_Debug @@ -2066,9 +2168,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDIF THIS.writeLog( lcErrorInfo ) ENDIF + IF THIS.l_ShowErrors MESSAGEBOX( lcErrorInfo, 0+16+4096, C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 ) ENDIF + IF tlRelanzarError THROW ENDIF @@ -2078,11 +2182,32 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM THIS.writeLog_Flush() *THIS.descargar_frm_avance() CD (JUSTPATH(THIS.c_CurDir)) - STORE NULL TO loFSO + + IF '-INTERACTIVE' $ ('-' + tcType) THEN + lcErrorFile = FORCEPATH('FoxBin2Prg.LOG',GETENV('TEMP') ) + + DO CASE + CASE lnCodError = 1799 && Conversion Cancelled + MESSAGEBOX( 'Conversion Cancelled by User!', 0+48+4096, 'FoxBin2Prg', 60000 ) + STRTOFILE( THIS.c_ErrorLog, lcErrorFile ) + loWSH.Run( lcErrorFile, 1, .F. ) + + CASE lnCodError > 0 + MESSAGEBOX( C_END_OF_PROCESS_LOC + '! (with errors)', 0+48+4096, 'FoxBin2Prg', 60000 ) + STRTOFILE( THIS.c_ErrorLog, lcErrorFile ) + loWSH.Run( lcErrorFile, 1, .F. ) + + OTHERWISE + MESSAGEBOX( C_END_OF_PROCESS_LOC, 0+64+4096, 'FoxBin2Prg', 60000 ) + + ENDCASE + ENDIF + + STORE NULL TO loFSO, loWSH RELEASE tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ; , toModulo, toEx, tlRelanzarError, tcOriginalFileName, tcRecompile, tcNoTimestamps ; , tcBackupLevels, tcClearUniqueID, tcOptimizeByFilestamp ; - , I, lcPath, lcFileSpec, lcFile, laFiles, lnFileCount, lcErrorInfo, loEx, loFSO + , I, lcPath, lcFileSpec, lcFile, laFiles, lnFileCount, lcErrorInfo, lcErrorFile, loEx, loFSO ENDTRY RETURN lnCodError @@ -2356,7 +2481,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .o_Conversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath *-- .AvanceDelProceso( C_PROCESSING_LOC + ' ' + .c_InputFile + '...', 0, 0, 0 ) - BINDEVENT( .o_Conversor, 'AvanceDelProceso', THIS, 'AvanceDelProceso' ) + + IF AEVENTS( laEvents, .o_Conversor ) = 0 THEN + BINDEVENT( .o_Conversor, 'AvanceDelProceso', THIS, 'AvanceDelProceso' ) + ENDIF .o_Conversor.Convertir( @toModulo, .F., THIS ) .c_TextLog = .c_TextLog + CR_LF + .o_Conversor.c_TextLog && Recojo el LOG que haya generado el conversor @@ -2572,6 +2700,44 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDPROC + PROCEDURE ObtenerArchivosDelDirectorio + LPARAMETERS tcDir, taFiles, lnFileCount + EXTERNAL ARRAY taFiles + + LOCAL laFiles(1), I, lnFiles + + IF TYPE("ALEN(laFiles)") # "N" OR EMPTY(lnFileCount) + lnFileCount = 0 + DIMENSION taFiles(1) + ENDIF + + tcDir = ADDBS(tcDir) + + IF DIRECTORY(tcDir) + THIS.AvanceDelProceso( C_SCANNING_FILE_AND_DIR_INFO + ' ' + tcDir + '...', 0, 0, 0 ) + lnFiles = ADIR( laFiles, tcDir + '*.*', 'D', 1) + + *-- Busco los archivos + FOR I = 1 TO lnFiles + IF SUBSTR( laFiles(I,5), 5, 1 ) == 'D' + LOOP + ENDIF + lnFileCount = lnFileCount + 1 + DIMENSION taFiles(lnFileCount) + taFiles(lnFileCount) = tcDir + laFiles(I,1) + ENDFOR + + *-- Busco los subdirectorios + FOR I = 1 TO lnFiles + IF NOT SUBSTR( laFiles(I,5), 5, 1 ) == 'D' OR LEFT(laFiles(I,1), 1) == '.' + LOOP + ENDIF + THIS.ObtenerArchivosDelDirectorio( tcDir + laFiles(I,1), @taFiles, @lnFileCount ) + ENDFOR + ENDIF + ENDPROC + + ******************************************************************************************************************* PROCEDURE RenameFile LPARAMETERS tcFileName, tcEXE_CAPS, toFSO AS Scripting.FileSystemObject, tlRelanzarError diff --git a/foxbin2prg_de.h b/foxbin2prg_de.h index e2d9e06..bd64c1e 100644 --- a/foxbin2prg_de.h +++ b/foxbin2prg_de.h @@ -14,6 +14,7 @@ #DEFINE C_DUPLICATED_FILE_LOC "Doppelte Datei" #DEFINE C_ENDDEFINE_MARKER_NOT_FOUND_LOC "Kann keinen Ende Marker [ENDDEFINE] in Zeile <> für die ID [<>] finden" #DEFINE C_END_MARKER_NOT_FOUND_LOC "Kann keinen Ende Marker [<>] welcher den Start Marker [<>] in Zeile <> schließt" +#DEFINE C_END_OF_PROCESS_LOC "Ende der Prozess" #DEFINE C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC "Feld [<>] nicht in der Struktur von Datei <> gefunden" #DEFINE C_FILE_DOESNT_EXIST_LOC "Datei existiert nicht:" #DEFINE C_FILE_NAME_IS_NOT_SUPPORTED_LOC "Datei [<<.c_InputFile>>] wird nicht unterstützt" @@ -44,6 +45,7 @@ #DEFINE C_PROPERTY_NAME_NOT_RECOGNIZED_LOC "Eigenschaft [<>] nicht erkannt." #DEFINE C_REPORT_NOT_IN_VFP9_FORMAT_LOC "Report [<>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY REPORT '<>'" #DEFINE C_REQUESTING_CAPITALIZATION_OF_FILE_LOC "- Forder Großschreibung für Datei [<>] an" +#DEFINE C_SCANNING_FILE_AND_DIR_INFO "Scannen Datei- und Verzeichnisinformationen für" #DEFINE C_SOURCEFILE_LOC "Source Datei: " #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <> (<>), Zeile <> der Datei <> gefunden" #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <> (<>.<>), Zeile <> der Datei <> gefunden" diff --git a/foxbin2prg_en.h b/foxbin2prg_en.h index bac361d..6291a26 100644 --- a/foxbin2prg_en.h +++ b/foxbin2prg_en.h @@ -14,6 +14,7 @@ #DEFINE C_DUPLICATED_FILE_LOC "Duplicated file" #DEFINE C_ENDDEFINE_MARKER_NOT_FOUND_LOC "Cannot find end marker [ENDDEFINE] of line <> for ID [<>]" #DEFINE C_END_MARKER_NOT_FOUND_LOC "Cannot find end marker [<>] that closes start marker [<>] on line <>" +#DEFINE C_END_OF_PROCESS_LOC "End of Process" #DEFINE C_EXTENSION_RECONFIGURATION_LOC "Extension Reconfiguration:" #DEFINE C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES "External class count (<>) does not match found classes (<>) for file [<>]" #DEFINE C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND "External class [<>] is not found in file [<>]" @@ -44,6 +45,7 @@ #DEFINE C_PROPERTY_NAME_NOT_RECOGNIZED_LOC "Property [<>] is not recognized." #DEFINE C_REPORT_NOT_IN_VFP9_FORMAT_LOC "Report [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY REPORT '<>'" #DEFINE C_REQUESTING_CAPITALIZATION_OF_FILE_LOC "- Requesting capitalization of file [<>]" +#DEFINE C_SCANNING_FILE_AND_DIR_INFO "Scanning file and directory information for" #DEFINE C_SOURCEFILE_LOC "Source file: " #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" From 799d8646d8f4834e2f9c4b7e8a14dbdf62172e79 Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Sat, 6 Dec 2014 00:27:40 +0100 Subject: [PATCH 2/5] =?UTF-8?q?Changeset:=20544=20fdbozzo=20-=2005/12/2014?= =?UTF-8?q?=2015:47:02:=20-=20Redise=C3=B1o=20de=20la=20Localizaci=C3=B3n?= =?UTF-8?q?=20de=20mensajes,=20ahora=20como=20clase=20interna=20de=20carga?= =?UTF-8?q?=20autom=C3=A1tica?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.prg | 616 +++++++++++++++++++++++++++++++++--------------- foxbin2prg_de.h | 2 + foxbin2prg_en.h | 2 + 3 files changed, 436 insertions(+), 184 deletions(-) diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 7458765..8814565 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -388,67 +388,6 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb #DEFINE SERVERINSTANCE_MULTIUSE 3 && Multi-use server *-- Fin / End -******************************************************************************************************************* -*-- INTERNACIONALIZACIÓN / INTERNATIONALIZATION -******************************************************************************************************************* -#IF FILE('foxbin2prg.h') && DO NOT CHANGE THIS! Just rename the .H file - #INCLUDE foxbin2prg.h && DO NOT CHANGE THIS! Just rename the .H file -#ELSE - *--------------------------------------------------------------------------------------------------------- - *-- TRANSLACIÓN AL ESPAŃOL - *--------------------------------------------------------------------------------------------------------- - #DEFINE C_ASTERISK_EXT_NOT_ALLOWED_LOC "No se admiten extensiones * o ? porque es peligroso (se pueden pisar binarios con archivo xx2 vacíos)." - #DEFINE C_BACKLINK_CANT_UPDATE_BL_LOC "No se pudo actualizar el backlink" - #DEFINE C_BACKLINK_OF_TABLE_LOC "de la tabla" - #DEFINE C_BACKUP_OF_LOC "Haciendo Backup de: " - #DEFINE C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC "No se puede generar el archivo [<>] porque es ReadOnly" - #DEFINE C_CONFIGFILE_LOC "Usando archivo de configuración:" - #DEFINE C_CONVERTER_UNLOAD_LOC "Descarga del conversor" - #DEFINE C_CONVERTING_FILE_LOC "Convirtiendo archivo" - #DEFINE C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC "Error de datos: No se puede parsear porque las comillas no son pares en la línea <>" - #DEFINE C_DUPLICATED_FILE_LOC "Archivo duplicado" - #DEFINE C_ENDDEFINE_MARKER_NOT_FOUND_LOC "No se ha encontrado el marcador de fin [ENDDEFINE] de la línea <> para el identificador [<>]" - #DEFINE C_END_MARKER_NOT_FOUND_LOC "No se ha encontrado el marcador de fin [<>] que cierra al marcador de inicio [<>] de la línea <>" - #DEFINE C_END_OF_PROCESS_LOC "Fin del Proceso" - #DEFINE C_EXTENSION_RECONFIGURATION_LOC "Reconfiguración de extensión:" - #DEFINE C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES "El conteo de clases externas (<>) no coincide con la cantidad encontrada (<>) para el archivo [<>]" - #DEFINE C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND "No se ha encontrado la clase externa [<>] del archivo [<>]" - #DEFINE C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC "No se encontró el campo [<>] en la estructura del archivo <>" - #DEFINE C_FILE_DOESNT_EXIST_LOC "El archivo no existe:" - #DEFINE C_FILE_NAME_IS_NOT_SUPPORTED_LOC "El archivo [<<.c_InputFile>>] no está soportado" - #DEFINE C_FILE_NOT_FOUND_LOC "No se encontró el archivo" - #DEFINE C_FOXBIN2PRG_ERROR_CAPTION_LOC "FOXBIN2PRG: ERROR!!" - #DEFINE C_FOXBIN2PRG_INFO_SINTAX_LOC "FOXBIN2PRG: INFORMACIÓN DE SINTAXIS" - #DEFINE C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cNoMostrarErrores ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; - + "Ejemplo para generar los TXT de todos los VCX de 'c:\desa\clases', sin mostrar ventana de error y generando archivo LOG: " + CR_LF ; - + " FOXBIN2PRG 'c:\desa\clases\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; - + "Ejemplo para generar los VCX de todos los TXT de 'c:\desa\clases', sin mostrar ventana de error y sin LOG: " + CR_LF ; - + " FOXBIN2PRG 'c:\desa\clases\*.vc2' '0' '0' '0' '1' '0'" - #DEFINE C_FOXBIN2PRG_JUST_VFP_9_LOC "ˇFOXBIN2PRG es solo para Visual FoxPro 9.0!" - #DEFINE C_FOXBIN2PRG_WARN_CAPTION_LOC "FOXBIN2PRG: ˇATENCIÓN!" - #DEFINE C_MENU_NOT_IN_VFP9_FORMAT_LOC "El Menú [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY MENU '<>'" - #DEFINE C_LANGUAGE_LOC "ES" - #DEFINE C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC "* Se ha encontrado el programa de capitalización de nombres [<>]" - #DEFINE C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC "* No se ha encontrado el programa de capitalización de nombres [<>]" - #DEFINE C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC "Objeto [<>] no contiene el objeto oReg (nivel <>)" - #DEFINE C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC "Operación no reconocida. Solo re reconoce SETNAME y GETNAME." - #DEFINE C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC "Optimización: El archivo de salida [<>] no se sobreescribe por ser igual al generado." - #DEFINE C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC "Optimización: El archivo de salida [<>] no se regenera por ser más nuevo que el de entrada." - #DEFINE C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC "Procedimiento sin cerrar. La última línea de código debe ser ENDPROC. [<>, Recno:<>]" - #DEFINE C_PROCESSING_LOC "Procesando archivo" - #DEFINE C_PROCESS_PROGRESS_LOC "Avance del proceso:" - #DEFINE C_PROPERTY_NAME_NOT_RECOGNIZED_LOC "Propiedad [<>] no reconocida." - #DEFINE C_REPORT_NOT_IN_VFP9_FORMAT_LOC "El Reporte [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY REPORT '<>'" - #DEFINE C_REQUESTING_CAPITALIZATION_OF_FILE_LOC "- Solicitado capitalizar el archivo [<>]" - #DEFINE C_SCANNING_FILE_AND_DIR_INFO "Escaneando archivos e información de directorio para" - #DEFINE C_SOURCEFILE_LOC "Archivo origen: " - #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>), línea <> del archivo <>" - #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>.<>), línea <> del archivo <>" - #DEFINE C_UNKNOWN_CLASS_NAME_LOC "Clase [<>] desconocida" - #DEFINE C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC "ˇˇATENCIÓN!!" + CR_LF+ "ASEGÚRESE DE QUE NO ESTÁ USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS ÍNDICES!! (ej: index on <>.campo tag nombreclave)" -#ENDIF -******************************************************************************************************************* - LOCAL loCnv AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' LOCAL lnResp, loEx AS EXCEPTION @@ -534,6 +473,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -607,11 +547,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM PROTECTED l_ConfigEvaluated, n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess *-- n_FB2PRG_Version = 1.19 - *-- Localized properties - c_loc_processing_file = C_PROCESSING_LOC - c_loc_process_progress = C_PROCESS_PROGRESS_LOC *-- c_Language = 'ES' + c_loc_processing_file = '' + c_loc_process_progress = '' c_FB2PRG_EXE_Version = 0 c_Foxbin2prg_FullPath = '' c_Foxbin2prg_ConfigFile = '' @@ -694,6 +633,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ON ESCAPE ERROR 1799 SET ESCAPE ON + _SCREEN.AddProperty( "o_FoxBin2Prg_Lang", CREATEOBJECT("CL_LANG") ) lcSys16 = SYS(16) IF LEFT(lcSys16,10) == 'PROCEDURE ' @@ -702,7 +642,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM lnPosProg = 1 ENDIF - THIS.c_Language = C_LANGUAGE_LOC + THIS.c_Language = _SCREEN.o_FoxBin2Prg_Lang.C_LANGUAGE_LOC + THIS.c_loc_processing_file = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESSING_LOC + THIS.c_loc_process_progress = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESS_PROGRESS_LOC THIS.c_Foxbin2prg_FullPath = SUBSTR( lcSys16, lnPosProg ) THIS.c_Foxbin2prg_ConfigFile = FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'CFG' ) THIS.c_CurDir = SYS(5) + CURDIR() @@ -1180,12 +1122,14 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM #ENDIF TRY - LOCAL lcNext_Bak, lcExt_1, lcExt_2, lcExt_3, tcOutputFile_Ext1, tcOutputFile_Ext2, tcOutputFile_Ext3 + LOCAL lcNext_Bak, lcExt_1, lcExt_2, lcExt_3, tcOutputFile_Ext1, tcOutputFile_Ext2, tcOutputFile_Ext3 ; + , loLang as CL_LANG OF 'FOXBIN2PRG.PRG' STORE '' TO tcBakFile_1, tcBakFile_2, tcBakFile_3, lcExt_1, lcExt_2, lcExt_3 ; , tcOutputFile_Ext1, tcOutputFile_Ext2, tcOutputFile_Ext3 WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' IF .n_ExtraBackupLevels > 0 THEN + loLang = _SCREEN.o_FoxBin2Prg_Lang tcOutputFile = EVL( tcOutputFile, .c_OutputFile ) lcNext_Bak = .getNext_BAK( tcOutputFile ) lcExt_1 = JUSTEXT( tcOutputFile ) @@ -1223,11 +1167,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-- LOG DO CASE CASE EMPTY(lcExt_2) - .writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 ) + .writeLog( loLang.C_BACKUP_OF_LOC + tcOutputFile_Ext1 ) CASE EMPTY(lcExt_3) - .writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 + '/' + lcExt_2 ) + .writeLog( loLang.C_BACKUP_OF_LOC + tcOutputFile_Ext1 + '/' + lcExt_2 ) OTHERWISE - .writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 + '/' + lcExt_2 + '/' + lcExt_3 ) + .writeLog( loLang.C_BACKUP_OF_LOC + tcOutputFile_Ext1 + '/' + lcExt_2 + '/' + lcExt_3 ) ENDCASE *-- COPIA BACKUP @@ -1296,18 +1240,21 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt, lcValue, lc_CFG_Path, lcConfigLine ; , lo_CFG AS CL_CFG OF 'FOXBIN2PRG.PRG' ; , lo_Configuration AS Collection ; + , loLang as CL_LANG OF 'FOXBIN2PRG.PRG' ; , loEx as Exception TRY WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' STORE 0 TO lnKey + loLang = _SCREEN.o_FoxBin2Prg_Lang tcRecompile = EVL(tcRecompile,'1') lcConfigFile = .c_Foxbin2prg_ConfigFile tc_InputFile = EVL(tc_InputFile, .c_InputFile) + .c_InputFile = tc_InputFile IF .l_AllowMultiConfig AND .l_Main_CFG_Loaded IF EMPTY(tc_InputFile) - ERROR C_FILE_NOT_FOUND_LOC + ': .c_InputFile = "' + tc_InputFile + '"' + ERROR loLang.C_FILE_NOT_FOUND_LOC + ': .c_InputFile = "' + tc_InputFile + '"' ENDIF lcConfigFile = FORCEPATH( 'foxbin2prg.cfg', JUSTPATH(tc_InputFile) ) ENDIF @@ -1329,7 +1276,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDIF IF llExisteConfig AND .n_CFG_Actual = 0 - .writeLog( C_CONFIGFILE_LOC + ' ' + lcConfigFile ) + .writeLog( loLang.C_CONFIGFILE_LOC + ' ' + lcConfigFile ) IF .l_AllowMultiConfig AND .l_ConfigEvaluated AND .l_Main_CFG_Loaded lo_CFG = CREATEOBJECT('CL_CFG') @@ -1354,7 +1301,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM IF PEMSTATUS( THIS, lcExt, 5 ) .ADDPROPERTY( lcExt, UPPER( ALLTRIM( GETWORDNUM( lcConfData, 2, '=' ) ) ) ) *.writeLog( 'Reconfiguración de extensión:' + ' ' + lcExt + ' a ' + UPPER( ALLTRIM( GETWORDNUM( lcConfData, 2, '=' ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > ' + C_EXTENSION_RECONFIGURATION_LOC + ' ' + lcExt + ' a ' + UPPER( ALLTRIM( GETWORDNUM( lcConfData, 2, '=' ) ) ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > ' + loLang.C_EXTENSION_RECONFIGURATION_LOC + ' ' + lcExt + ' a ' + UPPER( ALLTRIM( GETWORDNUM( lcConfData, 2, '=' ) ) ) ) ENDIF CASE LEFT( laConfig(I), 17 ) == LOWER('DontShowProgress:') @@ -1816,10 +1763,12 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM , lnFileCount, lcErrorInfo, lcErrorFile ; , loEx AS EXCEPTION ; , loFSO AS Scripting.FileSystemObject ; + , loLang as CL_LANG OF 'FOXBIN2PRG.PRG' ; , loWSH AS WScript.Shell WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' lnCodError = 0 + loLang = _SCREEN.o_FoxBin2Prg_Lang .writeLog( '---' ) .writeLog( .c_Foxbin2prg_FullPath + ' (EXE Version: ' + .c_FB2PRG_EXE_Version + ')' + CR_LF ; @@ -1852,12 +1801,12 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM DO CASE CASE VERSION(5) < 900 *-- 'ˇFOXBIN2PRG es solo para Visual FoxPro 9.0!' - MESSAGEBOX( C_FOXBIN2PRG_JUST_VFP_9_LOC, 0+64+4096, C_FOXBIN2PRG_WARN_CAPTION_LOC, 60000 ) + MESSAGEBOX( loLang.C_FOXBIN2PRG_JUST_VFP_9_LOC, 0+64+4096, loLang.C_FOXBIN2PRG_WARN_CAPTION_LOC, 60000 ) lnCodError = 1 CASE EMPTY(tc_InputFile) *-- (Ejemplo de sintaxis y uso) - MESSAGEBOX( C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC, 0+64+4096, C_FOXBIN2PRG_INFO_SINTAX_LOC, 60000 ) + MESSAGEBOX( loLang.C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC, 0+64+4096, loLang.C_FOXBIN2PRG_INFO_SINTAX_LOC, 60000 ) lnCodError = 1 OTHERWISE @@ -1878,9 +1827,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE '*' $ 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íos).', 0+48+4096, 'FOXBIN2PRG: ERROR!!', 60000 ) - MESSAGEBOX( C_ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 ) + MESSAGEBOX( loLang.C_ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, loLang.C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 ) ELSE - ERROR C_ASTERISK_EXT_NOT_ALLOWED_LOC + ERROR loLang.C_ASTERISK_EXT_NOT_ALLOWED_LOC ENDIF CASE '*' $ JUSTSTEM( tc_InputFile ) @@ -1906,7 +1855,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM FOR I = 1 TO lnFileCount lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) ) - .AvanceDelProceso( C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) IF FILE( lcFile ) lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) @@ -1942,11 +1891,20 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM IF NOT .TieneSoporte_Bin2Prg( JUSTEXT(lcFile) ) OR NOT FILE(lcFile) THEN LOOP ENDIF - .AvanceDelProceso( C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) - lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) + .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + lnCodError = .Convertir( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) + + DO CASE + CASE lnCodError = 1799 && Conversion Cancelled + THROW + + CASE lnCodError > 0 + .l_Error = .T. + .ejecutar_WriteErrorLog( @toEx ) + ENDCASE ENDFOR - .AvanceDelProceso( C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) + .AvanceDelProceso( loLang.C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) CASE LEFT( tcType,7 ) == 'PRG2BIN' AND DIRECTORY(tc_InputFile) @@ -1973,11 +1931,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM IF NOT .TieneSoporte_Prg2Bin( JUSTEXT(lcFile) ) OR NOT FILE(lcFile) THEN LOOP ENDIF - .AvanceDelProceso( C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) ENDFOR - .AvanceDelProceso( C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) + .AvanceDelProceso( loLang.C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) OTHERWISE @@ -2053,7 +2011,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-- Luego convierto los archivos incluidos FOR I = 1 TO lnFileCount lcFile = laFiles(I,1) - .AvanceDelProceso( C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .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 ) @@ -2095,7 +2053,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-- Luego convierto los archivos incluidos FOR I = 1 TO lnFileCount lcFile = laFiles(I) - .AvanceDelProceso( C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .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 ) @@ -2131,7 +2089,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ERASE ( .c_LogFile ) lnCodError = .Convertir( tc_InputFile, toModulo, toEx, .T., tcOriginalFileName ) - .AvanceDelProceso( C_END_OF_PROCESS_LOC, 1, 1, 0 ) + .AvanceDelProceso( loLang.C_END_OF_PROCESS_LOC, 1, 1, 0 ) ENDIF ENDIF ENDCASE @@ -2148,29 +2106,16 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM THIS.l_ShowErrors = .F. && La opción "INTERACTIVE" muestra su propio mensaje ENDIF - lcErrorInfo = THIS.Exception2Str(toEx) + CR_LF + CR_LF + C_SOURCEFILE_LOC + THIS.c_InputFile - ADDPROPERTY(_SCREEN, 'ExitCode', toEx.ERRORNO) - - *-- Escribo la información de error en la variable log de errores - THIS.writeErrorLog( TTOC(DATETIME(),3) + ' ' + REPLICATE('-', 80) ) - THIS.writeErrorLog( lcErrorInfo ) - THIS.writeErrorLog( ) - - *-- Escribo la información de error en el archivo log de errores - TRY - STRTOFILE( STRCONV(lcErrorInfo,9), EVL(tc_InputFile,'foxbin2prg') + '.ERR' ) - CATCH TO loEx - ENDTRY + THIS.ejecutar_WriteErrorLog( @toEx, @lcErrorInfo ) IF THIS.l_Debug IF _VFP.STARTMODE = 0 SET STEP ON ENDIF - THIS.writeLog( lcErrorInfo ) ENDIF IF THIS.l_ShowErrors - MESSAGEBOX( lcErrorInfo, 0+16+4096, C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 ) + MESSAGEBOX( lcErrorInfo, 0+16+4096, loLang.C_FOXBIN2PRG_ERROR_CAPTION_LOC, 60000 ) ENDIF IF tlRelanzarError @@ -2188,17 +2133,17 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM DO CASE CASE lnCodError = 1799 && Conversion Cancelled - MESSAGEBOX( 'Conversion Cancelled by User!', 0+48+4096, 'FoxBin2Prg', 60000 ) + MESSAGEBOX( loLang.C_CONVERSION_CANCELLED_BY_USER + '!', 0+48+4096, 'FoxBin2Prg', 60000 ) STRTOFILE( THIS.c_ErrorLog, lcErrorFile ) loWSH.Run( lcErrorFile, 1, .F. ) - CASE lnCodError > 0 - MESSAGEBOX( C_END_OF_PROCESS_LOC + '! (with errors)', 0+48+4096, 'FoxBin2Prg', 60000 ) + CASE THIS.l_Error + MESSAGEBOX( loLang.C_END_OF_PROCESS_LOC + '! (' + loLang.C_WITH_ERRORS + ')', 0+48+4096, 'FoxBin2Prg', 60000 ) STRTOFILE( THIS.c_ErrorLog, lcErrorFile ) loWSH.Run( lcErrorFile, 1, .F. ) OTHERWISE - MESSAGEBOX( C_END_OF_PROCESS_LOC, 0+64+4096, 'FoxBin2Prg', 60000 ) + MESSAGEBOX( loLang.C_END_OF_PROCESS_LOC, 0+64+4096, 'FoxBin2Prg', 60000 ) ENDCASE ENDIF @@ -2214,6 +2159,29 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDPROC + PROCEDURE ejecutar_WriteErrorLog + LPARAMETERS toEx, tcErrorInfo + + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang + tcErrorInfo = THIS.Exception2Str(toEx) + CR_LF + CR_LF + loLang.C_SOURCEFILE_LOC + THIS.c_InputFile + ADDPROPERTY(_SCREEN, 'ExitCode', toEx.ERRORNO) + + *-- Escribo la información de error en la variable log de errores + THIS.writeErrorLog( TTOC(DATETIME(),3) + ' ' + REPLICATE('-', 80) ) + THIS.writeErrorLog( tcErrorInfo ) + THIS.writeErrorLog( ) + + *-- Escribo la información de error en el archivo log de errores + TRY + STRTOFILE( STRCONV(tcErrorInfo, 9 ), EVL( THIS.c_InputFile, 'foxbin2prg' ) + '.ERR' ) + CATCH + ENDTRY + + RETURN + ENDPROC + + PROCEDURE Convertir *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) @@ -2229,16 +2197,18 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM TRY LOCAL lnCodError, lcErrorInfo, laDirFile(1,5), lcExtension, lnFileCount, laFiles(1,1), I ; , ltFilestamp, lcExtA, lcExtB, laEvents(1,1) ; + , loLang as CL_LANG OF 'FOXBIN2PRG.PRG' ; , loFSO AS Scripting.FileSystemObject lnCodError = 0 WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' loFSO = .o_FSO + loLang = _SCREEN.o_FoxBin2Prg_Lang .c_InputFile = FULLPATH( tc_InputFile ) IF ADIR( laDirFile, .c_InputFile, '', 1 ) = 0 *ERROR 'No se encontró el archivo [' + .c_InputFile + ']' - ERROR C_FILE_NOT_FOUND_LOC + ' [' + .c_InputFile + ']' + ERROR loLang.C_FILE_NOT_FOUND_LOC + ' [' + .c_InputFile + ']' ENDIF .c_InputFile = loFSO.GetAbsolutePathName( FORCEPATH( laDirFile(1,1), JUSTPATH(.c_InputFile) ) ) @@ -2267,7 +2237,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .o_Conversor = NULL IF NOT FILE(.c_InputFile) - ERROR C_FILE_DOESNT_EXIST_LOC + ' [' + .c_InputFile + ']' + ERROR loLang.C_FILE_DOESNT_EXIST_LOC + ' [' + .c_InputFile + ']' ENDIF lcExtension = UPPER( JUSTEXT(.c_InputFile) ) @@ -2276,7 +2246,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM DO CASE CASE lcExtension = 'VCX' IF NOT INLIST(.VCX_Conversion_Support, 1, 2) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2284,7 +2254,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = 'SCX' IF NOT INLIST(.SCX_Conversion_Support, 1, 2) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2292,7 +2262,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = 'PJX' IF NOT INLIST(.PJX_Conversion_Support, 1, 2) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2300,7 +2270,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = 'PJM' IF NOT INLIST(.PJX_Conversion_Support, 1, 2) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2308,7 +2278,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = 'FRX' IF NOT INLIST(.FRX_Conversion_Support, 1, 2) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2316,7 +2286,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = 'LBX' IF NOT INLIST(.LBX_Conversion_Support, 1, 2) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2324,7 +2294,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = 'DBF' IF NOT INLIST(.DBF_Conversion_Support, 1, 2, 4) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2332,7 +2302,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = 'DBC' IF NOT INLIST(.DBC_Conversion_Support, 1, 2) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2340,7 +2310,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = 'MNX' IF NOT INLIST(.MNX_Conversion_Support, 1, 2) - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2348,7 +2318,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = .c_VC2 IF .VCX_Conversion_Support <> 2 - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2357,7 +2327,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = .c_SC2 IF .SCX_Conversion_Support <> 2 - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2366,7 +2336,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = .c_PJ2 IF .PJX_Conversion_Support <> 2 - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2375,7 +2345,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = .c_FR2 IF .FRX_Conversion_Support <> 2 - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2384,7 +2354,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = .c_LB2 IF .LBX_Conversion_Support <> 2 - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2393,7 +2363,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = .c_DB2 IF .DBF_Conversion_Support <> 2 - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2403,7 +2373,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = .c_DC2 IF .DBC_Conversion_Support <> 2 - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2413,7 +2383,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CASE lcExtension = .c_MN2 IF .MNX_Conversion_Support <> 2 - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + 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' ) @@ -2422,7 +2392,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM OTHERWISE *ERROR 'El archivo [' + .c_InputFile + '] no está soportado' - ERROR (TEXTMERGE(C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) + ERROR (TEXTMERGE(loLang.C_FILE_NAME_IS_NOT_SUPPORTED_LOC)) ENDCASE @@ -2480,7 +2450,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .o_Conversor.c_OriginalFileName = .c_OriginalFileName .o_Conversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath *-- - .AvanceDelProceso( C_PROCESSING_LOC + ' ' + .c_InputFile + '...', 0, 0, 0 ) + .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + .c_InputFile + '...', 0, 0, 0 ) IF AEVENTS( laEvents, .o_Conversor ) = 0 THEN BINDEVENT( .o_Conversor, 'AvanceDelProceso', THIS, 'AvanceDelProceso' ) @@ -2491,7 +2461,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ELSE *-- Optimizado: El Origen es anterior al Destino - No hace falta regenerar *.writeLog( '> El archivo de salida [<>] no se regenera por ser más nuevo que el de entrada.' ) - .writeLog( TEXTMERGE(C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC) ) + .writeLog( TEXTMERGE(loLang.C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC) ) ENDIF @@ -2500,7 +2470,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM CATCH TO toEx lnCodError = toEx.ERRORNO - lcErrorInfo = THIS.Exception2Str(toEx) + CR_LF + CR_LF + C_SOURCEFILE_LOC + THIS.c_InputFile + lcErrorInfo = THIS.Exception2Str(toEx) + CR_LF + CR_LF + loLang.C_SOURCEFILE_LOC + THIS.c_InputFile IF THIS.l_Debug IF _VFP.STARTMODE = 0 @@ -2605,9 +2575,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM TRY LOCAL lcPath, lcEXE_CAPS, lcOutputFile, llRelanzarError, lcType ; , loEx AS EXCEPTION ; + , loLang as CL_LANG OF 'FOXBIN2PRG.PRG' ; , loFSO AS Scripting.FileSystemObject WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang lcPath = JUSTPATH(.c_Foxbin2prg_FullPath) lcEXE_CAPS = FORCEPATH( 'filename_caps.exe', lcPath ) loFSO = .o_FSO @@ -2626,7 +2598,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-- La primera vez vale -1, hace la verificación por única vez y cachea la respuesta IF FILE(lcEXE_CAPS) *.writeLog( '* Se ha encontrado el programa de capitalización de nombres [' + lcEXE_CAPS + ']' ) - .writeLog( TEXTMERGE(C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC) ) + .writeLog( TEXTMERGE(loLang.C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC) ) SET PROCEDURE TO (lcEXE_CAPS) ADDITIVE .o_FNC = CREATEOBJECT( 'cl_FileName_Caps' ) RELEASE PROCEDURE (lcEXE_CAPS) @@ -2635,7 +2607,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ELSE *-- No existe el programa de capitalización, así que no se capitalizan los nombres. *.writeLog( '* No se ha encontrado el programa de capitalización de nombres [' + lcEXE_CAPS + ']' ) - .writeLog( TEXTMERGE(C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC) ) + .writeLog( TEXTMERGE(loLang.C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC) ) .n_ExisteCapitalizacion = 0 EXIT ENDIF @@ -2704,17 +2676,19 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM LPARAMETERS tcDir, taFiles, lnFileCount EXTERNAL ARRAY taFiles - LOCAL laFiles(1), I, lnFiles + LOCAL laFiles(1), I, lnFiles ; + , loLang as CL_LANG OF 'FOXBIN2PRG.PRG' IF TYPE("ALEN(laFiles)") # "N" OR EMPTY(lnFileCount) lnFileCount = 0 DIMENSION taFiles(1) ENDIF - + tcDir = ADDBS(tcDir) - + IF DIRECTORY(tcDir) - THIS.AvanceDelProceso( C_SCANNING_FILE_AND_DIR_INFO + ' ' + tcDir + '...', 0, 0, 0 ) + loLang = _SCREEN.o_FoxBin2Prg_Lang + THIS.AvanceDelProceso( loLang.C_SCANNING_FILE_AND_DIR_INFO + ' ' + tcDir + '...', 0, 0, 0 ) lnFiles = ADIR( laFiles, tcDir + '*.*', 'D', 1) *-- Busco los archivos @@ -2742,9 +2716,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM PROCEDURE RenameFile LPARAMETERS tcFileName, tcEXE_CAPS, toFSO AS Scripting.FileSystemObject, tlRelanzarError - LOCAL lcLog, laFile(1,5) + LOCAL lcLog, laFile(1,5) ; + , loLang as CL_LANG OF 'FOXBIN2PRG.PRG' *THIS.writeLog( '- Se ha solicitado capitalizar el archivo [' + tcFileName + ']' ) - THIS.writeLog( TEXTMERGE(C_REQUESTING_CAPITALIZATION_OF_FILE_LOC) ) + loLang = _SCREEN.o_FoxBin2Prg_Lang + THIS.writeLog( TEXTMERGE(loLang.C_REQUESTING_CAPITALIZATION_OF_FILE_LOC) ) THIS.ChangeFileAttribute( tcFileName, '+N' ) lcLog = '' THIS.o_FNC.Capitalize( tcFileName, '', 'F', lcLog, tlRelanzarError, '1' ) @@ -2851,13 +2827,12 @@ DEFINE CLASS frm_avance AS FORM DoCreate = .T. AutoCenter = .T. BorderStyle = 2 - CAPTION = 'FoxBin2Prg - ' + C_PROCESS_PROGRESS_LOC + ' (Press Esc to Cancel)' ControlBox = .F. BackColor = RGB(255,255,255) - nmax_value = 100 - nmax_value2 = 100 - nvalue = 0 - nvalue2 = 0 + nMax_value = 100 + nMax_value2 = 100 + nValue = 0 + nValue2 = 0 l_Cancelled = .F. Name = "frm_avance" _memberdata = [] ; @@ -2934,7 +2909,7 @@ DEFINE CLASS frm_avance AS FORM Name = "lbl_Tarea2" - ADD OBJECT cmdcancel AS commandbutton WITH ; + ADD OBJECT cmdCancel AS commandbutton WITH ; Top = 84, ; Left = 252, ; Height = 21, ; @@ -2955,7 +2930,7 @@ DEFINE CLASS frm_avance AS FORM ENDIF DOEVENTS ENDIF - + DO CASE CASE tnTipo = 0 IF NOT EMPTY(tcTexto) THEN @@ -2963,8 +2938,8 @@ DEFINE CLASS frm_avance AS FORM ENDIF IF tnTotal > 0 THEN - .nmax_value = tnTotal - .nvalue = tnValor + .nMax_value = tnTotal + .nValue = tnValor ENDIF CASE tnTipo = 1 @@ -2973,8 +2948,8 @@ DEFINE CLASS frm_avance AS FORM ENDIF IF tnTotal > 0 THEN - .nmax_value2 = tnTotal - .nvalue2 = tnValor + .nMax_value2 = tnTotal + .nValue2 = tnValor ENDIF CASE tnTipo = 2 @@ -2983,8 +2958,8 @@ DEFINE CLASS frm_avance AS FORM ENDIF IF tnTotal > 0 THEN - .nmax_value2 = tnTotal - .nvalue2 = tnValor + .nMax_value2 = tnTotal + .nValue2 = tnValor ENDIF ENDCASE @@ -2994,33 +2969,36 @@ DEFINE CLASS frm_avance AS FORM ENDPROC - PROCEDURE nvalue_assign + PROCEDURE nValue_assign LPARAMETERS vNewVal WITH THIS - .nvalue = m.vNewVal - .shp_avance.WIDTH = m.vNewVal * .shp_base.WIDTH / .nmax_value + .nValue = m.vNewVal + .shp_avance.WIDTH = m.vNewVal * .shp_base.WIDTH / .nMax_value ENDWITH ENDPROC PROCEDURE Init - THIS.nvalue = 0 - THIS.nvalue2 = 0 + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang + THIS.CAPTION = 'FoxBin2Prg - ' + loLang.C_PROCESS_PROGRESS_LOC + ' (' + loLang.C_PRESS_ESC_TO_CANCEL + ')' + THIS.nValue = 0 + THIS.nValue2 = 0 ENDPROC - PROCEDURE nvalue2_assign + PROCEDURE nValue2_assign LPARAMETERS vNewVal WITH THIS - .nvalue2 = m.vNewVal - .shp_avance2.WIDTH = m.vNewVal * .shp_base2.WIDTH / .nmax_value2 + .nValue2 = m.vNewVal + .shp_avance2.WIDTH = m.vNewVal * .shp_base2.WIDTH / .nMax_value2 ENDWITH ENDPROC - PROCEDURE cmdcancel.Click + PROCEDURE cmdCancel.Click THISFORM.l_Cancelled = .T. ENDPROC @@ -3147,9 +3125,11 @@ DEFINE CLASS c_conversor_base AS SESSION ******************************************************************************************************************* PROCEDURE DESTROY + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang C_FB2PRG_CODE = '' USE IN (SELECT("TABLABIN")) - THIS.writeLog( C_CONVERTER_UNLOAD_LOC ) + THIS.writeLog( loLang.C_CONVERTER_UNLOAD_LOC ) THIS.oFSO = NULL ENDPROC @@ -3341,9 +3321,11 @@ DEFINE CLASS c_conversor_base AS SESSION #IF .F. LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' #ENDIF + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang THIS.writeLog( '' ) - THIS.writeLog( C_CONVERTING_FILE_LOC + ' ' + THIS.c_OutputFile + '...' ) - RELEASE toModulo, toEx, toFoxBin2Prg + THIS.writeLog( loLang.C_CONVERTING_FILE_LOC + ' ' + THIS.c_OutputFile + '...' ) + RELEASE toModulo, toEx, toFoxBin2Prg, loLang RETURN ENDPROC @@ -3681,6 +3663,8 @@ DEFINE CLASS c_conversor_base AS SESSION EXTERNAL ARRAY taPropsAndValues LOCAL lcMetadatos, I, lcVirtualMeta, lnPos1, lnPos2, lnLastPos, lnCantComillas + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang STORE '' TO lcVirtualMeta STORE 0 TO lnPos1, lnPos2, lnLastPos, tnPropsAndValues_Count, I @@ -3689,7 +3673,7 @@ DEFINE CLASS c_conversor_base AS SESSION IF lnCantComillas % 2 <> 0 && Valido que las comillas "" sean pares *ERROR "Error de datos: No se puede parsear porque las comillas no son pares en la línea [" + lcMetadatos + "]" - ERROR (TEXTMERGE(C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC)) + ERROR (TEXTMERGE(loLang.C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC)) ENDIF lnLastPos = 1 @@ -3831,6 +3815,8 @@ DEFINE CLASS c_conversor_base AS SESSION TRY LOCAL lnBloques, I, X, lnPrimerID, lnLen_IDFinBQ, lnID_Bloques_Count, lcWord, lnAnidamientos, lcLine, lcPrevLine + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang DIMENSION taLineasExclusion(tnCodeLines), taBloquesExclusion(1,2) STORE 0 TO tnBloquesExclusion, lnPrimerID, I, X, lnLen_IDFinBQ @@ -3908,7 +3894,7 @@ DEFINE CLASS c_conversor_base AS SESSION *ERROR 'No se ha encontrado el marcador de fin [' + ta_ID_Bloques(lnPrimerID,2) ; + '] que cierra al marcador de inicio [' + ta_ID_Bloques(lnPrimerID,1) ; + '] de la línea ' + TRANSFORM(taBloquesExclusion(tnBloquesExclusion,1)) - ERROR (TEXTMERGE(C_END_MARKER_NOT_FOUND_LOC)) + ERROR (TEXTMERGE(loLang.C_END_MARKER_NOT_FOUND_LOC)) ENDIF ENDIF ENDFOR @@ -3923,7 +3909,7 @@ DEFINE CLASS c_conversor_base AS SESSION THROW FINALLY - RELEASE taCodeLines, tnCodeLines, ta_ID_Bloques, taLineasExclusion, tnBloquesExclusion, taBloquesExclusion ; + RELEASE taCodeLines, tnCodeLines, ta_ID_Bloques, taLineasExclusion, tnBloquesExclusion, taBloquesExclusion, loLang ; , lnBloques, I, X, lnPrimerID, lnLen_IDFinBQ, lnID_Bloques_Count, lcWord, lnAnidamientos, lcLine, lcPrevLine ENDTRY @@ -4075,6 +4061,8 @@ DEFINE CLASS c_conversor_base AS SESSION TRY LOCAL lcPropName, lnPos, loEx AS EXCEPTION + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang lcPropName = tcPropName tcOperation = UPPER(EVL(tcOperation,'')) @@ -4083,7 +4071,7 @@ DEFINE CLASS c_conversor_base AS SESSION lcPropName = SUBSTR(tcPropName,5) CASE NOT tcOperation == 'SETNAME' - ERROR C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC + ERROR loLang.C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC CASE lcPropName == 'Name' && System "Name" property lcPropName = 'A999' + lcPropName @@ -5549,6 +5537,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base TRY LOCAL llEsProcedureDeClase, loProcedure AS CL_PROCEDURE OF 'FOXBIN2PRG.PRG' + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang loProcedure = NULL IF '.' $ tcProcedureAbierto AND VARTYPE(toObjeto) = 'O' AND toObjeto._Procedure_Count > 0 @@ -5575,12 +5565,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontró ENDDEFINE en la clase ' ; + toClase._Nombre + ' (' + loProcedure._Nombre + ')' ; + ', línea ' + TRANSFORM(I) + ' del archivo ' + .c_InputFile - ERROR (TEXTMERGE(C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC)) + ERROR (TEXTMERGE(loLang.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC)) ELSE *ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontró ENDDEFINE en la clase ' ; + toClase._Nombre + ' (' + toObjeto._Nombre + '.' + loProcedure._Nombre + ')' ; + ', línea ' + TRANSFORM(I) + ' del archivo ' + .c_InputFile - ERROR (TEXTMERGE(C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC)) + ERROR (TEXTMERGE(loLang.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC)) ENDIF ENDCASE ENDIF @@ -5873,6 +5863,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base , llCLASSCOMMENTS_Completed ; , loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG' + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang STORE '' TO tcProcedureAbierto toClase = CREATEOBJECT('CL_CLASE') toClase._Nombre = LOWER( ALLTRIM( STREXTRACT( tcLine, 'DEFINE CLASS ', ' AS ', 1, 1 ) ) ) @@ -5986,7 +5978,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base + 'que cierra al marcador de inicio [DEFINE CLASS] ' ; + 'de la línea ' + TRANSFORM( toClase._Inicio ) + ' ' ; + 'para el identificador [' + toClase._Nombre + ']' - ERROR (TEXTMERGE(C_ENDDEFINE_MARKER_NOT_FOUND_LOC)) + ERROR (TEXTMERGE(loLang.C_ENDDEFINE_MARKER_NOT_FOUND_LOC)) ENDIF toClase._PROPERTIES = .classProps2Memo( toClase ) @@ -6683,17 +6675,19 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base #ENDIF LOCAL lnItem, I, X + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang *-- Verificación de las Clases, si son Externas y se indicó chequearlas IF toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_ClassPerFileCheck DO CASE CASE toModulo._ExternalClasses_Count = 0 AND toModulo._ExternalClasses_Count <> toModulo._Clases_Count *ERROR 'El conteo de clases externas (' + TRANSFORM(toModulo._ExternalClasses_Count) + ') no coincide con la cantidad encontrada (' + TRANSFORM(toModulo._Clases_Count) + ') en el archivo [' + toFoxBin2Prg.c_InputFile + ']' - ERROR (TEXTMERGE(C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES)) + ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES)) CASE toModulo._Clases_Count =0 AND toModulo._ExternalClasses_Count <> toModulo._Clases_Count *ERROR 'El conteo de clases externas (' + TRANSFORM(toModulo._ExternalClasses_Count) + ') no coincide con la cantidad encontrada (' + TRANSFORM(toModulo._Clases_Count) + ') en el archivo [' + toFoxBin2Prg.c_InputFile + ']' - ERROR (TEXTMERGE(C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES)) + ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES)) *CASE toModulo._ExternalClasses_Count <> toModulo._Clases_Count THEN ENDCASE @@ -6710,7 +6704,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF lnItem = 0 THEN *ERROR 'No se ha encontrado la clase externa [' + toModulo._ExternalClasses(I) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']' - ERROR (TEXTMERGE(C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND)) + ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND)) ENDIF toModulo._Clases(lnItem)._Checked = .T. @@ -8280,6 +8274,8 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin TRY LOCAL loReg, I, lcFieldType, lnFieldLen, lnFieldDec, lnNumCampo, laFieldTypes(1,18) ; , luValor, lnCodError, loEx AS EXCEPTION + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang SELECT TABLABIN AFIELDS( laFieldTypes ) loReg = NULL @@ -8306,7 +8302,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin IF lnNumCampo = 0 *ERROR 'No se encontró el campo [' + laProps(I) + '] en la estructura del archivo ' + DBF("TABLABIN") - ERROR (TEXTMERGE(C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC)) + ERROR (TEXTMERGE(loLang.C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC)) ENDIF lcFieldType = laFieldTypes(lnNumCampo,2) @@ -9805,6 +9801,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- INDENTA EL CÓDIGO DE UN MÉTODO DADO Y QUITA LA CABECERA DE MÉTODO (PROCEDURE/ENDPROC) SI LA ENCUENTRA TRY LOCAL I, X, lcMethod, llProcedure, lnInicio, lnFin, laLineas(1), lnOffset + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang lcMethod = '' lnInicio = 1 lnOffset = 0 @@ -9823,7 +9821,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base IF NOT EMPTY(laLineas(I)) && Última línea de código IF llProcedure AND LEFT( laLineas(I), 10 ) <> C_ENDPROC *ERROR 'Procedimiento sin cerrar. La última línea de código debe ser ENDPROC. [' + laLineas(1) + ']' - ERROR (TEXTMERGE(C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC)) + ERROR (TEXTMERGE(loLang.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC)) ENDIF EXIT ENDIF @@ -11128,12 +11126,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base #ENDIF LOCAL llFileExists + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang llFileExists = FILE(tcOutputFile) IF llFileExists AND FILETOSTR( tcOutputFile ) == tcCodigo THEN *.writeLog( 'El archivo de salida [' + .c_OutputFile + '] no se sobreescribe por ser igual al generado.' ) - THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) ) + THIS.writeLog( TEXTMERGE(loLang.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) ) ELSE IF llFileExists THEN @@ -11143,7 +11143,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base IF STRTOFILE( tcCodigo, tcOutputFile ) = 0 *ERROR 'No se puede generar el archivo [' + .c_OutputFile + '] porque es ReadOnly' - ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC)) + ERROR (TEXTMERGE(loLang.C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC)) ENDIF ENDIF @@ -11842,7 +11842,8 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg , loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' ; , loServerHead AS CL_PROJ_SRV_HEAD OF 'FOXBIN2PRG.PRG' ; , loServerData AS CL_PROJ_SRV_DATA OF 'FOXBIN2PRG.PRG' - + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang STORE NULL TO loProject, loReg, loServerHead, loServerData WITH THIS AS c_conversor_pjx_a_prg OF 'FOXBIN2PRG.PRG' @@ -12132,7 +12133,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg DO CASE CASE lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME ) *toEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME - toEx.USERVALUE = C_DUPLICATED_FILE_LOC + ': ' + loReg.NAME + toEx.USERVALUE = loLang.C_DUPLICATED_FILE_LOC + ': ' + loReg.NAME ENDCASE IF THIS.l_Debug AND _VFP.STARTMODE = 0 @@ -12181,7 +12182,8 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg , loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' ; , loServerHead AS CL_PROJ_SRV_HEAD OF 'FOXBIN2PRG.PRG' ; , loServerData AS CL_PROJ_SRV_DATA OF 'FOXBIN2PRG.PRG' - + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang STORE NULL TO loProject, loReg, loServerHead, loServerData lcStrPJM = FILETOSTR( THIS.c_InputFile ) loServerHead = CREATEOBJECT('CL_PROJ_SRV_HEAD') @@ -12509,7 +12511,7 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg DO CASE CASE lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME ) *toEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME - toEx.USERVALUE = C_DUPLICATED_FILE_LOC + ': ' + loReg.NAME + toEx.USERVALUE = loLang.C_DUPLICATED_FILE_LOC + ': ' + loReg.NAME ENDCASE IF THIS.l_Debug AND _VFP.STARTMODE = 0 @@ -12559,6 +12561,8 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg TRY LOCAL lnCodError, loRegCab, loRegDataEnv, loRegCur, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen ; , laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang STORE 0 TO lnCodError, lnLastClass STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1) STORE NULL TO loRegObj, loRegCab, loRegDataEnv, loRegCur @@ -12570,7 +12574,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg *-- Verificación de REPORTE VFP 9 IF FCOUNT() < 75 OR EMPTY(FIELD("USER")) *ERROR 'Report [' + (.c_InputFile) + '] is NOT VFP 9 Format! - Please convert to VFP 9 with MODIFY REPORT ' + JUSTFNAME((.c_InputFile)) - ERROR (TEXTMERGE(C_REPORT_NOT_IN_VFP9_FORMAT_LOC)) + ERROR (TEXTMERGE(loLang.C_REPORT_NOT_IN_VFP9_FORMAT_LOC)) ENDIF SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN_0 @@ -12725,6 +12729,8 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg , ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, lnDataSessionID, lnSelect ; , loTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG' ; , loDBFUtils AS CL_DBF_UTILS OF 'FOXBIN2PRG.PRG' + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang STORE NULL TO loTable, loDBFUtils STORE 0 TO lnCodError loDBFUtils = CREATEOBJECT('CL_DBF_UTILS') @@ -12782,12 +12788,12 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg CASE FILE(.c_OutputFile) AND toFoxBin2Prg.FilesComparedAreEqual( .c_OutputFile + '.TMP', .c_OutputFile ) = 1 ERASE (.c_OutputFile + '.TMP') *.writeLog( 'El archivo de salida [' + .c_OutputFile + '] no se sobreescribe por ser igual al generado.' ) - .writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) ) + .writeLog( TEXTMERGE(loLang.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) ) CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ; AND toFoxBin2Prg.ChangeFileAttribute( .c_OutputFile, '-R' ) ; AND NOT toFoxBin2Prg.RenameTmpFile2Tx2File( .c_OutputFile ) *ERROR 'No se puede generar el archivo [' + .c_OutputFile + '] porque es ReadOnly' - ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC)) + ERROR (TEXTMERGE(loLang.C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC)) ENDCASE ENDIF @@ -12825,7 +12831,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg + 'ˇˇATENCIÓN!!' + CR_LF ; + 'ASEGÚRESE DE QUE NO ESTÁ USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS ÍNDICES!! (ej: index on ' ; + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.campo tag nombreclave)' - toEx.USERVALUE = TEXTMERGE(C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC) + toEx.USERVALUE = TEXTMERGE(loLang.C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC) *!* CASE toEx.ErrorNo = 1976 && Cannot resolve backlink *!* toEx.UserValue = 'WARNING!!' + CR_LF ; @@ -12960,6 +12966,8 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg TRY LOCAL lnCodError, lnLen + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang STORE 0 TO lnCodError WITH THIS AS c_conversor_mnx_a_prg OF 'FOXBIN2PRG.PRG' @@ -12971,7 +12979,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg *-- Verificación de menú VFP 9 IF FCOUNT() < 25 OR EMPTY(FIELD("RESNAME")) OR EMPTY(FIELD("SYSRES")) *ERROR 'Menu [' + (.c_InputFile) + '] is NOT VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU ' + JUSTFNAME((.c_InputFile)) - ERROR (TEXTMERGE(C_MENU_NOT_IN_VFP9_FORMAT_LOC)) + ERROR (TEXTMERGE(loLang.C_MENU_NOT_IN_VFP9_FORMAT_LOC)) ENDIF *-- Header @@ -14451,6 +14459,8 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE *--------------------------------------------------------------------------------------------------- LPARAMETERS tnPropertyID LOCAL lcValueType + LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' + loLang = _SCREEN.o_FoxBin2Prg_Lang lcValueType = '' DO CASE @@ -14469,7 +14479,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE OTHERWISE *ERROR 'Propiedad [' + TRANSFORM(tnPropertyID) + '] no reconocida.' - ERROR (TEXTMERGE(C_PROPERTY_NAME_NOT_RECOGNIZED_LOC)) + ERROR (TEXTMERGE(loLang.C_PROPERTY_NAME_NOT_RECOGNIZED_LOC)) ENDCASE RETURN lcValueType @@ -21404,3 +21414,241 @@ DEFINE CLASS CL_CFG AS CUSTOM ENDDEFINE +DEFINE CLASS CL_LANG AS Custom + *-- Spanish (Espańol) + *------------------------------------------------------------------------------------------------------------------------------------------- + *-- NOTA: SE DEBEN USAR COMILLAS DOBLES, O ERRORES DE SINTAXIS OCURREN AL COMPILAR. EXTRAŃO :( + *------------------------------------------------------------------------------------------------------------------------------------------- + C_ASTERISK_EXT_NOT_ALLOWED_LOC = "No se admiten extensiones * o ? porque es peligroso (se pueden pisar binarios con archivo xx2 vacíos)." + C_BACKLINK_CANT_UPDATE_BL_LOC = "No se pudo actualizar el backlink" + C_BACKLINK_OF_TABLE_LOC = "de la tabla" + C_BACKUP_OF_LOC = "Haciendo Backup de: " + C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "No se puede generar el archivo [<>] porque es ReadOnly" + C_CONFIGFILE_LOC = "Usando archivo de configuración:" + C_CONVERTER_UNLOAD_LOC = "Descarga del conversor" + C_CONVERTING_FILE_LOC = "Convirtiendo archivo" + C_CONVERSION_CANCELLED_BY_USER = "Conversión Cancelada por el usuario" + C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Error de datos: No se puede parsear porque las comillas no son pares en la línea <>" + C_DUPLICATED_FILE_LOC = "Archivo duplicado" + C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "No se ha encontrado el marcador de fin [ENDDEFINE] de la línea <> para el identificador [<>]" + C_END_MARKER_NOT_FOUND_LOC = "No se ha encontrado el marcador de fin [<>] que cierra al marcador de inicio [<>] de la línea <>" + C_END_OF_PROCESS_LOC = "Fin del Proceso" + C_EXTENSION_RECONFIGURATION_LOC = "Reconfiguración de extensión:" + C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "El conteo de clases externas (<>) no coincide con la cantidad encontrada (<>) para el archivo [<>]" + C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "No se ha encontrado la clase externa [<>] del archivo [<>]" + C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "No se encontró el campo [<>] en la estructura del archivo <>" + C_FILE_DOESNT_EXIST_LOC = "El archivo no existe:" + C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "El archivo [<<.c_InputFile>>] no está soportado" + C_FILE_NOT_FOUND_LOC = "No se encontró el archivo" + C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERROR!!" + C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: INFORMACIÓN DE SINTAXIS" + C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cNoMostrarErrores ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + + "Ejemplo para generar los TXT de todos los VCX de 'c:\desa\clases', sin mostrar ventana de error y generando archivo LOG: " + CR_LF ; + + " FOXBIN2PRG 'c:\desa\clases\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; + + "Ejemplo para generar los VCX de todos los TXT de 'c:\desa\clases', sin mostrar ventana de error y sin LOG: " + CR_LF ; + + " FOXBIN2PRG 'c:\desa\clases\*.vc2' '0' '0' '0' '1' '0'" + C_FOXBIN2PRG_JUST_VFP_9_LOC = "ˇFOXBIN2PRG es solo para Visual FoxPro 9.0!" + C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: ˇATENCIÓN!" + C_MENU_NOT_IN_VFP9_FORMAT_LOC = "El Menú [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY MENU '<>'" + C_LANGUAGE_LOC = "ES" + C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Se ha encontrado el programa de capitalización de nombres [<>]" + C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* No se ha encontrado el programa de capitalización de nombres [<>]" + C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objeto [<>] no contiene el objeto oReg (nivel <>)" + C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operación no reconocida. Solo re reconoce SETNAME y GETNAME." + C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimización: El archivo de salida [<>] no se sobreescribe por ser igual al generado." + C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimización: El archivo de salida [<>] 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 última línea de código debe ser ENDPROC. [<>, Recno:<>]" + C_PROCESSING_LOC = "Procesando archivo" + C_PROCESS_PROGRESS_LOC = "Avance del proceso:" + C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Propiedad [<>] no reconocida." + C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "El Reporte [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY REPORT '<>'" + C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Solicitado capitalizar el archivo [<>]" + C_SCANNING_FILE_AND_DIR_INFO = "Escaneando archivos e información de directorio para" + C_SOURCEFILE_LOC = "Archivo origen: " + C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>), línea <> del archivo <>" + C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>.<>), línea <> del archivo <>" + C_UNKNOWN_CLASS_NAME_LOC = "Clase [<>] desconocida" + C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "ˇˇATENCIÓN!!" + CR_LF+ "ASEGÚRESE DE QUE NO ESTÁ USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS ÍNDICES!! (ej: index on <>.campo tag nombreclave)" + C_WITH_ERRORS = "con errores" + + + PROCEDURE INIT + WITH THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' + DO CASE + CASE VERSION(3) == '00' && English (Inglés) + *------------------------------------------------------------------------------------------------------------------------------------------- + *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( + *------------------------------------------------------------------------------------------------------------------------------------------- + .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* and ? extensions are not allowed because it's dangerous (binaries can be overwritten with xx2 empty files)" + .C_BACKLINK_CANT_UPDATE_BL_LOC = "Could not update backlink" + .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 [<>] because it is ReadOnly" + .C_CONFIGFILE_LOC = "Using configuration file:" + .C_CONVERSION_CANCELLED_BY_USER = "Conversion Cancelled by the user" + .C_CONVERTER_UNLOAD_LOC = "Converter unload" + .C_CONVERTING_FILE_LOC = "Converting file" + .C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Data Error: Can't parse because of unpaired double-quotes on line <>" + .C_DUPLICATED_FILE_LOC = "Duplicated file" + .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Cannot find end marker [ENDDEFINE] of line <> for ID [<>]" + .C_END_MARKER_NOT_FOUND_LOC = "Cannot find end marker [<>] that closes start marker [<>] on line <>" + .C_END_OF_PROCESS_LOC = "End of Process" + .C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:" + .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "External class count (<>) does not match found classes (<>) for file [<>]" + .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "External class [<>] is not found in file [<>]" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Field [<>] not found in structure of file <>" + .C_FILE_DOESNT_EXIST_LOC = "File does not exist:" + .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] is not supported" + .C_FILE_NOT_FOUND_LOC = "File not found" + .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERROR!!" + .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" + .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + + "Example of generating TXT from all VCX in 'c:\development\classes', without showing error window and generating LOG file: " + CR_LF ; + + " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; + + "Example of generating TXT from all VCX is 'c:\development\classes', without showing error window and without LOG file: " + CR_LF ; + + " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'" + .C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG is only for Visual FoxPro 9.0!" + .C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNING!" + .C_LANGUAGE_LOC = "EN" + .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU '<>'" + .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Names capitalization program [<>] found" + .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Names capitalization program [<>] not found" + .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<>] does not contain oReg object (level <>)" + .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operation not recognized. Only SETNAME and GETNAME allowed." + .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimization: Output file [<>] was not overwritten because it is the same as was generated." + .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimization: Output file [<>] 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. [<>, Recno:<>]" + .C_PROCESSING_LOC = "Processing file" + .C_PROCESS_PROGRESS_LOC = "Process Progress:" + .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Property [<>] is not recognized." + .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY REPORT '<>'" + .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Requesting capitalization of file [<>]" + .C_SCANNING_FILE_AND_DIR_INFO = "Scanning file and directory information for" + .C_SOURCEFILE_LOC = "Source file: " + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" + .C_UNKNOWN_CLASS_NAME_LOC = "Unknown class [<>]" + .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 <>.campo tag keyname)" + .C_WITH_ERRORS = "with errors" + + CASE VERSION(3) == '49' && German (Alemán) + *------------------------------------------------------------------------------------------------------------------------------------------- + *-- NOTE: ES MÜSSEN ANFÜHRUNGSZEICHEN BENUTZT WERDEN, ODER SYNTAX ERRORS PASSIEREN BEIM COMPILE. SELTSAM :( + *------------------------------------------------------------------------------------------------------------------------------------------- + .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* und ? Erweiterungen sind nicht erlaubt, da es gefährlich ist (binaries könnten überschrieben werden mit xx2 leeren Dateien)" + .C_BACKLINK_CANT_UPDATE_BL_LOC = "Backlink kann nicht geupdated 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 [<>] nicht generieren da sie Schreibgeschützt ist" + .C_CONFIGFILE_LOC = "Benutze Konfigurationsdatei:" + .C_CONVERSION_CANCELLED_BY_USER = "Konvertierung durch den Benutzer abgebrochen" + .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ührungszeichen in Zeile <>" + .C_DUPLICATED_FILE_LOC = "Doppelte Datei" + .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Kann keinen Ende Marker [ENDDEFINE] in Zeile <> für die ID [<>] finden" + .C_END_MARKER_NOT_FOUND_LOC = "Kann keinen Ende Marker [<>] welcher den Start Marker [<>] in Zeile <> schließt" + .C_END_OF_PROCESS_LOC = "Ende der Prozess" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Feld [<>] nicht in der Struktur von Datei <> gefunden" + .C_FILE_DOESNT_EXIST_LOC = "Datei existiert nicht:" + .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "Datei [<<.c_InputFile>>] wird nicht unterstützt" + .C_FILE_NOT_FOUND_LOC = "Datei nicht gefunden" + .C_EXTENSION_RECONFIGURATION_LOC = "Erweiterungsneukonfiguration:" + .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "Externe Klassenzahl (<< toModulo._ExternalClasses_Count >>) nicht gefunden Klassen entsprechen (<< toModulo._Clases_Count >>) für Datei [<< toFoxBin2Prg.c_InputFile >>]" + .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "Externe Klasse (<>) nicht in der Datei [<>] gefunden" + .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: FEHLER!!" + .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" + .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + + "Ein Beispiel für die Generierung der TXT von allen VCX in 'c:\development\classes', ohne Anzeige des Fehlerfensters und Generierung der LOG Datei: " + CR_LF ; + + " 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_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNUNG!" + .C_LANGUAGE_LOC = "DE" + .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY MENU '<>'" + .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Programm für Großschreibungssetzung [<>] gefunden" + .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Programm für Großschreibungssetzung [<>] nicht gefunden" + .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objekt [<>] enthält nicht oReg Objekt (level <>)" + .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Befehl nicht erkannt. Nur SETNAME und GETNAME erlaubt." + .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimierung: Ausgabedatei [<>] wurde nicht überschrieben da sie dieselbe ist wie die neu generierte." + .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimierung: Ausgabedatei [<>] wurde nicht erneuert da sie neuer ist als die Ursprungsdatei." + .C_PRESS_ESC_TO_CANCEL = "Drücken Sie Esc für Abbrechen" + .C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procedur nicht geschlossen. Letzte Zeile des Codes muss ENDPROC sein. [<>, Recno:<>]" + .C_PROCESSING_LOC = "Bearbeite Datei" + .C_PROCESS_PROGRESS_LOC = "Bearbeitungsfortschritt:" + .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Eigenschaft [<>] nicht erkannt." + .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY REPORT '<>'" + .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Forder Großschreibung für Datei [<>] an" + .C_SCANNING_FILE_AND_DIR_INFO = "Scannen Datei- und Verzeichnisinformationen für" + .C_SOURCEFILE_LOC = "Source Datei: " + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <> (<>), Zeile <> der Datei <> gefunden" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <> (<>.<>), Zeile <> der Datei <> gefunden" + .C_UNKNOWN_CLASS_NAME_LOC = "Unbekannte Klasse [<>]" + .C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNUNG!!" + CR_LF+ "SICHERSTELLEN DAS KEIN TABELLENALIAS IN DEM INDEXAUSDRUCK BENUTZT WIRD!! (z.B.: index on <>.campo tag keyname)" + .C_WITH_ERRORS = "mit Fehlern" + + CASE VERSION(3) == '33' && French (Francés) + *------------------------------------------------------------------------------------------------------------------------------------------- + *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( + *------------------------------------------------------------------------------------------------------------------------------------------- + .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* and ? extensions are not allowed because it's dangerous (binaries can be overwritten with xx2 empty files)" + .C_BACKLINK_CANT_UPDATE_BL_LOC = "Could not update backlink" + .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 [<>] because it is ReadOnly" + .C_CONFIGFILE_LOC = "Using configuration file:" + .C_CONVERSION_CANCELLED_BY_USER = "Conversion Cancelled by the user" + .C_CONVERTER_UNLOAD_LOC = "Converter unload" + .C_CONVERTING_FILE_LOC = "Converting file" + .C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Data Error: Can't parse because of unpaired double-quotes on line <>" + .C_DUPLICATED_FILE_LOC = "Duplicated file" + .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Cannot find end marker [ENDDEFINE] of line <> for ID [<>]" + .C_END_MARKER_NOT_FOUND_LOC = "Cannot find end marker [<>] that closes start marker [<>] on line <>" + .C_END_OF_PROCESS_LOC = "End of Process" + .C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:" + .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "External class count (<>) does not match found classes (<>) for file [<>]" + .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "External class [<>] is not found in file [<>]" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Field [<>] not found in structure of file <>" + .C_FILE_DOESNT_EXIST_LOC = "File does not exist:" + .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] is not supported" + .C_FILE_NOT_FOUND_LOC = "File not found" + .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERROR!!" + .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" + .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + + "Example of generating TXT from all VCX in 'c:\development\classes', without showing error window and generating LOG file: " + CR_LF ; + + " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; + + "Example of generating TXT from all VCX is 'c:\development\classes', without showing error window and without LOG file: " + CR_LF ; + + " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'" + .C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG is only for Visual FoxPro 9.0!" + .C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNING!" + .C_LANGUAGE_LOC = "EN" + .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU '<>'" + .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Names capitalization program [<>] found" + .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Names capitalization program [<>] not found" + .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<>] does not contain oReg object (level <>)" + .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operation not recognized. Only SETNAME and GETNAME allowed." + .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimization: Output file [<>] was not overwritten because it is the same as was generated." + .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimization: Output file [<>] 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. [<>, Recno:<>]" + .C_PROCESSING_LOC = "Processing file" + .C_PROCESS_PROGRESS_LOC = "Process Progress:" + .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Property [<>] is not recognized." + .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY REPORT '<>'" + .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Requesting capitalization of file [<>]" + .C_SCANNING_FILE_AND_DIR_INFO = "Scanning file and directory information for" + .C_SOURCEFILE_LOC = "Source file: " + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" + .C_UNKNOWN_CLASS_NAME_LOC = "Unknown class [<>]" + .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 <>.campo tag keyname)" + .C_WITH_ERRORS = "with errors" + + ENDCASE + ENDWITH && THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' + ENDPROC + +ENDDEFINE diff --git a/foxbin2prg_de.h b/foxbin2prg_de.h index bd64c1e..eb394fd 100644 --- a/foxbin2prg_de.h +++ b/foxbin2prg_de.h @@ -8,6 +8,7 @@ #DEFINE C_BACKUP_OF_LOC "Mache Backup von: " #DEFINE C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC "Kann Datei [<>] nicht generieren da sie Schreibgeschützt ist" #DEFINE C_CONFIGFILE_LOC "Benutze Konfigurationsdatei:" +#DEFINE C_CONVERSION_CANCELLED_BY_USER "Konvertierung durch den Benutzer abgebrochen" #DEFINE C_CONVERTER_UNLOAD_LOC "Konverter wird entladen" #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ührungszeichen in Zeile <>" @@ -51,3 +52,4 @@ #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <> (<>.<>), Zeile <> der Datei <> gefunden" #DEFINE C_UNKNOWN_CLASS_NAME_LOC "Unbekannte Klasse [<>]" #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 <>.campo tag keyname)" +#DEFINE C_WITH_ERRORS "mit Fehlern" diff --git a/foxbin2prg_en.h b/foxbin2prg_en.h index 6291a26..b5194a7 100644 --- a/foxbin2prg_en.h +++ b/foxbin2prg_en.h @@ -8,6 +8,7 @@ #DEFINE C_BACKUP_OF_LOC "Doing Backup of: " #DEFINE C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC "Cannot generate file [<>] because it is ReadOnly" #DEFINE C_CONFIGFILE_LOC "Using configuration file:" +#DEFINE C_CONVERSION_CANCELLED_BY_USER "Conversion Cancelled by the user" #DEFINE C_CONVERTER_UNLOAD_LOC "Converter unload" #DEFINE C_CONVERTING_FILE_LOC "Converting file" #DEFINE C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC "Data Error: Can't parse because of unpaired double-quotes on line <>" @@ -51,3 +52,4 @@ #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" #DEFINE C_UNKNOWN_CLASS_NAME_LOC "Unknown class [<>]" #DEFINE 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 <>.campo tag keyname)" +#DEFINE C_WITH_ERRORS "with errors" From 8a960021a56e6fe529fe68191bafe10f16ec190a Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Sat, 6 Dec 2014 00:54:26 +0100 Subject: [PATCH 3/5] =?UTF-8?q?Changeset:=20545=20fdbozzo=20-=2006/12/2014?= =?UTF-8?q?=2000:27:40:=20-=20Agregada=20traducci=C3=B3n=20al=20franc?= =?UTF-8?q?=C3=A9s=20(de=20Google=20Translate)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.prg | 104 +++++++++++++++++++++++++------------------------ 1 file changed, 54 insertions(+), 50 deletions(-) diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 8814565..36b1192 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -21474,9 +21474,13 @@ DEFINE CLASS CL_LANG AS Custom PROCEDURE INIT + LPARAMETERS tcLanguage + + tcLanguage = EVL(tcLanguage, VERSION(3)) + WITH THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' DO CASE - CASE VERSION(3) == '00' && English (Inglés) + CASE tcLanguage == '00' && English (Inglés) *------------------------------------------------------------------------------------------------------------------------------------------- *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( *------------------------------------------------------------------------------------------------------------------------------------------- @@ -21533,7 +21537,7 @@ DEFINE CLASS CL_LANG AS Custom .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 <>.campo tag keyname)" .C_WITH_ERRORS = "with errors" - CASE VERSION(3) == '49' && German (Alemán) + CASE tcLanguage == '49' && German (Alemán) *------------------------------------------------------------------------------------------------------------------------------------------- *-- NOTE: ES MÜSSEN ANFÜHRUNGSZEICHEN BENUTZT WERDEN, ODER SYNTAX ERRORS PASSIEREN BEIM COMPILE. SELTSAM :( *------------------------------------------------------------------------------------------------------------------------------------------- @@ -21590,62 +21594,62 @@ DEFINE CLASS CL_LANG AS Custom .C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNUNG!!" + CR_LF+ "SICHERSTELLEN DAS KEIN TABELLENALIAS IN DEM INDEXAUSDRUCK BENUTZT WIRD!! (z.B.: index on <>.campo tag keyname)" .C_WITH_ERRORS = "mit Fehlern" - CASE VERSION(3) == '33' && French (Francés) + CASE tcLanguage == '33' && French (Francés) *------------------------------------------------------------------------------------------------------------------------------------------- *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( *------------------------------------------------------------------------------------------------------------------------------------------- - .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* and ? extensions are not allowed because it's dangerous (binaries can be overwritten with xx2 empty files)" - .C_BACKLINK_CANT_UPDATE_BL_LOC = "Could not update backlink" - .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 [<>] because it is ReadOnly" - .C_CONFIGFILE_LOC = "Using configuration file:" - .C_CONVERSION_CANCELLED_BY_USER = "Conversion Cancelled by the user" - .C_CONVERTER_UNLOAD_LOC = "Converter unload" - .C_CONVERTING_FILE_LOC = "Converting file" - .C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Data Error: Can't parse because of unpaired double-quotes on line <>" - .C_DUPLICATED_FILE_LOC = "Duplicated file" - .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Cannot find end marker [ENDDEFINE] of line <> for ID [<>]" - .C_END_MARKER_NOT_FOUND_LOC = "Cannot find end marker [<>] that closes start marker [<>] on line <>" - .C_END_OF_PROCESS_LOC = "End of Process" + .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* Et ? extensions ne sont pas autorisées car il est dangereux (binaires peuvent ętre remplacés par des fichiers vides de XX2)" + .C_BACKLINK_CANT_UPDATE_BL_LOC = "Impossible de mettre ŕ jour backlink" + .C_BACKLINK_OF_TABLE_LOC = "de la table" + .C_BACKUP_OF_LOC = "Faire de sauvegarde des: " + .C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "Vous ne pouvez pas générer un fichier [<>] car il est en lecture seule" + .C_CONFIGFILE_LOC = "Utilisation du fichier de configuration:" + .C_CONVERSION_CANCELLED_BY_USER = "Conversion Annulé par l'utilisateur" + .C_CONVERTER_UNLOAD_LOC = "Convertisseur déchargement" + .C_CONVERTING_FILE_LOC = "Conversion de fichiers" + .C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Erreur de données: ne peut pas analyser en raison de guillemets non appariés en ligne <>" + .C_DUPLICATED_FILE_LOC = "fichier dupliqué" + .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Vous ne trouvez pas marqueur de fin [ENDDEFINE] de la ligne <> ID [<>]" + .C_END_MARKER_NOT_FOUND_LOC = "Vous ne trouvez pas fin marqueur [<>] qui ferme marqueur de début [<>] en ligne <>" + .C_END_OF_PROCESS_LOC = "Fin du processus" .C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:" - .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "External class count (<>) does not match found classes (<>) for file [<>]" - .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "External class [<>] is not found in file [<>]" - .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Field [<>] not found in structure of file <>" - .C_FILE_DOESNT_EXIST_LOC = "File does not exist:" - .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] is not supported" - .C_FILE_NOT_FOUND_LOC = "File not found" - .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERROR!!" + .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "Nombre de classe externe (<>) ne correspond pas classes trouvées (<>) pour le fichier [<>]" + .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "Classe externe [<>] est introuvable dans le fichier [<>]" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Champ [<< laProps (I) >>] ne trouve pas dans la structure du fichier DBF <<('TABLABIN')>>" + .C_FILE_DOESNT_EXIST_LOC = "Fichier ne existe pas:" + .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] ne est pas supporté" + .C_FILE_NOT_FOUND_LOC = "Fichier introuvable" + .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERREUR!!" .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; - + "Example of generating TXT from all VCX in 'c:\development\classes', without showing error window and generating LOG file: " + CR_LF ; + + "Exemple pour générer TXT de tous VCX dans 'c:\development\classes', sans montrer la fenętre d'erreur et générer fichier LOG: " + CR_LF ; + " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; - + "Example of generating TXT from all VCX is 'c:\development\classes', without showing error window and without LOG file: " + CR_LF ; + + "Exemple pour générer TXT de tous VCX est 'c:\development\classes', sans montrant fenętre d'erreur et sans fichier LOG: " + CR_LF ; + " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'" - .C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG is only for Visual FoxPro 9.0!" - .C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNING!" - .C_LANGUAGE_LOC = "EN" - .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU '<>'" - .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Names capitalization program [<>] found" - .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Names capitalization program [<>] not found" - .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<>] does not contain oReg object (level <>)" - .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operation not recognized. Only SETNAME and GETNAME allowed." - .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimization: Output file [<>] was not overwritten because it is the same as was generated." - .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimization: Output file [<>] 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. [<>, Recno:<>]" - .C_PROCESSING_LOC = "Processing file" - .C_PROCESS_PROGRESS_LOC = "Process Progress:" - .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Property [<>] is not recognized." - .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY REPORT '<>'" - .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Requesting capitalization of file [<>]" - .C_SCANNING_FILE_AND_DIR_INFO = "Scanning file and directory information for" - .C_SOURCEFILE_LOC = "Source file: " - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" - .C_UNKNOWN_CLASS_NAME_LOC = "Unknown class [<>]" - .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 <>.campo tag keyname)" - .C_WITH_ERRORS = "with errors" + .C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG est seulement pour Visual FoxPro 9.0!" + .C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: AVERTISSEMENT!" + .C_LANGUAGE_LOC = "FR" + .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] ne est pas dans VFP 9 Format! - Se il vous plaît se convertir ŕ VFP 9 avec MODIFY MENU '<>'" + .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Programme des noms de capitalisation [<>] trouvé" + .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Programme des noms de capitalisation [<>] introuvables" + .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<>] ne contient pas l'objet oReg (niveau <>)" + .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Opération non reconnu. Seulement SETNAME et GETNAME permis." + .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimisation: fichier de sortie [<< THIS.c_OutputFile >>] ne était pas écrasé parce que ce est la męme que celle générée." + .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimisation: fichier de sortie [<< THIS.c_OutputFile >>] n'a pas été régénéré car il est plus récent que le fichier d'entrée." + .C_PRESS_ESC_TO_CANCEL = "Appuyez sur Esc pour Annuler" + .C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procédure pas fermé. Derničre ligne de code doit ętre ENDPROC. [<>, Recno:<>]" + .C_PROCESSING_LOC = "Traitement du fichier" + .C_PROCESS_PROGRESS_LOC = "Processus Progrčs:" + .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Propriété [<>] ne est pas reconnu." + .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Rapport [<>] ne est pas dans VFP 9 Format! - Se il vous plaît se convertir ŕ VFP 9 avec MODIFY REPORT '<>'" + .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Demande de capitalisation de fichier [<>]" + .C_SCANNING_FILE_AND_DIR_INFO = "Fichier de numérisation et de l'information de répertoire pour" + .C_SOURCEFILE_LOC = "Fichier source: " + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting erreur de structure. ENDPROC prévu, mais a trouvé ENDDEFINE sur la classe <> (<>), ligne <> du fichier <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting erreur de structure. ENDPROC attendue, mais ENDDEFINE sur la classe <> (<>.<>), ligne <> du fichier <>" + .C_UNKNOWN_CLASS_NAME_LOC = "Classe inconnue[<>]" + .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ÉS!! (exemple: index on <>.campo tag keyname)" + .C_WITH_ERRORS = "avec des erreurs" ENDCASE ENDWITH && THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' From fd4284f9c09cd856eb9332559a79729aea5f82af Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Sat, 6 Dec 2014 01:09:09 +0100 Subject: [PATCH 4/5] =?UTF-8?q?Changeset:=20546=20fdbozzo=20-=2006/12/2014?= =?UTF-8?q?=2000:54:26:=20-=20Nuevo:=20Selecci=C3=B3n=20autom=C3=A1tica=20?= =?UTF-8?q?de=20lenguaje=20/=20Nuevo=20m=C3=A9todo=20ChangeLanguage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.prg | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 36b1192..7d2a0ff 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -118,6 +118,7 @@ * 30/11/2014 FDBOZZO v1.19.37 Mejora: Se puede cancelar el proceso con la tecla Esc * 30/11/2014 FDBOZZO v1.19.37 Mejora: Agregado control para detectar reportes no compatibles con VFP 9 * 04/12/2014 FDBOZZO v1.19.38 Mejora: Permitir hacer conversiones masivas bin2prg y prg2bin sin los scripts vbs (Francisco Prieto) +* 06/12/2014 FDBOZZO v1.19.38 Mejora: Rediseńo de la Internacionalización. Ahora la selección es automática al cargar y no requiere recompilar. * * *--------------------------------------------------------------------------------------------------- @@ -478,6 +479,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -633,7 +635,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ON ESCAPE ERROR 1799 SET ESCAPE ON - _SCREEN.AddProperty( "o_FoxBin2Prg_Lang", CREATEOBJECT("CL_LANG") ) + THIS.ChangeLanguage() lcSys16 = SYS(16) IF LEFT(lcSys16,10) == 'PROCEDURE ' @@ -642,9 +644,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM lnPosProg = 1 ENDIF + *-- Localized properties THIS.c_Language = _SCREEN.o_FoxBin2Prg_Lang.C_LANGUAGE_LOC THIS.c_loc_processing_file = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESSING_LOC THIS.c_loc_process_progress = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESS_PROGRESS_LOC + *-- THIS.c_Foxbin2prg_FullPath = SUBSTR( lcSys16, lnPosProg ) THIS.c_Foxbin2prg_ConfigFile = FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'CFG' ) THIS.c_CurDir = SYS(5) + CURDIR() @@ -1660,6 +1664,16 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDFUNC + PROCEDURE ChangeLanguage + LPARAMETERS tcLanguageId + _SCREEN.AddProperty( "o_FoxBin2Prg_Lang", CREATEOBJECT("CL_LANG", tcLanguageId) ) + *-- Localized properties + THIS.c_Language = _SCREEN.o_FoxBin2Prg_Lang.C_LANGUAGE_LOC + THIS.c_loc_processing_file = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESSING_LOC + THIS.c_loc_process_progress = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESS_PROGRESS_LOC + ENDPROC + + PROCEDURE Get_Ext2FromExt LPARAMETERS tcExt LOCAL lcExt2 From 0e1a0717453d0792116630ef630d140a30a566e9 Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Sat, 6 Dec 2014 03:06:16 +0100 Subject: [PATCH 5/5] =?UTF-8?q?Changeset:=20547=20fdbozzo=20-=2006/12/2014?= =?UTF-8?q?=2001:09:10:=20-=20Mejora=20en=20selecci=C3=B3n=20autom=C3=A1ti?= =?UTF-8?q?ca=20de=20lenguaje,=20selecci=C3=B3n=20manual=20y=20selecci?= =?UTF-8?q?=C3=B3n=20mediante=20lectura=20de=20foxbin2prg.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.prg | 544 +++++++++++++++++++++++++++--------------------- foxbin2prg_de.h | 11 +- foxbin2prg_en.h | 11 +- 3 files changed, 318 insertions(+), 248 deletions(-) diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 7d2a0ff..56262d4 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -704,6 +704,16 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDPROC + PROCEDURE ChangeLanguage + LPARAMETERS tcLanguageId + _SCREEN.AddProperty( "o_FoxBin2Prg_Lang", CREATEOBJECT("CL_LANG", tcLanguageId) ) + *-- Localized properties + THIS.c_Language = _SCREEN.o_FoxBin2Prg_Lang.C_LANGUAGE_LOC + THIS.c_loc_processing_file = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESSING_LOC + THIS.c_loc_process_progress = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESS_PROGRESS_LOC + ENDPROC + + FUNCTION get_l_ConfigEvaluated RETURN THIS.l_ConfigEvaluated ENDFUNC @@ -1664,16 +1674,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDFUNC - PROCEDURE ChangeLanguage - LPARAMETERS tcLanguageId - _SCREEN.AddProperty( "o_FoxBin2Prg_Lang", CREATEOBJECT("CL_LANG", tcLanguageId) ) - *-- Localized properties - THIS.c_Language = _SCREEN.o_FoxBin2Prg_Lang.C_LANGUAGE_LOC - THIS.c_loc_processing_file = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESSING_LOC - THIS.c_loc_process_progress = _SCREEN.o_FoxBin2Prg_Lang.C_PROCESS_PROGRESS_LOC - ENDPROC - - PROCEDURE Get_Ext2FromExt LPARAMETERS tcExt LOCAL lcExt2 @@ -2147,12 +2147,12 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM DO CASE CASE lnCodError = 1799 && Conversion Cancelled - MESSAGEBOX( loLang.C_CONVERSION_CANCELLED_BY_USER + '!', 0+48+4096, 'FoxBin2Prg', 60000 ) + MESSAGEBOX( loLang.C_CONVERSION_CANCELLED_BY_USER_LOC + '!', 0+48+4096, 'FoxBin2Prg', 60000 ) STRTOFILE( THIS.c_ErrorLog, lcErrorFile ) loWSH.Run( lcErrorFile, 1, .F. ) CASE THIS.l_Error - MESSAGEBOX( loLang.C_END_OF_PROCESS_LOC + '! (' + loLang.C_WITH_ERRORS + ')', 0+48+4096, 'FoxBin2Prg', 60000 ) + MESSAGEBOX( loLang.C_END_OF_PROCESS_LOC + '! (' + loLang.C_WITH_ERRORS_LOC + ')', 0+48+4096, 'FoxBin2Prg', 60000 ) STRTOFILE( THIS.c_ErrorLog, lcErrorFile ) loWSH.Run( lcErrorFile, 1, .F. ) @@ -2702,7 +2702,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM IF DIRECTORY(tcDir) loLang = _SCREEN.o_FoxBin2Prg_Lang - THIS.AvanceDelProceso( loLang.C_SCANNING_FILE_AND_DIR_INFO + ' ' + tcDir + '...', 0, 0, 0 ) + THIS.AvanceDelProceso( loLang.C_SCANNING_FILE_AND_DIR_INFO_LOC + ' ' + tcDir + '...', 0, 0, 0 ) lnFiles = ADIR( laFiles, tcDir + '*.*', 'D', 1) *-- Busco los archivos @@ -6697,11 +6697,11 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base DO CASE CASE toModulo._ExternalClasses_Count = 0 AND toModulo._ExternalClasses_Count <> toModulo._Clases_Count *ERROR 'El conteo de clases externas (' + TRANSFORM(toModulo._ExternalClasses_Count) + ') no coincide con la cantidad encontrada (' + TRANSFORM(toModulo._Clases_Count) + ') en el archivo [' + toFoxBin2Prg.c_InputFile + ']' - ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES)) + ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC)) CASE toModulo._Clases_Count =0 AND toModulo._ExternalClasses_Count <> toModulo._Clases_Count *ERROR 'El conteo de clases externas (' + TRANSFORM(toModulo._ExternalClasses_Count) + ') no coincide con la cantidad encontrada (' + TRANSFORM(toModulo._Clases_Count) + ') en el archivo [' + toFoxBin2Prg.c_InputFile + ']' - ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES)) + ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC)) *CASE toModulo._ExternalClasses_Count <> toModulo._Clases_Count THEN ENDCASE @@ -6718,7 +6718,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF lnItem = 0 THEN *ERROR 'No se ha encontrado la clase externa [' + toModulo._ExternalClasses(I) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']' - ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND)) + ERROR (TEXTMERGE(loLang.C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND_LOC)) ENDIF toModulo._Clases(lnItem)._Checked = .T. @@ -21429,244 +21429,312 @@ ENDDEFINE DEFINE CLASS CL_LANG AS Custom + _MEMBERDATA = [] ; + + [] ; + + [] + + #IF .F. + LOCAL THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' + #ENDIF + + n_LanguageSelectedMethod = 0 && 0=Automatic by version(3) + *-- Spanish (Espańol) *------------------------------------------------------------------------------------------------------------------------------------------- *-- NOTA: SE DEBEN USAR COMILLAS DOBLES, O ERRORES DE SINTAXIS OCURREN AL COMPILAR. EXTRAŃO :( *------------------------------------------------------------------------------------------------------------------------------------------- - C_ASTERISK_EXT_NOT_ALLOWED_LOC = "No se admiten extensiones * o ? porque es peligroso (se pueden pisar binarios con archivo xx2 vacíos)." - C_BACKLINK_CANT_UPDATE_BL_LOC = "No se pudo actualizar el backlink" - C_BACKLINK_OF_TABLE_LOC = "de la tabla" - C_BACKUP_OF_LOC = "Haciendo Backup de: " - C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "No se puede generar el archivo [<>] porque es ReadOnly" - C_CONFIGFILE_LOC = "Usando archivo de configuración:" - C_CONVERTER_UNLOAD_LOC = "Descarga del conversor" - C_CONVERTING_FILE_LOC = "Convirtiendo archivo" - C_CONVERSION_CANCELLED_BY_USER = "Conversión Cancelada por el usuario" - C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Error de datos: No se puede parsear porque las comillas no son pares en la línea <>" - C_DUPLICATED_FILE_LOC = "Archivo duplicado" - C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "No se ha encontrado el marcador de fin [ENDDEFINE] de la línea <> para el identificador [<>]" - C_END_MARKER_NOT_FOUND_LOC = "No se ha encontrado el marcador de fin [<>] que cierra al marcador de inicio [<>] de la línea <>" - C_END_OF_PROCESS_LOC = "Fin del Proceso" - C_EXTENSION_RECONFIGURATION_LOC = "Reconfiguración de extensión:" - C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "El conteo de clases externas (<>) no coincide con la cantidad encontrada (<>) para el archivo [<>]" - C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "No se ha encontrado la clase externa [<>] del archivo [<>]" - C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "No se encontró el campo [<>] en la estructura del archivo <>" - C_FILE_DOESNT_EXIST_LOC = "El archivo no existe:" - C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "El archivo [<<.c_InputFile>>] no está soportado" - C_FILE_NOT_FOUND_LOC = "No se encontró el archivo" - C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERROR!!" - C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: INFORMACIÓN DE SINTAXIS" - C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cNoMostrarErrores ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + C_ASTERISK_EXT_NOT_ALLOWED_LOC = "No se admiten extensiones * o ? porque es peligroso (se pueden pisar binarios con archivo xx2 vacíos)." + C_BACKLINK_CANT_UPDATE_BL_LOC = "No se pudo actualizar el backlink" + C_BACKLINK_OF_TABLE_LOC = "de la tabla" + C_BACKUP_OF_LOC = "Haciendo Backup de: " + C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "No se puede generar el archivo [<>] porque es ReadOnly" + C_CONFIGFILE_LOC = "Usando archivo de configuración:" + C_CONVERTER_UNLOAD_LOC = "Descarga del conversor" + C_CONVERTING_FILE_LOC = "Convirtiendo archivo" + C_CONVERSION_CANCELLED_BY_USER_LOC = "Conversión Cancelada por el usuario" + C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Error de datos: No se puede parsear porque las comillas no son pares en la línea <>" + C_DUPLICATED_FILE_LOC = "Archivo duplicado" + C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "No se ha encontrado el marcador de fin [ENDDEFINE] de la línea <> para el identificador [<>]" + C_END_MARKER_NOT_FOUND_LOC = "No se ha encontrado el marcador de fin [<>] que cierra al marcador de inicio [<>] de la línea <>" + C_END_OF_PROCESS_LOC = "Fin del Proceso" + C_EXTENSION_RECONFIGURATION_LOC = "Reconfiguración de extensión:" + C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "El conteo de clases externas (<>) no coincide con la cantidad encontrada (<>) para el archivo [<>]" + C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND_LOC = "No se ha encontrado la clase externa [<>] del archivo [<>]" + C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "No se encontró el campo [<>] en la estructura del archivo <>" + C_FILE_DOESNT_EXIST_LOC = "El archivo no existe:" + C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "El archivo [<<.c_InputFile>>] no está soportado" + C_FILE_NOT_FOUND_LOC = "No se encontró el archivo" + C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERROR!!" + C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: INFORMACIÓN DE SINTAXIS" + C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cNoMostrarErrores ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + "Ejemplo para generar los TXT de todos los VCX de 'c:\desa\clases', sin mostrar ventana de error y generando archivo LOG: " + CR_LF ; + " FOXBIN2PRG 'c:\desa\clases\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; + "Ejemplo para generar los VCX de todos los TXT de 'c:\desa\clases', sin mostrar ventana de error y sin LOG: " + CR_LF ; + " FOXBIN2PRG 'c:\desa\clases\*.vc2' '0' '0' '0' '1' '0'" - C_FOXBIN2PRG_JUST_VFP_9_LOC = "ˇFOXBIN2PRG es solo para Visual FoxPro 9.0!" - C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: ˇATENCIÓN!" - C_MENU_NOT_IN_VFP9_FORMAT_LOC = "El Menú [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY MENU '<>'" - C_LANGUAGE_LOC = "ES" - C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Se ha encontrado el programa de capitalización de nombres [<>]" - C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* No se ha encontrado el programa de capitalización de nombres [<>]" - C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objeto [<>] no contiene el objeto oReg (nivel <>)" - C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operación no reconocida. Solo re reconoce SETNAME y GETNAME." - C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimización: El archivo de salida [<>] no se sobreescribe por ser igual al generado." - C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimización: El archivo de salida [<>] 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 última línea de código debe ser ENDPROC. [<>, Recno:<>]" - C_PROCESSING_LOC = "Procesando archivo" - C_PROCESS_PROGRESS_LOC = "Avance del proceso:" - C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Propiedad [<>] no reconocida." - C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "El Reporte [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY REPORT '<>'" - C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Solicitado capitalizar el archivo [<>]" - C_SCANNING_FILE_AND_DIR_INFO = "Escaneando archivos e información de directorio para" - C_SOURCEFILE_LOC = "Archivo origen: " - C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>), línea <> del archivo <>" - C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>.<>), línea <> del archivo <>" - C_UNKNOWN_CLASS_NAME_LOC = "Clase [<>] desconocida" - C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "ˇˇATENCIÓN!!" + CR_LF+ "ASEGÚRESE DE QUE NO ESTÁ USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS ÍNDICES!! (ej: index on <>.campo tag nombreclave)" - C_WITH_ERRORS = "con errores" + C_FOXBIN2PRG_JUST_VFP_9_LOC = "ˇFOXBIN2PRG es solo para Visual FoxPro 9.0!" + C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: ˇATENCIÓN!" + C_MENU_NOT_IN_VFP9_FORMAT_LOC = "El Menú [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY MENU '<>'" + C_LANGUAGE_LOC = "ES" + C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Se ha encontrado el programa de capitalización de nombres [<>]" + C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* No se ha encontrado el programa de capitalización de nombres [<>]" + C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objeto [<>] no contiene el objeto oReg (nivel <>)" + C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operación no reconocida. Solo re reconoce SETNAME y GETNAME." + C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimización: El archivo de salida [<>] no se sobreescribe por ser igual al generado." + C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimización: El archivo de salida [<>] 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 última línea de código debe ser ENDPROC. [<>, Recno:<>]" + C_PROCESSING_LOC = "Procesando archivo" + C_PROCESS_PROGRESS_LOC = "Avance del proceso:" + C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Propiedad [<>] no reconocida." + C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "El Reporte [<>] NO está en formato VFP 9! - Por favor convertirlo a VFP 9 con MODIFY REPORT '<>'" + C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Solicitado capitalizar el archivo [<>]" + C_SCANNING_FILE_AND_DIR_INFO_LOC = "Escaneando archivos e información de directorio para" + C_SOURCEFILE_LOC = "Archivo origen: " + C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>), línea <> del archivo <>" + C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>.<>), línea <> del archivo <>" + C_UNKNOWN_CLASS_NAME_LOC = "Clase [<>] desconocida" + C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "ˇˇATENCIÓN!!" + CR_LF+ "ASEGÚRESE DE QUE NO ESTÁ USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS ÍNDICES!! (ej: index on <>.campo tag nombreclave)" + C_WITH_ERRORS_LOC = "con errores" PROCEDURE INIT LPARAMETERS tcLanguage - - tcLanguage = EVL(tcLanguage, VERSION(3)) - WITH THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' - DO CASE - CASE tcLanguage == '00' && English (Inglés) - *------------------------------------------------------------------------------------------------------------------------------------------- - *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( - *------------------------------------------------------------------------------------------------------------------------------------------- - .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* and ? extensions are not allowed because it's dangerous (binaries can be overwritten with xx2 empty files)" - .C_BACKLINK_CANT_UPDATE_BL_LOC = "Could not update backlink" - .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 [<>] because it is ReadOnly" - .C_CONFIGFILE_LOC = "Using configuration file:" - .C_CONVERSION_CANCELLED_BY_USER = "Conversion Cancelled by the user" - .C_CONVERTER_UNLOAD_LOC = "Converter unload" - .C_CONVERTING_FILE_LOC = "Converting file" - .C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Data Error: Can't parse because of unpaired double-quotes on line <>" - .C_DUPLICATED_FILE_LOC = "Duplicated file" - .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Cannot find end marker [ENDDEFINE] of line <> for ID [<>]" - .C_END_MARKER_NOT_FOUND_LOC = "Cannot find end marker [<>] that closes start marker [<>] on line <>" - .C_END_OF_PROCESS_LOC = "End of Process" - .C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:" - .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "External class count (<>) does not match found classes (<>) for file [<>]" - .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "External class [<>] is not found in file [<>]" - .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Field [<>] not found in structure of file <>" - .C_FILE_DOESNT_EXIST_LOC = "File does not exist:" - .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] is not supported" - .C_FILE_NOT_FOUND_LOC = "File not found" - .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERROR!!" - .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" - .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; - + "Example of generating TXT from all VCX in 'c:\development\classes', without showing error window and generating LOG file: " + CR_LF ; - + " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; - + "Example of generating TXT from all VCX is 'c:\development\classes', without showing error window and without LOG file: " + CR_LF ; - + " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'" - .C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG is only for Visual FoxPro 9.0!" - .C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNING!" - .C_LANGUAGE_LOC = "EN" - .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU '<>'" - .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Names capitalization program [<>] found" - .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Names capitalization program [<>] not found" - .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<>] does not contain oReg object (level <>)" - .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operation not recognized. Only SETNAME and GETNAME allowed." - .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimization: Output file [<>] was not overwritten because it is the same as was generated." - .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimization: Output file [<>] 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. [<>, Recno:<>]" - .C_PROCESSING_LOC = "Processing file" - .C_PROCESS_PROGRESS_LOC = "Process Progress:" - .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Property [<>] is not recognized." - .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY REPORT '<>'" - .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Requesting capitalization of file [<>]" - .C_SCANNING_FILE_AND_DIR_INFO = "Scanning file and directory information for" - .C_SOURCEFILE_LOC = "Source file: " - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" - .C_UNKNOWN_CLASS_NAME_LOC = "Unknown class [<>]" - .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 <>.campo tag keyname)" - .C_WITH_ERRORS = "with errors" + TRY + LOCAL lcSys16, lnPosProg, lc_Foxbin2prg_FullPath, lc_Foxbin2prg_LangFile, laDir(1,5) ; + , llLangFileExists, lcLangStr ; + , loEx as Exception - CASE tcLanguage == '49' && German (Alemán) - *------------------------------------------------------------------------------------------------------------------------------------------- - *-- NOTE: ES MÜSSEN ANFÜHRUNGSZEICHEN BENUTZT WERDEN, ODER SYNTAX ERRORS PASSIEREN BEIM COMPILE. SELTSAM :( - *------------------------------------------------------------------------------------------------------------------------------------------- - .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* und ? Erweiterungen sind nicht erlaubt, da es gefährlich ist (binaries könnten überschrieben werden mit xx2 leeren Dateien)" - .C_BACKLINK_CANT_UPDATE_BL_LOC = "Backlink kann nicht geupdated 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 [<>] nicht generieren da sie Schreibgeschützt ist" - .C_CONFIGFILE_LOC = "Benutze Konfigurationsdatei:" - .C_CONVERSION_CANCELLED_BY_USER = "Konvertierung durch den Benutzer abgebrochen" - .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ührungszeichen in Zeile <>" - .C_DUPLICATED_FILE_LOC = "Doppelte Datei" - .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Kann keinen Ende Marker [ENDDEFINE] in Zeile <> für die ID [<>] finden" - .C_END_MARKER_NOT_FOUND_LOC = "Kann keinen Ende Marker [<>] welcher den Start Marker [<>] in Zeile <> schließt" - .C_END_OF_PROCESS_LOC = "Ende der Prozess" - .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Feld [<>] nicht in der Struktur von Datei <> gefunden" - .C_FILE_DOESNT_EXIST_LOC = "Datei existiert nicht:" - .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "Datei [<<.c_InputFile>>] wird nicht unterstützt" - .C_FILE_NOT_FOUND_LOC = "Datei nicht gefunden" - .C_EXTENSION_RECONFIGURATION_LOC = "Erweiterungsneukonfiguration:" - .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "Externe Klassenzahl (<< toModulo._ExternalClasses_Count >>) nicht gefunden Klassen entsprechen (<< toModulo._Clases_Count >>) für Datei [<< toFoxBin2Prg.c_InputFile >>]" - .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "Externe Klasse (<>) nicht in der Datei [<>] gefunden" - .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: FEHLER!!" - .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" - .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; - + "Ein Beispiel für die Generierung der TXT von allen VCX in 'c:\development\classes', ohne Anzeige des Fehlerfensters und Generierung der LOG Datei: " + CR_LF ; - + " 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_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNUNG!" - .C_LANGUAGE_LOC = "DE" - .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY MENU '<>'" - .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Programm für Großschreibungssetzung [<>] gefunden" - .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Programm für Großschreibungssetzung [<>] nicht gefunden" - .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objekt [<>] enthält nicht oReg Objekt (level <>)" - .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Befehl nicht erkannt. Nur SETNAME und GETNAME erlaubt." - .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimierung: Ausgabedatei [<>] wurde nicht überschrieben da sie dieselbe ist wie die neu generierte." - .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimierung: Ausgabedatei [<>] wurde nicht erneuert da sie neuer ist als die Ursprungsdatei." - .C_PRESS_ESC_TO_CANCEL = "Drücken Sie Esc für Abbrechen" - .C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procedur nicht geschlossen. Letzte Zeile des Codes muss ENDPROC sein. [<>, Recno:<>]" - .C_PROCESSING_LOC = "Bearbeite Datei" - .C_PROCESS_PROGRESS_LOC = "Bearbeitungsfortschritt:" - .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Eigenschaft [<>] nicht erkannt." - .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY REPORT '<>'" - .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Forder Großschreibung für Datei [<>] an" - .C_SCANNING_FILE_AND_DIR_INFO = "Scannen Datei- und Verzeichnisinformationen für" - .C_SOURCEFILE_LOC = "Source Datei: " - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <> (<>), Zeile <> der Datei <> gefunden" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <> (<>.<>), Zeile <> der Datei <> gefunden" - .C_UNKNOWN_CLASS_NAME_LOC = "Unbekannte Klasse [<>]" - .C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNUNG!!" + CR_LF+ "SICHERSTELLEN DAS KEIN TABELLENALIAS IN DEM INDEXAUSDRUCK BENUTZT WIRD!! (z.B.: index on <>.campo tag keyname)" - .C_WITH_ERRORS = "mit Fehlern" + WITH THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' + *-- El lenguaje pasado por parámetro prevalece sobre el existente. + tcLanguage = EVL(tcLanguage,'') - CASE tcLanguage == '33' && French (Francés) - *------------------------------------------------------------------------------------------------------------------------------------------- - *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( - *------------------------------------------------------------------------------------------------------------------------------------------- - .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* Et ? extensions ne sont pas autorisées car il est dangereux (binaires peuvent ętre remplacés par des fichiers vides de XX2)" - .C_BACKLINK_CANT_UPDATE_BL_LOC = "Impossible de mettre ŕ jour backlink" - .C_BACKLINK_OF_TABLE_LOC = "de la table" - .C_BACKUP_OF_LOC = "Faire de sauvegarde des: " - .C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "Vous ne pouvez pas générer un fichier [<>] car il est en lecture seule" - .C_CONFIGFILE_LOC = "Utilisation du fichier de configuration:" - .C_CONVERSION_CANCELLED_BY_USER = "Conversion Annulé par l'utilisateur" - .C_CONVERTER_UNLOAD_LOC = "Convertisseur déchargement" - .C_CONVERTING_FILE_LOC = "Conversion de fichiers" - .C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Erreur de données: ne peut pas analyser en raison de guillemets non appariés en ligne <>" - .C_DUPLICATED_FILE_LOC = "fichier dupliqué" - .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Vous ne trouvez pas marqueur de fin [ENDDEFINE] de la ligne <> ID [<>]" - .C_END_MARKER_NOT_FOUND_LOC = "Vous ne trouvez pas fin marqueur [<>] qui ferme marqueur de début [<>] en ligne <>" - .C_END_OF_PROCESS_LOC = "Fin du processus" - .C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:" - .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES = "Nombre de classe externe (<>) ne correspond pas classes trouvées (<>) pour le fichier [<>]" - .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND = "Classe externe [<>] est introuvable dans le fichier [<>]" - .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Champ [<< laProps (I) >>] ne trouve pas dans la structure du fichier DBF <<('TABLABIN')>>" - .C_FILE_DOESNT_EXIST_LOC = "Fichier ne existe pas:" - .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] ne est pas supporté" - .C_FILE_NOT_FOUND_LOC = "Fichier introuvable" - .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERREUR!!" - .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" - .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; - + "Exemple pour générer TXT de tous VCX dans 'c:\development\classes', sans montrer la fenętre d'erreur et générer fichier LOG: " + CR_LF ; - + " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; - + "Exemple pour générer TXT de tous VCX est 'c:\development\classes', sans montrant fenętre d'erreur et sans fichier LOG: " + CR_LF ; - + " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'" - .C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG est seulement pour Visual FoxPro 9.0!" - .C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: AVERTISSEMENT!" - .C_LANGUAGE_LOC = "FR" - .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] ne est pas dans VFP 9 Format! - Se il vous plaît se convertir ŕ VFP 9 avec MODIFY MENU '<>'" - .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Programme des noms de capitalisation [<>] trouvé" - .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Programme des noms de capitalisation [<>] introuvables" - .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<>] ne contient pas l'objet oReg (niveau <>)" - .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Opération non reconnu. Seulement SETNAME et GETNAME permis." - .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimisation: fichier de sortie [<< THIS.c_OutputFile >>] ne était pas écrasé parce que ce est la męme que celle générée." - .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimisation: fichier de sortie [<< THIS.c_OutputFile >>] n'a pas été régénéré car il est plus récent que le fichier d'entrée." - .C_PRESS_ESC_TO_CANCEL = "Appuyez sur Esc pour Annuler" - .C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procédure pas fermé. Derničre ligne de code doit ętre ENDPROC. [<>, Recno:<>]" - .C_PROCESSING_LOC = "Traitement du fichier" - .C_PROCESS_PROGRESS_LOC = "Processus Progrčs:" - .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Propriété [<>] ne est pas reconnu." - .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Rapport [<>] ne est pas dans VFP 9 Format! - Se il vous plaît se convertir ŕ VFP 9 avec MODIFY REPORT '<>'" - .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Demande de capitalisation de fichier [<>]" - .C_SCANNING_FILE_AND_DIR_INFO = "Fichier de numérisation et de l'information de répertoire pour" - .C_SOURCEFILE_LOC = "Fichier source: " - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting erreur de structure. ENDPROC prévu, mais a trouvé ENDDEFINE sur la classe <> (<>), ligne <> du fichier <>" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting erreur de structure. ENDPROC attendue, mais ENDDEFINE sur la classe <> (<>.<>), ligne <> du fichier <>" - .C_UNKNOWN_CLASS_NAME_LOC = "Classe inconnue[<>]" - .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ÉS!! (exemple: index on <>.campo tag keyname)" - .C_WITH_ERRORS = "avec des erreurs" + IF EMPTY(tcLanguage) + *-- Reconocer archivo de idioma foxbin2prg.h + lcSys16 = SYS(16) + IF LEFT(lcSys16,10) == 'PROCEDURE ' + lnPosProg = AT(" ", lcSys16, 2) + 1 + ELSE + lnPosProg = 1 + ENDIF - ENDCASE - ENDWITH && THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' + lc_Foxbin2prg_FullPath = SUBSTR( lcSys16, lnPosProg ) + lc_Foxbin2prg_LangFile = FORCEEXT( lc_Foxbin2prg_FullPath, 'H' ) + llLangFileExists = ( ADIR( laDir, lc_Foxbin2prg_LangFile ) = 1 ) + ELSE + .n_LanguageSelectedMethod = 1 && 1=Assigned by Parameter + ENDIF + + IF llLangFileExists + TRY + *-- Language file "foxbin2prg.h" will be loaded (slowest option) + lcLangStr = 'LPARAMETERS toLangObj' + CR_LF + FILETOSTR( lc_Foxbin2prg_LangFile ) + + IF ATC( '', lcLangStr ) = 0 THEN + *-- El archivo es antiguo + ERROR "Archivo FoxBin2Prg.h antiguo" && Da igual el error + ENDIF + + lcLangStr = STRTRAN( lcLangStr, '#DEFINE ', 'toLangObj.' ) + lcLangStr = STRTRAN( lcLangStr, '_LOC', '_LOC =', -1, -1, 2 ) + lcLangStr = STRTRAN( lcLangStr, 'CR_LF', 'CHR(13)+CHR(10)' ) + EXECSCRIPT( lcLangStr, THIS ) + + CATCH TO loEx + *-- El archivo es antiguo o tiene errores + TRY + llLangFileExists = .F. + tcLanguage = VERSION(3) + .n_LanguageSelectedMethod = 0 && 0=Automatic with VERSION(3) + RENAME (lc_Foxbin2prg_LangFile) TO (FORCEEXT(lc_Foxbin2prg_LangFile, 'invalid')) + CATCH && No quiero errores por RENAME + ENDTRY + + ENDTRY + ENDIF + + DO CASE + CASE llLangFileExists + *-- Ya se cargó + .n_LanguageSelectedMethod = 2 && 2=Loaded from foxbin2prg.h + + CASE tcLanguage == '00' && English (Inglés) + *------------------------------------------------------------------------------------------------------------------------------------------- + *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( + *------------------------------------------------------------------------------------------------------------------------------------------- + .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* and ? extensions are not allowed because it's dangerous (binaries can be overwritten with xx2 empty files)" + .C_BACKLINK_CANT_UPDATE_BL_LOC = "Could not update backlink" + .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 [<>] because it is ReadOnly" + .C_CONFIGFILE_LOC = "Using configuration file:" + .C_CONVERSION_CANCELLED_BY_USER_LOC = "Conversion Cancelled by the user" + .C_CONVERTER_UNLOAD_LOC = "Converter unload" + .C_CONVERTING_FILE_LOC = "Converting file" + .C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Data Error: Can't parse because of unpaired double-quotes on line <>" + .C_DUPLICATED_FILE_LOC = "Duplicated file" + .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Cannot find end marker [ENDDEFINE] of line <> for ID [<>]" + .C_END_MARKER_NOT_FOUND_LOC = "Cannot find end marker [<>] that closes start marker [<>] on line <>" + .C_END_OF_PROCESS_LOC = "End of Process" + .C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:" + .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "External class count (<>) does not match found classes (<>) for file [<>]" + .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND_LOC = "External class [<>] is not found in file [<>]" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Field [<>] not found in structure of file <>" + .C_FILE_DOESNT_EXIST_LOC = "File does not exist:" + .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] is not supported" + .C_FILE_NOT_FOUND_LOC = "File not found" + .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERROR!!" + .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" + .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + + "Example of generating TXT from all VCX in 'c:\development\classes', without showing error window and generating LOG file: " + CR_LF ; + + " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; + + "Example of generating TXT from all VCX is 'c:\development\classes', without showing error window and without LOG file: " + CR_LF ; + + " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'" + .C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG is only for Visual FoxPro 9.0!" + .C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNING!" + .C_LANGUAGE_LOC = "EN" + .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU '<>'" + .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Names capitalization program [<>] found" + .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Names capitalization program [<>] not found" + .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<>] does not contain oReg object (level <>)" + .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Operation not recognized. Only SETNAME and GETNAME allowed." + .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimization: Output file [<>] was not overwritten because it is the same as was generated." + .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimization: Output file [<>] 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. [<>, Recno:<>]" + .C_PROCESSING_LOC = "Processing file" + .C_PROCESS_PROGRESS_LOC = "Process Progress:" + .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Property [<>] is not recognized." + .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY REPORT '<>'" + .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Requesting capitalization of file [<>]" + .C_SCANNING_FILE_AND_DIR_INFO_LOC = "Scanning file and directory information for" + .C_SOURCEFILE_LOC = "Source file: " + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" + .C_UNKNOWN_CLASS_NAME_LOC = "Unknown class [<>]" + .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 <>.campo tag keyname)" + .C_WITH_ERRORS_LOC = "with errors" + + CASE tcLanguage == '49' && German (Alemán) + *------------------------------------------------------------------------------------------------------------------------------------------- + *-- NOTE: ES MÜSSEN ANFÜHRUNGSZEICHEN BENUTZT WERDEN, ODER SYNTAX ERRORS PASSIEREN BEIM COMPILE. SELTSAM :( + *------------------------------------------------------------------------------------------------------------------------------------------- + .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* und ? Erweiterungen sind nicht erlaubt, da es gefährlich ist (binaries könnten überschrieben werden mit xx2 leeren Dateien)" + .C_BACKLINK_CANT_UPDATE_BL_LOC = "Backlink kann nicht geupdated 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 [<>] nicht generieren da sie Schreibgeschützt ist" + .C_CONFIGFILE_LOC = "Benutze Konfigurationsdatei:" + .C_CONVERSION_CANCELLED_BY_USER_LOC = "Konvertierung durch den Benutzer abgebrochen" + .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ührungszeichen in Zeile <>" + .C_DUPLICATED_FILE_LOC = "Doppelte Datei" + .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Kann keinen Ende Marker [ENDDEFINE] in Zeile <> für die ID [<>] finden" + .C_END_MARKER_NOT_FOUND_LOC = "Kann keinen Ende Marker [<>] welcher den Start Marker [<>] in Zeile <> schließt" + .C_END_OF_PROCESS_LOC = "Ende der Prozess" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Feld [<>] nicht in der Struktur von Datei <> gefunden" + .C_FILE_DOESNT_EXIST_LOC = "Datei existiert nicht:" + .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "Datei [<<.c_InputFile>>] wird nicht unterstützt" + .C_FILE_NOT_FOUND_LOC = "Datei nicht 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_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND_LOC = "Externe Klasse (<>) nicht in der Datei [<>] gefunden" + .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: FEHLER!!" + .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" + .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + + "Ein Beispiel für die Generierung der TXT von allen VCX in 'c:\development\classes', ohne Anzeige des Fehlerfensters und Generierung der LOG Datei: " + CR_LF ; + + " 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_WARN_CAPTION_LOC = "FOXBIN2PRG: WARNUNG!" + .C_LANGUAGE_LOC = "DE" + .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY MENU '<>'" + .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Programm für Großschreibungssetzung [<>] gefunden" + .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Programm für Großschreibungssetzung [<>] nicht gefunden" + .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Objekt [<>] enthält nicht oReg Objekt (level <>)" + .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Befehl nicht erkannt. Nur SETNAME und GETNAME erlaubt." + .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimierung: Ausgabedatei [<>] wurde nicht überschrieben da sie dieselbe ist wie die neu generierte." + .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimierung: Ausgabedatei [<>] wurde nicht erneuert da sie neuer ist als die Ursprungsdatei." + .C_PRESS_ESC_TO_CANCEL = "Drücken Sie Esc für Abbrechen" + .C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procedur nicht geschlossen. Letzte Zeile des Codes muss ENDPROC sein. [<>, Recno:<>]" + .C_PROCESSING_LOC = "Bearbeite Datei" + .C_PROCESS_PROGRESS_LOC = "Bearbeitungsfortschritt:" + .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Eigenschaft [<>] nicht erkannt." + .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Report [<>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY REPORT '<>'" + .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Forder Großschreibung für Datei [<>] an" + .C_SCANNING_FILE_AND_DIR_INFO_LOC = "Scannen Datei- und Verzeichnisinformationen für" + .C_SOURCEFILE_LOC = "Source Datei: " + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <> (<>), Zeile <> der Datei <> gefunden" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <> (<>.<>), Zeile <> der Datei <> gefunden" + .C_UNKNOWN_CLASS_NAME_LOC = "Unbekannte Klasse [<>]" + .C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC = "WARNUNG!!" + CR_LF+ "SICHERSTELLEN DAS KEIN TABELLENALIAS IN DEM INDEXAUSDRUCK BENUTZT WIRD!! (z.B.: index on <>.campo tag keyname)" + .C_WITH_ERRORS_LOC = "mit Fehlern" + + CASE tcLanguage == '33' && French (Francés) + *------------------------------------------------------------------------------------------------------------------------------------------- + *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( + *------------------------------------------------------------------------------------------------------------------------------------------- + .C_ASTERISK_EXT_NOT_ALLOWED_LOC = "* Et ? extensions ne sont pas autorisées car il est dangereux (binaires peuvent ętre remplacés par des fichiers vides de XX2)" + .C_BACKLINK_CANT_UPDATE_BL_LOC = "Impossible de mettre ŕ jour backlink" + .C_BACKLINK_OF_TABLE_LOC = "de la table" + .C_BACKUP_OF_LOC = "Faire de sauvegarde des: " + .C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC = "Vous ne pouvez pas générer un fichier [<>] car il est en lecture seule" + .C_CONFIGFILE_LOC = "Utilisation du fichier de configuration:" + .C_CONVERSION_CANCELLED_BY_USER_LOC = "Conversion Annulé par l'utilisateur" + .C_CONVERTER_UNLOAD_LOC = "Convertisseur déchargement" + .C_CONVERTING_FILE_LOC = "Conversion de fichiers" + .C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC = "Erreur de données: ne peut pas analyser en raison de guillemets non appariés en ligne <>" + .C_DUPLICATED_FILE_LOC = "fichier dupliqué" + .C_ENDDEFINE_MARKER_NOT_FOUND_LOC = "Vous ne trouvez pas marqueur de fin [ENDDEFINE] de la ligne <> ID [<>]" + .C_END_MARKER_NOT_FOUND_LOC = "Vous ne trouvez pas fin marqueur [<>] qui ferme marqueur de début [<>] en ligne <>" + .C_END_OF_PROCESS_LOC = "Fin du processus" + .C_EXTENSION_RECONFIGURATION_LOC = "Extension Reconfiguration:" + .C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC = "Nombre de classe externe (<>) ne correspond pas classes trouvées (<>) pour le fichier [<>]" + .C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND_LOC = "Classe externe [<>] est introuvable dans le fichier [<>]" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Champ [<< laProps (I) >>] ne trouve pas dans la structure du fichier DBF <<('TABLABIN')>>" + .C_FILE_DOESNT_EXIST_LOC = "Fichier ne existe pas:" + .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] ne est pas supporté" + .C_FILE_NOT_FOUND_LOC = "Fichier introuvable" + .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FOXBIN2PRG: ERREUR!!" + .C_FOXBIN2PRG_INFO_SINTAX_LOC = "FOXBIN2PRG: SYNTAX INFO" + .C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC = "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; + + "Exemple pour générer TXT de tous VCX dans 'c:\development\classes', sans montrer la fenętre d'erreur et générer fichier LOG: " + CR_LF ; + + " FOXBIN2PRG 'c:\development\classes\*.vcx' '0' '0' '0' '1' '1'" + CR_LF + CR_LF ; + + "Exemple pour générer TXT de tous VCX est 'c:\development\classes', sans montrant fenętre d'erreur et sans fichier LOG: " + CR_LF ; + + " FOXBIN2PRG 'c:\development\classes\*.vc2' '0' '0' '0' '1' '0'" + .C_FOXBIN2PRG_JUST_VFP_9_LOC = "FOXBIN2PRG est seulement pour Visual FoxPro 9.0!" + .C_FOXBIN2PRG_WARN_CAPTION_LOC = "FOXBIN2PRG: AVERTISSEMENT!" + .C_LANGUAGE_LOC = "FR" + .C_MENU_NOT_IN_VFP9_FORMAT_LOC = "Menu [<>] ne est pas dans VFP 9 Format! - Se il vous plaît se convertir ŕ VFP 9 avec MODIFY MENU '<>'" + .C_NAMES_CAPITALIZATION_PROGRAM_FOUND_LOC = "* Programme des noms de capitalisation [<>] trouvé" + .C_NAMES_CAPITALIZATION_PROGRAM_NOT_FOUND_LOC = "* Programme des noms de capitalisation [<>] introuvables" + .C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC = "Object [<>] ne contient pas l'objet oReg (niveau <>)" + .C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC = "Opération non reconnu. Seulement SETNAME et GETNAME permis." + .C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC = "Optimisation: fichier de sortie [<< THIS.c_OutputFile >>] ne était pas écrasé parce que ce est la męme que celle générée." + .C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC = "Optimisation: fichier de sortie [<< THIS.c_OutputFile >>] n'a pas été régénéré car il est plus récent que le fichier d'entrée." + .C_PRESS_ESC_TO_CANCEL = "Appuyez sur Esc pour Annuler" + .C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC = "Procédure pas fermé. Derničre ligne de code doit ętre ENDPROC. [<>, Recno:<>]" + .C_PROCESSING_LOC = "Traitement du fichier" + .C_PROCESS_PROGRESS_LOC = "Processus Progrčs:" + .C_PROPERTY_NAME_NOT_RECOGNIZED_LOC = "Propriété [<>] ne est pas reconnu." + .C_REPORT_NOT_IN_VFP9_FORMAT_LOC = "Rapport [<>] ne est pas dans VFP 9 Format! - Se il vous plaît se convertir ŕ VFP 9 avec MODIFY REPORT '<>'" + .C_REQUESTING_CAPITALIZATION_OF_FILE_LOC = "- Demande de capitalisation de fichier [<>]" + .C_SCANNING_FILE_AND_DIR_INFO_LOC = "Fichier de numérisation et de l'information de répertoire pour" + .C_SOURCEFILE_LOC = "Fichier source: " + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting erreur de structure. ENDPROC prévu, mais a trouvé ENDDEFINE sur la classe <> (<>), ligne <> du fichier <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting erreur de structure. ENDPROC attendue, mais ENDDEFINE sur la classe <> (<>.<>), ligne <> du fichier <>" + .C_UNKNOWN_CLASS_NAME_LOC = "Classe inconnue[<>]" + .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ÉS!! (exemple: index on <>.campo tag keyname)" + .C_WITH_ERRORS_LOC = "avec des erreurs" + + OTHERWISE && Si no existe, se queda el por defecto + .n_LanguageSelectedMethod = 0 && 0=Automatic with VERSION(3) + + ENDCASE + ENDWITH && THIS AS CL_LANG OF 'FOXBIN2PRG.PRG' + ENDTRY ENDPROC ENDDEFINE diff --git a/foxbin2prg_de.h b/foxbin2prg_de.h index eb394fd..f833e10 100644 --- a/foxbin2prg_de.h +++ b/foxbin2prg_de.h @@ -1,6 +1,7 @@ *------------------------------------------------------------------------------------------------------------------------------------------- *-- DEUTSCHE ÜBERSETZUNG => UMBENENNEN DIESER DATEI IN [foxbin2prg.h] UND NEUKOMPILIEREN DER FOXBIN2PRG.PRG - Jeder ist frei die Strings anzupassen und zu übersetzen. *-- NOTE: ES MÜSSEN ANFÜ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ährlich ist (binaries könnten überschrieben werden mit xx2 leeren Dateien)" #DEFINE C_BACKLINK_CANT_UPDATE_BL_LOC "Backlink kann nicht geupdated werden" @@ -8,7 +9,7 @@ #DEFINE C_BACKUP_OF_LOC "Mache Backup von: " #DEFINE C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC "Kann Datei [<>] nicht generieren da sie Schreibgeschützt ist" #DEFINE C_CONFIGFILE_LOC "Benutze Konfigurationsdatei:" -#DEFINE C_CONVERSION_CANCELLED_BY_USER "Konvertierung durch den Benutzer abgebrochen" +#DEFINE C_CONVERSION_CANCELLED_BY_USER_LOC "Konvertierung durch den Benutzer abgebrochen" #DEFINE C_CONVERTER_UNLOAD_LOC "Konverter wird entladen" #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ührungszeichen in Zeile <>" @@ -21,8 +22,8 @@ #DEFINE C_FILE_NAME_IS_NOT_SUPPORTED_LOC "Datei [<<.c_InputFile>>] wird nicht unterstü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 "Externe Klassenzahl (<< toModulo._ExternalClasses_Count >>) nicht gefunden Klassen entsprechen (<< toModulo._Clases_Count >>) für Datei [<< toFoxBin2Prg.c_InputFile >>]" -#DEFINE C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND "Externe Klasse (<>) nicht in der Datei [<>] gefunden" +#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_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND_LOC "Externe Klasse (<>) nicht in der Datei [<>] gefunden" #DEFINE C_FOXBIN2PRG_ERROR_CAPTION_LOC "FOXBIN2PRG: FEHLER!!" #DEFINE C_FOXBIN2PRG_INFO_SINTAX_LOC "FOXBIN2PRG: SYNTAX INFO" #DEFINE C_FOXBIN2PRG_INFO_SINTAX_EXAMPLE_LOC "FOXBIN2PRG [,cType ,cTextName ,cGenText ,cDontShowErrors ,cDebug, cDontShowProgress, cOriginalFileName, cRecompile, cNoTimestamps]" + CR_LF + CR_LF ; @@ -46,10 +47,10 @@ #DEFINE C_PROPERTY_NAME_NOT_RECOGNIZED_LOC "Eigenschaft [<>] nicht erkannt." #DEFINE C_REPORT_NOT_IN_VFP9_FORMAT_LOC "Report [<>] ist NICHT in VFP 9 Format! - Bitte zuerst nach VFP 9 konvertieren mit MODIFY REPORT '<>'" #DEFINE C_REQUESTING_CAPITALIZATION_OF_FILE_LOC "- Forder Großschreibung für Datei [<>] an" -#DEFINE C_SCANNING_FILE_AND_DIR_INFO "Scannen Datei- und Verzeichnisinformationen für" +#DEFINE C_SCANNING_FILE_AND_DIR_INFO_LOC "Scannen Datei- und Verzeichnisinformationen für" #DEFINE C_SOURCEFILE_LOC "Source Datei: " #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <> (<>), Zeile <> der Datei <> gefunden" #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <> (<>.<>), Zeile <> der Datei <> gefunden" #DEFINE C_UNKNOWN_CLASS_NAME_LOC "Unbekannte Klasse [<>]" #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 <>.campo tag keyname)" -#DEFINE C_WITH_ERRORS "mit Fehlern" +#DEFINE C_WITH_ERRORS_LOC "mit Fehlern" diff --git a/foxbin2prg_en.h b/foxbin2prg_en.h index b5194a7..1730c6e 100644 --- a/foxbin2prg_en.h +++ b/foxbin2prg_en.h @@ -1,6 +1,7 @@ *------------------------------------------------------------------------------------------------------------------------------------------- *-- ENGLISH TRANSLATION => RENAME OR COPY TO [foxbin2prg.h] TO USE, AND RECOMPILE FOXBIN2PRG.PRG - Feel free to change or adapt the strings. *-- NOTE: MUST USE DOUBLE QUOTES, OR SYNTAX ERRORS HAPPEN WHEN COMPILING. STRANGE :( +*-- FoxBin2Prg v1.19.38 *------------------------------------------------------------------------------------------------------------------------------------------- #DEFINE C_ASTERISK_EXT_NOT_ALLOWED_LOC "* and ? extensions are not allowed because it's dangerous (binaries can be overwritten with xx2 empty files)" #DEFINE C_BACKLINK_CANT_UPDATE_BL_LOC "Could not update backlink" @@ -8,7 +9,7 @@ #DEFINE C_BACKUP_OF_LOC "Doing Backup of: " #DEFINE C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC "Cannot generate file [<>] because it is ReadOnly" #DEFINE C_CONFIGFILE_LOC "Using configuration file:" -#DEFINE C_CONVERSION_CANCELLED_BY_USER "Conversion Cancelled by the user" +#DEFINE C_CONVERSION_CANCELLED_BY_USER_LOC "Conversion Cancelled by the user" #DEFINE C_CONVERTER_UNLOAD_LOC "Converter unload" #DEFINE C_CONVERTING_FILE_LOC "Converting file" #DEFINE C_DATA_ERROR_CANT_PARSE_UNPAIRING_DOUBLE_QUOTES_LOC "Data Error: Can't parse because of unpaired double-quotes on line <>" @@ -17,8 +18,8 @@ #DEFINE C_END_MARKER_NOT_FOUND_LOC "Cannot find end marker [<>] that closes start marker [<>] on line <>" #DEFINE C_END_OF_PROCESS_LOC "End of Process" #DEFINE C_EXTENSION_RECONFIGURATION_LOC "Extension Reconfiguration:" -#DEFINE C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES "External class count (<>) does not match found classes (<>) for file [<>]" -#DEFINE C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND "External class [<>] is not found in file [<>]" +#DEFINE C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES_LOC "External class count (<>) does not match found classes (<>) for file [<>]" +#DEFINE C_EXTERNAL_CLASS_NAME_DOES_NOT_FOUND_LOC "External class [<>] is not found in file [<>]" #DEFINE C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC "Field [<>] not found in structure of file <>" #DEFINE C_FILE_DOESNT_EXIST_LOC 'File does not exist:' #DEFINE C_FILE_NAME_IS_NOT_SUPPORTED_LOC "File [<<.c_InputFile>>] is not supported" @@ -46,10 +47,10 @@ #DEFINE C_PROPERTY_NAME_NOT_RECOGNIZED_LOC "Property [<>] is not recognized." #DEFINE C_REPORT_NOT_IN_VFP9_FORMAT_LOC "Report [<>] is NOT in VFP 9 Format! - Please convert to VFP 9 with MODIFY REPORT '<>'" #DEFINE C_REQUESTING_CAPITALIZATION_OF_FILE_LOC "- Requesting capitalization of file [<>]" -#DEFINE C_SCANNING_FILE_AND_DIR_INFO "Scanning file and directory information for" +#DEFINE C_SCANNING_FILE_AND_DIR_INFO_LOC "Scanning file and directory information for" #DEFINE C_SOURCEFILE_LOC "Source file: " #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" #DEFINE C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" #DEFINE C_UNKNOWN_CLASS_NAME_LOC "Unknown class [<>]" #DEFINE 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 <>.campo tag keyname)" -#DEFINE C_WITH_ERRORS "with errors" +#DEFINE C_WITH_ERRORS_LOC "with errors"