OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 17 Апрель, 2024 01:07

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: Пятница, 27 Ноябрь, 2009 09:27 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Доброго всем. В Делфи есть обработка событий и (или) сообщений.
Там я в классе прописываю процедуру обработчик определенного события.

Как в ББ такое сделать?

в часности я хочу чтоб при клике мышкой по ссылке некой в вьюшке выполнилась определенная процедура.

В какую сторону мне копать и что почитать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Ноябрь, 2009 09:58 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Клики на вьюшках обрабатывают сами вьюшки. Пишите свою (Part III, 6 View Construction | Конструирование отображений) - обрабатываете.

Для StdLinks.Link надо только команду задать (руками ввести или программно). См. документацию модуля StdLinks, пример ObxLinks.
ObxLinks писал(а):
Код:
         str := "ObxLinks.Directory('";
         IF path # "" THEN str := str + path + "/" END;
         str := str + li.name + "')";
         v := StdLinks.dir.NewLink(str);
         f.WriteView(v);   (* insert left link view in text *)
         f.WriteString(li.name);
         v := StdLinks.dir.NewLink("");
         f.WriteView(v);   (* insert right link view in text *)

str тут - команда.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Ноябрь, 2009 10:51 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Насчет чтива - понял Полезу щаз.
Цитата:
str тут - команда.

Так. Стоп! А я могу тут указать в строке какую процедуру вызывать м модуле?
Круто!!! Жутко удобно:

Но появился вопрос:
есть процедура:
Код:
PROCEDURE AReadFile* (IN Path:ARRAY OF CHAR);
VAR
 b:BYTE;
BEGIN
 StdLog.String(Path);
END AReadFile;

И есть линк
Код:
flink:=StdLinks.dir.NewLink("MFile.AReadFile('"+path+str+"')");

Процедура то выполняется но в СтдЛог вылезает +t�"㷻2.txt

Вопрос: Как мне перекодировать чтоб нормальные буквы были.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Ноябрь, 2009 12:23 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Виталий писал(а):
А я могу тут указать в строке какую процедуру вызывать м модуле?

Меню правили? Коммандеры использовали? Это один и тот же, базовый механизм.
Language Report писал(а):
Appendix D: Mandatory Requirements for Environment

3) Modules and at least their exported procedures (commands) and exported types must be retrievable dynamically...


Виталий писал(а):
Вопрос: Как мне перекодировать чтоб нормальные буквы были.
Отукда буквы берутся? Весь код покажите...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Ноябрь, 2009 12:30 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Виталий писал(а):
Насчет чтива - понял Полезу щаз.
Цитата:
str тут - команда.

Так. Стоп! А я могу тут указать в строке какую процедуру вызывать м модуле?
Круто!!! Жутко удобно:
Можно даже несколько через точку с запятой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Ноябрь, 2009 14:06 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Евгений Темиргалеев писал(а):
Виталий писал(а):
А я могу тут указать в строке какую процедуру вызывать м модуле?

Меню правили? Коммандеры использовали? Это один и тот же, базовый механизм.
Language Report писал(а):
Appendix D: Mandatory Requirements for Environment

3) Modules and at least their exported procedures (commands) and exported types must be retrievable dynamically...


Виталий писал(а):
Вопрос: Как мне перекодировать чтоб нормальные буквы были.
Отукда буквы берутся? Весь код покажите...


Все я разобрался, это я вместо того чтоб кликнуть на коммандер зажав CTRL просто кликнул.
ББ у меня просто старый модуль не выгрузил, а там я неверно ARRAY OF CHAR прикрутил.

Цитата:
Можно даже несколько через точку с запятой.

Ага, понял. Это удобно...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Ноябрь, 2009 15:25 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Виталий писал(а):
Ага, понял. Это удобно...
Синтаксис строки-команды можно посмотреть в док-и StdInterpreter


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

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


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

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


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

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