mozers
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ROWrite.lua Код: -- ROWrite -- Version: 1.1 -- Автор: mozers™ (по мотивам одноименного скрипта от Midas) ----------------------------------------------- -- Скрипт для поддержки сохранения RO/Hidden/System файлов -- Для работы требуется скрипт ROWrite.js ----------------------------------------------- -- Подключение: -- Добавьте в SciTEStartup.lua строку -- require (props["SciteDefaultHome"].."\\tools\\ROWrite.lua") ----------------------------------------------- local function Save() -- Получим аттрибуты файла. local FileAttr = props['FileAttr'] if string.find(FileAttr, '[RHS]') then -- Если в файл нельзя записать, то спросим if os.msgbox("Файл доступен только для чтения. Все равно сохранить ?\nАттрибуты файла: "..FileAttr, "SciTE", 65)==1 then os.run("wscript "..props['SciteDefaultHome'].."\\tools\\ROWrite.js",0,false) return true end else return false end end -- Добавляем свой обработчик события OnMenuCommand local old_OnMenuCommand = OnMenuCommand function OnMenuCommand (msg, source) local result if old_OnMenuCommand then result = old_OnMenuCommand(msg, source) end if msg == 106 then --IDM_SAVE if Save() then return true end end return result end | Данный код внедрен в форум с помощью скрипта vladvro ROWrite.js Код: // ROWrite // Version: 1.1 // Autor: mozers™ // ------------------------------------------------ // Скрипт для сохранения RO/Hidden/System файлов // Вызывается из ROWrite.lua // Для работы требуется SciTE Helper <http://scite.ruteam.ru/poleznye-utility/scite-helper-dlya-upravleniya-redaktorom-iz-skriptov-i-programm> // ------------------------------------------------ var fso = new ActiveXObject("Scripting.FileSystemObject"); var ForReading = 1, ForWriting = 2, ForAppending = 8; try { var SciTE=new ActiveXObject("SciTE.Helper"); } catch(e) { WScript.Echo("Please install SciTE Helper before!"); WScript.Quit(1); } var filename = SciTE.Props("FilePath"); var text = SciTE.GetText; var file = fso.GetFile(filename); // считываем атрибуты файла var attr = file.attributes; // сбрасываем атрибуты file.attributes = 0; // записываем файл var file_w = fso.OpenTextFile(filename, ForWriting, true); file_w.Write(text); file_w.Close(); // восстанавливаем атрибуты file.attributes = attr; // перезагружаем записанный файл SciTE.MenuCommand(104); // IDM_REVERT | Данный код внедрен в форум с помощью скрипта vladvro |