Кнопка.отд
Главная     ◄Глагол     ◄Азбука     ◄Задачи на Глаголе     Примеры приложений ►   Среда разработки ►   Отладка программ ►   Отличия от Оберона ►   Отличия от Паскаля ►   Ассемблер ARM ►   Глагол для ARM ►   ? и Ответы
 
 glagol.png Программируем по-русски
 

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

Издатель Глагола
 

 
(*~\Глагол\Отделы\Поле~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(**)                        ОТДЕЛ Кнопка;
(*============================================================================* 
 * НАЗНАЧЕНИЕ: кнопка - потомок надела
 *============================================================================*)
ИСПОЛЬЗУЕТ 
  Надел,
  Поле,
  Ввод ИЗ "..\Обмен\";
ВИД
  Доступ-=ДОСТУП К Вид;
  Вид-=НАБОР(Надел.Вид)
    надпись:Надел.Надпись;
    буквица:ЦЕЛ;
    действие-:ЦЕЛ
  КОН;
  Посылка-=НАБОР(Ввод.Посылка)
    кнопка:Доступ
  КОН;

(******************************************************************************)
ЗАДАЧА Работа(кнопка:Доступ);
ПЕР
  посылка:Посылка;
  поле:Поле.Доступ;
УКАЗ
  (* обратная связь *)
  поле:=кнопка.поле(Поле.Доступ);
  посылка.кнопка:=кнопка;
  поле.Приём(поле,посылка)
КОН Работа;

(******************************************************************************)
ЗАДАЧА Приём(надел:Надел.Доступ; посылка+:Ввод.Посылка);
ПЕР
  кнопка:Доступ;
УКАЗ
  кнопка:=надел(Доступ);
  ДЛЯ посылка ВИДА
  | Поле.Отрисовка:
      Надел.ВыводНадписи(кнопка,кнопка.надпись,0)
  | Ввод.ОтМышки:
      ЕСЛИ посылка.события = {} ТО          (* просто нажали кнопку мышки *)
        Работа(кнопка)
      КОН
  | Ввод.ОтКлавиш:
      ЕСЛИ (посылка.знак = ' ') ИЛИ (посылка.знак = 0DX) ТО
        Работа(кнопка);
        посылка.код:=0
      КОН
  | Поле.Буквица:
      ЕСЛИ посылка.буквица = кнопка.буквица ТО
        Работа(кнопка);
        посылка.буквица:=0
      КОН
  ИНАЧЕ
  КОН
КОН Приём;

(******************************************************************************)
ЗАДАЧА Создать-(верх,лево:ЦЕЛ; надпись-:ЦЕПЬ; действие:ЦЕЛ; выбираемая:КЛЮЧ):Доступ;
ПЕР
  кнопка:Доступ;
  колонок:ЦЕЛ;
  признаки:МНОЖ;
УКАЗ
  СОЗДАТЬ(кнопка);
  Надел.СчитатьНадпись(надпись,кнопка.надпись,колонок,кнопка.буквица);
  ЕСЛИ выбираемая ТО
    признаки:={Надел.прВыбираемый}
  ИНАЧЕ
    признаки:={}
  КОН;
  Надел.Подготовить(кнопка,верх,лево,1,колонок,признаки,Приём);
  кнопка.действие:=действие;
  кнопка.цветНадписи[Надел.сВыбран]:=Надел.цВыбраннойКнопки;
  кнопка.цветБуквицы[Надел.сВыбран]:=Надел.цБуквицыВыбраннойКнопки;
  ВОЗВРАТ кнопка
КОН Создать;

КОН Кнопка.

 
 


Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com

 
Главная     ◄Глагол     ◄Азбука     ◄Задачи на Глаголе     Примеры приложений ►   Среда разработки ►   Отладка программ ►   Отличия от Оберона ►   Отличия от Паскаля ►   Ассемблер ARM ►   Глагол для ARM ►   ? и Ответы