OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 15 Декабрь, 2017 20:32

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: RadioButton
СообщениеДобавлено: Среда, 14 Апрель, 2010 16:12 

Зарегистрирован: Среда, 14 Апрель, 2010 15:53
Сообщения: 15
Откуда: Орел
Доброго времени, уважаемые программеры.
Всю свою недолгую жизнь сидел на билдере, теперь насильно пересаживают меня на ББ. Настолько привык к билдеровскому конструктору форм, что теперь новый вообще не могу освоить и понять логику действий.

Есть на форме 2 RadioButton'a, которые должны переключать режим работы программы. Но при запуске я хочу, чтобы один РБ был активен, второй соответственно нет. Все, на что меня хватило:

Код:
IMPORT  Dialog;
VAR
   n*,m*: BOOLEAN;
   PROCEDURE Do*;
      n:=TRUE;
      m:=FALSE;
      Dialog.UpdateBool(m);
      Dialog.UpdateBool(n);
   END Do;

Естественно, это не работает и вообще не понимаю, каким образом идет передача информации от модуля с кодом к форме, как ее передать? Как управлять элементами формы?
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Среда, 14 Апрель, 2010 16:41 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1526
Откуда: Беларусь, Минск
Если Вы собираетесь писать большое графическое приложение, то прочтите главу 4 (Формы) и документацию к модулю Controls.
Код:
MODULE  WorkTestWindow;

   VAR n*: INTEGER;

END WorkTestWindow.
Нужно:
∙ создать пустую форму,
∙ добавить переключатели (например 3 radio button),
∙ в свойствах каждого переключателя задать переменную, с которой он связан (в нашем случае - для всех переключателей это будет n) и level - значение переменной, при котором переключатель будет активироваться.


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4476
Откуда: Россия, Орёл
Valery Solovey писал(а):
... прочтите главу 4 (Формы) и документацию к модулю Controls...
Советую в качестве введения ознакомиться с обучающей подсистемой "i21диалоги" из школьной сборки. http://www.inr.ac.ru/~info21/software.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Среда, 14 Апрель, 2010 22:21 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 226
comm1x писал(а):
теперь насильно пересаживают меня на ББ

Неужели правда, прямо так насильно? :mrgreen:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Среда, 14 Апрель, 2010 22:29 

Зарегистрирован: Среда, 14 Апрель, 2010 15:53
Сообщения: 15
Откуда: Орел
да перевелся в другой универ, а там к сям вообще с презрением смотрят.
Как конвертировать из String в Integer и обратно? Есть что-то типа IntToStr, StrToInt?


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

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8904
Откуда: Россия, Орёл
Модуль Strings.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Среда, 14 Апрель, 2010 22:31 

Зарегистрирован: Среда, 14 Апрель, 2010 15:53
Сообщения: 15
Откуда: Орел
Отлично, спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Среда, 14 Апрель, 2010 22:32 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 226
Модуль Strings:

PROCEDURE IntToString (x: LONGINT; OUT s: ARRAY OF CHAR);
PROCEDURE StringToInt (IN s: ARRAY OF CHAR; OUT x, res: INTEGER);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Четверг, 15 Апрель, 2010 03:58 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 2846
Откуда: Астрахань
comm1x писал(а):
да перевелся в другой универ, а там к сям вообще с презрением смотрят.

Очень интересно! В каком это универе заставляют учиться на ББ? Мне знать нужно, чтобы перед начальством аргументировать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Четверг, 15 Апрель, 2010 04:35 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
comm1x писал(а):
Есть на форме 2 RadioButton'a, которые должны переключать режим работы программы. Но при запуске я хочу, чтобы один РБ был активен, второй соответственно нет. Все, на что меня хватило:
Код:
VAR n*,m*: BOOLEAN;
Принципиальный момент (раз уж мы в теме GUI): RadioButton'ы - это взаимоисключающие альтернативы, из которых может быть выбрана только одна. 2 RB = 2 состояния выбора - либо выбран первый вариант, либо второй.

2 булевы переменные - это 4 состояния выбора. Например, если обе переменные = TRUE, то оба RadioButton'а должны быть выбраны? Это принципиальная ошибка.

Либо должна быть одна переменная (например, типа INTEGER), либо вместо RadioButton'ов нужно использовать CheckBox'ы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Четверг, 15 Апрель, 2010 17:23 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Если мне не изменяет склероз, в Delphi можно запрограммировать начальное состояние, когда ни одна из RB не активна. Но потом если пользователь выбирает одну из кнопок, то обратно вернуть такое начальное состояние уже нельзя (по крайней мере при помощи клавы и мыши).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Пятница, 16 Апрель, 2010 10:43 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1526
Откуда: Беларусь, Минск
И в чём проблема? Если начальное значение переменной будет отличным от тех, которые должны принимать кнопки, то вот и решение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Пятница, 16 Апрель, 2010 13:24 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2284
Откуда: Россия, Санкт-Петербург
Да и нет проблемы. Просто было указано, что в Delphi позаботились о возможности создать приложение с неправильным интерфейсом. Подтверждаю, такая возможность там действительно есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RadioButton
СообщениеДобавлено: Пятница, 16 Апрель, 2010 14:13 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 189
Откуда: Россия, Томск
Валерий Лаптев писал(а):
Очень интересно! В каком это универе заставляют учиться на ББ? Мне знать нужно, чтобы перед начальством аргументировать.

Учу в ТГУ на ФИнф на ББ группу 1 курса "практикум на ЭВМ", на лекциях всем дают примеры на Паскале. Мне отдают начинающих = не испорченных дурными привычками и примерами. Другие группы учат на Дельфи и C#. Так что живые примеры на КП+ББ - есть, можете смело ссылаться! :)


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

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


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

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


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

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