diff --git a/FoxBin2PRGVersionFile.txt b/FoxBin2PRGVersionFile.txt index e96dd06..c27970f 100644 --- a/FoxBin2PRGVersionFile.txt +++ b/FoxBin2PRGVersionFile.txt @@ -3,7 +3,7 @@ Lparameters toUpdateInfo Local lcNote With toUpdateInfo .VersionNumber = 'v1.19.51' - .VersionDate = Date(2018,03,16) + .VersionDate = Date(2018,03,24) .SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip' .Link = 'https://github.com/fdbozzo/foxbin2prg/wiki' @@ -21,9 +21,10 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg Change History ------------------------------------------------------------- -2018-03-16 v1.19.51 +2018-03-24 v1.19.51 - Add LOG info about config.fpw used and CodePage - Enhanced HELP dialog info when running FoxBin2Prg with double-click +- Feature: Added automatic default language recognition for the supported ones (FR,DE,SP,EN) 2018-03-15 v1.19.50.3 - Bug Fix: When adding some non-VFP text files like html,css,etc, in the text section of the project, FoxBin2Prg does not keep this selection when regenerating the PJX, leaving them in the files section (Darko Kezic) diff --git a/foxbin2prg.prg b/foxbin2prg.prg index f762b30..7064b3e 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -896,7 +896,8 @@ DEFINE CLASS c_foxbin2prg AS Session LOCAL THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' #ENDIF - LOCAL lcSys16, lnPosProg, lc_Foxbin2prg_EXE, laValues(1,5), lcPicturePath, laDir(1,5) + LOCAL lcSys16, lnPosProg, lc_Foxbin2prg_EXE, laValues(1,5), lcPicturePath, laDir(1,5) ; + , lcLang SET DELETED ON SET DATE YMD SET HOURS TO 24 @@ -958,7 +959,23 @@ DEFINE CLASS c_foxbin2prg AS Session THIS.writeLog( REPLICATE( '*', 100 ) ) THIS.writeLog( 'FoxBin2Prg: [' + THIS.c_Foxbin2prg_FullPath + '] (EXE Version: ' + THIS.c_FB2PRG_EXE_Version + ', FoxPro Version: ' + VERSION(4) + ')' ) THIS.writeLog( TEXTMERGE( '- Internal CFG: <> / External CFG: <> / CodePage Used: <>)' ) ) - THIS.changeLanguage() + + * Get default language info + * ISO 639-2 Language Codes: https://www.loc.gov/standards/iso639-2/php/code_list.php + lcLang = THIS.getLocaleInfo(0x00000067) && ie: spa + + DO CASE + CASE lcLang = 'spa' + lcLang = 'ES' + CASE INLIST(lcLang, 'den', 'deu', 'ger', 'gmh', 'goh', 'gsw', 'nds') + lcLang = 'DE' + CASE INLIST(lcLang, 'cpf', 'fra', 'fre', 'frm', 'fro') + lcLang = 'FR' + OTHERWISE && Default: EN + lcLang = 'EN' + ENDCASE + + THIS.changeLanguage(lcLang) THIS.o_FSO = CREATEOBJECT("Scripting.FileSystemObject") *THIS.o_WSH = CREATEOBJECT("WScript.Shell") @@ -5320,6 +5337,27 @@ DEFINE CLASS c_foxbin2prg AS Session ENDFUNC + FUNCTION GetLocaleInfo + LPARAMETERS tnSetting, tcLocale + #DEFINE C_NULL CHR(0) + LOCAL lcLocale, lnLen, lcBuffer, lnReturn, lcReturn + + IF VARTYPE(tcLocale) = 'C' AND NOT EMPTY(tcLocale) + lcLocale = STRCONV(tcLocale, 5) + C_NULL + ELSE + lcLocale = .NULL. + ENDIF + + DECLARE INTEGER GetLocaleInfoEx in Win32API ; + string locale, long type, string @buffer, integer len + lnLen = 255 + lcBuffer = SPACE(lnLen) + lnReturn = GetLocaleInfoEx(lcLocale, tnSetting, @lcBuffer, lnLen) + lcReturn = STRCONV(LEFT(lcBuffer, 2 * (lnReturn - 1)), 6) + RETURN lcReturn + ENDFUNC + + ENDDEFINE @@ -28512,7 +28550,7 @@ DEFINE CLASS CL_LANG AS Custom .C_FILE_NOT_FOUND_LOC = "Fichier introuvable" .C_FILENAME_LOC = "Fichier" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERREUR" - .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX INFO" + .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO" TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) <<>> @@ -28677,7 +28715,7 @@ DEFINE CLASS CL_LANG AS Custom .C_FILE_NOT_FOUND_LOC = "No se encontró el archivo" .C_FILENAME_LOC = "Archivo" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERROR" - .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "INFORMACIÓN DE SINTAXIS" + .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "INFORMACIÓN DE SINTAXIS Y PARÁMETROS" TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <<>>Página principal y descarga de FoxBin2Prg: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) <<>> @@ -28842,7 +28880,7 @@ DEFINE CLASS CL_LANG AS Custom .C_FILE_NOT_FOUND_LOC = "Datei nicht gefunden" .C_FILENAME_LOC = "Datei" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FEHLER" - .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX INFO" + .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO" TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) <<>> @@ -29007,7 +29045,7 @@ DEFINE CLASS CL_LANG AS Custom .C_FILE_NOT_FOUND_LOC = "File not found" .C_FILENAME_LOC = "File" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERROR" - .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX INFO" + .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO" TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) <<>> @@ -29253,7 +29291,7 @@ DEFINE CLASS CL_MACRO AS CL_COL_BASE loColl.Add( loMRec, loMRec.get_Macro_Keystrokes(loMRec.Keystroke, .T.) ) loMRec = NULL ENDFOR - + * Ordenar alfabéticamente por keystroke loColl.KeySort = 2 @@ -29927,17 +29965,14 @@ DEFINE CLASS CL_MACRO_RECORD AS CL_CUS_BASE ENDCASE ENDCASE - + IF EMPTY(lcKeyName) - *OTHERWISE &&CASE INLIST( lnKey, 0x00, 0x10, 0x80) OR lnCntMod > 1 - *llComplementar = NOT EMPTY(lcKeyMod) DO CASE CASE BETWEEN(lnKey, 0x41, 0x5A) OR BETWEEN(lnKey, 0x61, 0x7A) OR INLIST(lnKey, 0x7C, 0x7E) && A..Z, a..z, |, ~ lcKeyName = lcKey llKeyCodeShift = .F. - *CASE BETWEEN(lnKey, 0x21, 0x7A) AND NOT (tlLiteralForCaption AND lnKey = 0x3B) CASE BETWEEN(lnKey, 0x21, 0x7A) AND NOT (lnKey = 0x3B) llKeyCodeShift = .F. lcKeyName = lcKey @@ -29978,7 +30013,7 @@ DEFINE CLASS CL_MACRO_RECORD AS CL_CUS_BASE ENDCASE - *ENDCASE + *ENDCASE ENDIF * Tratamiento de modificadores