Снегопат

Обсуждение Снегопата
Текущее время: 30 июн 2024, 14:12

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 9  След.
Автор Сообщение
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 07:08 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Что-то не нашел, какая команда скрипт перегружает (чтобы горячие клавиши навесить, если уже есть, то подскажите, пожалуйста, сочетание)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 07:19 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Вопрос снял, есть в скрипте scriptdev.js


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 08:22 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Еще один вопрос:

Почему данный скрипт не показывает свои макросы (нельзя выбрать по ctrl+ M):

Код:
$engine JScript
$uname OberonTools
$dname Компиляция модуля оберона
$addin global
$addin stdlib

stdlib.require("TextWindow.js", SelfScript);
global.connectGlobals(SelfScript);

///////////////////////////////////////////////////////////////////////////////
// КОМАНДЫ, ИСПОЛНЯЕМЫЕ ПО CTRL+M (видны в снегопате)
//

function getDefaultMacros() {
    return 'КомпилироватьКодОберона7';
}

function macrosКомпилироватьКодОберона7() {
   Tools.CompileActiveTextWindow();
}

function macrosРедактироватьКодОберона7() {
   Tools.EditActiveTextWindow();
}

var RTL$ = {
    extend: function extend(methods){
        function Type(){
            for(var m in methods)
                this[m] = methods[m];
        }
        Type.prototype = this.prototype;

        var result = methods.init;
        result.prototype = new Type(); // inherit this.prototype
        result.prototype.constructor = result; // to see constructor name in diagnostic
       
        result.extend = extend;
        return result;
    },
    strToArray: function (s){
        var result = new Array(s.length);
        for(var i = 0; i < s.length; ++i)
            result[i] = s.charCodeAt(i);
        return result;
    }
};
var Js = function (JS){
var String = RTL$.extend({
   init: function String(){
   }
});

function StringFromArrayChar(arr/*ARRAY OF CHAR*/){
   var s = null;
   var i = 0;
   s = '';
   for(i=0; i<arr.length; i++) {s = s + JS.String.fromCharCode(arr[i]);};
   return s;
}

function CharCodeAt(s/*String*/, n/*INTEGER*/){
   var res = 0;
   res = s.charCodeAt(n);
   return res;
}
return {
   String: String,
   StringFromArrayChar: StringFromArrayChar,
   CharCodeAt: CharCodeAt
}
}(SelfScript.self);
var Snegopat = function (JS){
var TextWindows = RTL$.extend({
   init: function TextWindows(){
   }
});

function activeTextWindow(){
   var wnd = null;
   wnd = JS.snegopat.activeTextWindow();
   return wnd;
}
return {
   TextWindows: TextWindows,
   activeTextWindow: activeTextWindow
}
}(SelfScript.self);
var Global = function (Js, JS){

function MessageBox(str/*ARRAY OF CHAR*/){
   JS.Designer.MessageBox(Js.StringFromArrayChar(str));
}

function Message(str/*ARRAY OF CHAR*/){
   JS.Designer.Message(Js.StringFromArrayChar(str));
}
return {
   MessageBox: MessageBox,
   Message: Message
}
}(Js, SelfScript.self);
var Tools = function (Js, JS, gl){

function CompileActiveTextWindow(){
   gl.MessageBox(RTL$.strToArray("тодо Пока не реализовано"));
}

function EditActiveTextWindow(){
   gl.MessageBox(RTL$.strToArray("тодо Пока не реализовано"));
}
return {
   CompileActiveTextWindow: CompileActiveTextWindow,
   EditActiveTextWindow: EditActiveTextWindow
}
}(Js, SelfScript.self, Global);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 08:26 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
И сразу отмечу, что данный код генерится из кода оберона (с частичными вставками на JS) обозначенным выше компилятором. А потому я вряд смогу его изменить (просто знаниями недостаточными обладаю по этому поводу). Поэтому если вина все таки в коде, то нельзя ли как то обработать данную ситуацию на стороне снегопата, или какого-нибудь его скрипта?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 08:28 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Горячие клавиши тоже при этом не навешиваются. Максимум что делается, это по щелчку в окне снегопата, выполняется дефолтный макрос


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 08:36 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
И еще вопрос, чем можно просмотреть файл quickstart.wiki . Что-то по данному расширению слишком много ответов левых вываливается в гугле


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 08:55 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Как понял, надо будет доработать функцию update в файле macroswnd.js , но с регулярками еще не работал, поэтому сам вряд ли смогу доработать (по крайней мере не так быстро, как мне хотелось бы)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 09:44 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Хотя похоже, проблема все таки в снегопате, метод macroses не возращает список макросов (если я правильно конечно понял)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 10:05 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Хотя ПоказатьСписокМетодовСкрипта показывает все методы (даже те, которые вроде должны быть внутри объектов). Значит все таки в скрипте дело. Но все равно нужна помощь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberonscript
СообщениеДобавлено: 25 окт 2013, 10:23 
Не в сети

Зарегистрирован: 06 сен 2013, 07:59
Сообщения: 204
Нашел временное решение, оставить в коде только макросы, повесить на них горячие клавиши. И затем уже скомпилировать весь код (хотя будут не видны по ctrl+m или может где-то видны, но не нашел где, но работают)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 9  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB