OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2019 03:22

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: i21sys
СообщениеДобавлено: Среда, 30 Март, 2011 16:17 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
http://oberoncore.ru/bbcc/subs/i21sys/

См. также:
* i21sysCalls
* i21sysDesktop - охранялка конфигурации окон
* viewtopic.php?t=5397 (i21sysIn)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Четверг, 31 Март, 2011 17:52 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Включил i21sysEdit.

Кого F5 интересует --- просьба проверить (лишний раз не помешает) и отписаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Четверг, 31 Март, 2011 18:36 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2566
Откуда: Россия, Ярославль
работает вроде.
а зачем нужно Edit.Init? куда его втыкать надо(надо ли)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Четверг, 31 Март, 2011 20:19 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Пётр Кушнир писал(а):
а зачем нужно Edit.Init? куда его втыкать надо(надо ли)?
Вызов Init стоит при загрузке модуля. Что она экспортирована, я вообще не обратил внимания... Подождём, что автор скажет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Четверг, 31 Март, 2011 20:46 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8046
Откуда: Троицк, Москва
Евгений Темиргалеев писал(а):
Пётр Кушнир писал(а):
а зачем нужно Edit.Init? куда его втыкать надо(надо ли)?
Вызов Init стоит при загрузке модуля. Что она экспортирована, я вообще не обратил внимания... Подождём, что автор скажет.

Не надо втыкать.
Это чтобы переопределять язык. Нужно было при разработке. Пусть торчит.

( Вот ведь забавно как: раз торчит -- так сразу хочется дернуть :) )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Суббота, 02 Апрель, 2011 13:28 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Включил i21sysDesktop.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Вторник, 11 Октябрь, 2011 12:04 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Выложены поправленные архивы: в списке упаковки были пропущены словари от i21sysEdit, поэтому он работал лишь отчасти (обнаружил Борис Рюмшин).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Воскресенье, 11 Декабрь, 2011 16:38 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
i21sysIn добавил (по сравнению со стандартным In) возможность использования в качестве входного потока текста, "выделенного" маркерами-коммандерами.

Уже давно использую исключительно "выделение" коммандерами. Иногда бывают затыки --- осталось выделение выше по тексту (или нечаянно ткнул), и никак не поймешь, глядя на текст после коммандера, почему процедура не даёт результатов, соответствующих входным данным.

Вопрос использующим In --- как часто применяете в качестве входного потока весь активный текст или выделенный в нём кусок?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Воскресенье, 11 Декабрь, 2011 21:31 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8046
Откуда: Троицк, Москва
Евгений Темиргалеев писал(а):
Вопрос использующим In --- как часто применяете в качестве входного потока весь активный текст или выделенный в нём кусок?
Выделенный кусок -- постоянно.

А весь текст -- пока не встретилось.
Видимо, надо отменить эту возможность -- как раз в новой версии школьных сборок можно это сделать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Понедельник, 30 Январь, 2012 10:45 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Может стоит добавить процедуру открытия с явным указанием потока(ов)? Вроде
PROCEDURE OpenThis (stream: INTEGER) или PROCEDURE OpenThis (streams: SET)

Тогда можно было бы открывать только текст из параметра коммандера, независимо от наличия выделения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Понедельник, 30 Январь, 2012 15:10 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8046
Откуда: Троицк, Москва
Евгений Темиргалеев писал(а):
Может стоит добавить процедуру открытия с явным указанием потока(ов)? Вроде
PROCEDURE OpenThis (stream: INTEGER) или PROCEDURE OpenThis (streams: SET)

Тогда можно было бы открывать только текст из параметра коммандера, независимо от наличия выделения.
Мысли у нас сошлись в почти одной точке.
Только у меня проще:
PROCEDURE Open; -- поток ввода после коммандера. (*видимо*)
PROCEDURE OpenSelection; -- поток ввода = выделению.
(Ну, и для полноты счастья ввести булевский распознаватель наличия выделения.)

В учебных целях используется один способ: фиксация выделения в качестве потока ввода через меню|горячую клавишу, а в программе -- Restart.
Это потому, что в паскалеобразных программах нет коммандера,
а в школьном контексте лучше выбрать один способ, и придерживаться его.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Вторник, 29 Май, 2012 11:04 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Внёс поправку viewtopic.php?p=72676#p72676


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Вторник, 11 Март, 2014 14:19 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Загружаю версию из сборки 09.11.2012.

i21sysScanner (под wine) не читал словари. Проблема в избыточной "/"
Код:
   CONST  path0 = "i21sys/Rsrc/";


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Вторник, 11 Март, 2014 15:28 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
i21sysIn, документация i21sysDesktop, и компонент i21sysEdit обновлены по базовой сборке 09.11.2012 и включена дополнительная документация.

На оригинальном ББ ссылки с юникодными литерами работать не будут (viewtopic.php?t=3971).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 22 Март, 2014 02:31 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9115
Откуда: Россия, Орёл
В сборке OberonCore есть фикс внутренней процедуры TextMappers.Get (видимо, не соответствовала спецификации модуля):

Код:
   PROCEDURE Get (VAR s: Scanner; OUT ch: CHAR);
   BEGIN
      s.rider.ReadChar(ch);
      IF ({returnViews, maskViews} * s.opts = {returnViews}) & (s.rider.view # NIL) THEN
         ch := VIEW; s.rider.char := VIEW
      END
   END Get;


В оригинале эта процедура выглядела:
Код:
   PROCEDURE Get (VAR s: Scanner; OUT ch: CHAR);
   BEGIN
      s.rider.ReadChar(ch);
   END Get;


Короче говоря, при этом исправлении перестаёт правильно работать автодополнение i21sys.
m F5 даёт MAX, а не конструкцию MODULE.
p F5 даёт POINTER, а не PROCEDURE...
и т. д.

Видимо, тот случай, когда старые ошибки уже стали не багом, а фичами - и исправление влияет на работоспособность уже существующего клиентского кода...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 22 Март, 2014 13:41 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Причина: не читаются подсказки i21sys/Rsrc/hints.
i21sysScanner Docu писал(а):
Любая вьюшка означает конец словаря (обычно это вьюшка DevCommanders.EndView, которая вставляется посредством Shift+Ctrl+Q).
Первая вьюшка в тексте --- невидимая --- линейка, которая маскируется литерой TextMappers.para. Но вьюшкой от этого быть не перестаёт. Она и означает конец словаря при наличии исправления B23 (viewtopic.php?t=4353), в описании которого ситуация разобрана подробно.

Можно просто прибавить ниже опцию TextMapper.maskViews и всё заработает; либо определять конец словаря более точно, например, "любая вьюшка кроме линейки".
Код:
PROCEDURE Open* ( path: ARRAY OF CHAR;  name: Files.Name ); (* path relative to path0 *)
      VAR  loc: Files.Locator;  i: INTEGER;  fullName: Files.Name;
         conv: Converters.Converter;  v: Views.View;
   BEGIN
      ...
      sc.ConnectTo( v( TextViews.View ).ThisModel() );
      sc.SetOpts( { TextMappers.returnViews } ); (* используем вьюшку для отметки конца списка, поэтому хотим, чтобы sc ее не игнорировал, тогда мы тут засечем ее *)
      ...
   END Open;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: i21sys
СообщениеДобавлено: Воскресенье, 23 Март, 2014 15:42 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4488
Откуда: Россия, Орёл
Внёс поправку (архив обновлён)
Код:
sc.SetOpts( { TextMappers.returnViews, TextMappers.maskViews } );


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

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


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB