Zloy_Gelud

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору UMode & ToAll [исправлено] Код: --[[ Recode Преобразует кодировку строки в указанную strText - строка для перекодировки strCharsetIn - исходная кодировка строки strCharsetOut - требуемая кодировка ]] function Recode(strText, strCharsetIn, strCharsetOut) strText = String.Replace(strText, "\r\n", "%10%13", false); -- Java-скрипт local strJSCode =[[ var fso = new ActiveXObject("Scripting.FileSystemObject"); var stream = new ActiveXObject("ADODB.Stream"); function Recode(text_in, charset_in, charset_out){ stream.Open(); stream.Type = 2; stream.Charset = charset_out; stream.WriteText(text_in); stream.Flush(); stream.Position = 0; stream.Charset = charset_in; var text_out = stream.ReadText(-1); stream.Close(); return (text_out); } var text = "]]..strText..[["; var out = Recode(text, "]]..strCharsetIn..[[", "]]..strCharsetOut..[["); ]] Script.SetLanguage(Script_JScript); Script.AddCode(strJSCode, Script_InternalCode); strResult = String.Replace(Script.GetResultAsString("out"), "%10%13", "\r\n", false); return strResult; end -- тест 1 TextFile.WriteFromString(_TempFolder.."\\test.bat", "tree > C:\\test.txt\r\ndel /F /Q %0", false) result = Shell.Execute(_TempFolder.."\\test.bat", "open", "", "", SW_HIDE, true); strRecode = Recode(TextFile.ReadToString("C:\\test.txt"), "cp866", "windows-1251"); Paragraph.SetText("Paragraph1", strRecode); --[[ -- тест 2 strRecode = Recode("Тест\r\nтест", "windows-1251", "utf-8"); Paragraph.SetText("Paragraph1", strRecode); ]] | Для работы функции жизненно необходимо плагин 'Script', так что не забываем его подключить.  | Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 02:12 04-12-2008 | Исправлено: Zloy_Gelud, 14:33 04-12-2008 |
|