OberonCore
https://forum.oberoncore.ru/

Как подключить файл Strings?
https://forum.oberoncore.ru/viewtopic.php?f=35&t=6135
Страница 1 из 1

Автор:  Александр К [ Среда, 11 Октябрь, 2017 16:12 ]
Заголовок сообщения:  Как подключить файл Strings?

Для элементов управления по умолчанию поле Label заполняется
Код:
#System:Caption

Я нашёл этот файл - System/Rsrc/Strings, скопировал его в свой подкаталог (назовём его My/Rsrc/). Далее пишу в поле Label, например, следующее:
Код:
#My:Exception

Нажимаю OK, но вместо надписи Исключение получаю Exception. Этот файл параметров Strings пробовал делать свой - та же фигня. Файл параметров можно применять только программно или я что-то делаю не так?

Автор:  Иван Денисов [ Среда, 11 Октябрь, 2017 16:52 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

Наверное нет переноса на новую строку после вашей строки. Приложите файл Strings к следующему сообщению?

Автор:  Александр К [ Среда, 11 Октябрь, 2017 17:45 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

Иван Денисов писал(а):
Приложите файл Strings к следующему сообщению?
Пожалуйста

Вложения:
My.rar [1.52 КБ]
Скачиваний: 270
Strings.odc [18.49 КБ]
Скачиваний: 790

Автор:  Иван Денисов [ Среда, 11 Октябрь, 2017 18:09 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

Должно быть
Код:
#My:lab

Файл Strings ведь предназначен для всей подсистемы My.

Автор:  Александр К [ Понедельник, 16 Октябрь, 2017 15:13 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

А как выводить программно? Когда я нажимаю на кнопку почему-то в текстовое поле выводится #My:com вместо "кнопка".

Вложения:
My.rar [2.13 КБ]
Скачиваний: 273

Автор:  Илья Ермаков [ Понедельник, 16 Октябрь, 2017 15:59 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

Извиняюсь, исходник не могу посмотреть, а Вы явно получаете строку через Dialog.MapString?

Автор:  Trurl [ Понедельник, 16 Октябрь, 2017 17:27 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

Код:
PROCEDURE a*;
BEGIN
  Dialog.MapString("#My:com",str);
  Dialog.UpdateString(str)
END a;

Автор:  Александр К [ Понедельник, 16 Октябрь, 2017 17:45 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

А почему не работает следующий код:
Код:
MODULE MyGu;
IMPORT Dialog;

VAR str*: ARRAY 64 OF CHAR;

PROCEDURE a*;
BEGIN
   str := "#My:com";
   Dialog.UpdateString(str)
END a;

END MyGu.

В справке к ВВ в учебнике в параграфе Формы:
Цитата:
Для использования строковых ресурсов в нашем примере, необходимо использовать специальный синтаксис, который показывает, что строка в действительности является ключем, который должен быть заменен подходящим значением из строкового ресурса. Таким образом, в подсистеме Obx в строковом ресурсе имеются ключи "On" и "Off", следующий код их использует:

Код:
PROCEDURE ToggleGuard* (VAR par: Dialog.Par);
   BEGIN
      IF someInteractor.isOn THEN
         par.label := "#Obx:Off"
      ELSE
         par.label := "#Obx:On"
      END
   END ToggleGuard;


Листинг 4-18. Охранник заголовка с применением карты строк

Ведущий символ "#" показывает, что необходима подстановка строк. Затем следует название подсистемы, в нашем случае "Obx". Затем следует двоеточие, после которого идет ключ для замены. Кнопка с таким охранником будет отображать заголовки "Switch Off" или "Switch On" в английской версии BlackBox, "Ausschalten" или "Einschalten" в немецкой версии и т.п.

Никаких Dialog.MapString там нет.

Автор:  Иван Денисов [ Понедельник, 16 Октябрь, 2017 18:13 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

Александр К писал(а):
...
Никаких Dialog.MapString там нет.


В случае охранника, Блэкбокс сам вызывает Dialog.MapString внутри каркаса в служебных модулях.

Попробуйте вот так
Код:
MODULE MyGu;
IMPORT Dialog;

VAR str*: ARRAY 64 OF CHAR;

PROCEDURE a*;
BEGIN
   Dialog.MapString("#My:com", str);
   Dialog.UpdateString(str)
END a;

END MyGu.

Автор:  Trurl [ Понедельник, 16 Октябрь, 2017 18:26 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

Александр К писал(а):
А почему не работает следующий код

Вы думаете это хорошая идея - внезапно изменять данные, введенные в форму?

Автор:  Иван Денисов [ Понедельник, 16 Октябрь, 2017 18:38 ]
Заголовок сообщения:  Re: Как подключить файл Strings?

Trurl писал(а):
Александр К писал(а):
А почему не работает следующий код

Вы думаете это хорошая идея - внезапно изменять данные, введенные в форму?

Ну тут вроде у Александра данные изменяются после нажатия на кнопку, к которой привязана процедура "a". Не вижу проблемы...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/