Объектно-Ориентированное программирование на РФокс
Содержание
Общие сведения о языке программирования Русский Фокс
Русский Фокс - это 1С-подобный полнофункциональный язык объектно-ориентированного программирования. Он предлагает мощные средства для интерактивной работы и создания приложений.
Основу объектно-ориентированного программирования составляют классы. Класс содержит свойства, методы и обрабатываемые им события. Объект является экземпляром класса, который наследует характеристики класса.
На основе существующих классов пользователь может создавать свои собственные классы с нужными ему свойствами и методами, причем свойства и методы также могут быть совершенно отличными от уже существующих.
Различают визуальные классы, которые изображаются на экране при выполнении приложения, и невизуальные, а так же классы контейнеры, т.е. классы, которые могут содержать другие классы, и не контейнеры.
Свойства классов влияют на их различные характеристики объекта. Их значение не всегда может меняться в процессе программирования, и во время выполнения приложения.
События - это реакция объекта, на некоторое действие пользователя или какое-либо другой внутренний процесс. Иногда, при желании программиста и соответствующем программировании, события могут вызываться искусственно, даже когда необходимое для их появления действие не произошло.
Метод - это определенное действие объекта, т.е. функция, с помощью которой программист может выполнить над классом и его содержимым нужные действия.
У многих классов существуют одинаковые свойства, методы и события, иногда с незначительными отличиями в своем действии. Необходимо отметить такую характеристику объекта как фокус, который, при его наличии для объекта, свидетельствует что данный объект является текущим активным объектом, т.е. с ним работает пользователь и все события вызываются именно для данного объекта.
Типы переменных
В Русском Фоксе существует несколько типов переменных, например числовые, символьные, логические, даты и т.д. Также они различаются и по области их применения в программе. Существуют локальные (ЛПЕРЕМ – локальные переменные и массивы переменных, значения которых используются и могут изменяться в пределах процедуры или функции где они были непосредственно объявлены. Доступ к ним из других частей программы невозможен, а после завершения содержащей их процедуры или функции эти переменные и массивы уничтожаются.) и глобальные (ПЕРЕМ - переменные и массивы переменных, значения доступны из любой части программы, функций и т.д.)
Далее будут непосредственно рассматриваться все классы Русского Фокса (РФокса).
КЛАССЫ Рфокса для отображения в форме
Класс «Флажок»
Использование класса “Флажок”
Данный класс является визуальным и не контейнером. В приложениях пользователя он может использоваться для отображения и изменения какого-либо параметра, значение которого имеет два варианта (ИСТИНА или ЛОЖЬ, нуль или единица, да или нет и т.п.) и является подобием объекта CheckBox. Данный объект вставляется в форму методом
Форма.ДобавитьОбъект("ИмяОбФлажок","Флажок",; '|Заголовок="ТекстОбъекта"|Лево=12|Верх=70|Ширина=600|Высота=40|'+; 'Источник="Значение"|')
где ИмяОб — уникальное имя объекта на данной форме
"Флажок" — Имя класса создаваемого объекта и последний параметр — это строка с перечислением устанавливаемых свойств объекту.
Кроме того, после создания объекта установить свойства можно методом объекта УстановитьСвойства(СписокПараметров) Например,
Форма.ИмяОбФлажок.УстановитьСвойства('|Заголовок="ТекстОбъекта"|'+; 'Лево=12|Верх=70|Ширина=600|Высота=40|Источник="Значение"|')
Свойства класса «Флажок»
ПрижимТекста – определяет выравнивание текста, ассоциированного с объектом.
Синтаксис: Объект.ПрижимТекста[ = ЧислоЗначение]
ЧислоЗначение - для «Флажок» имеет следующие допустимые значения:
- 0 (по умолчанию) Выравнивание по левому краю.
- 1 Выравнивание по правому краю.
АвтоРазмер – указывает когда объект автоматически изменяет свои размеры для соответствия его собственному содержанию (размеру строки текста).
Синтаксис: Объект.АвтоРазмер[ = ИстинаИлиЛожь]
ИстинаИлиЛожь – существуют следующие значения
- ИСТИНА Объект изменяется.
- ЛОЖЬ (по умолчанию) Содержимое объекта урезается, когда оно превышает его размеры. Размеры объекта постоянны.
Текущее значение данного свойства можно получить функцией ТекущееЗначение = Объект.АвтоРазмер(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.АвтоРазмер(ИСТИНА)
ЦветФона – определяет фоновый цвет, используемый для отображения текста и графики в объекте. Данное свойство доступно как во время разработки так и выполнения.
Синтаксис: Объект.ЦветФона[ = ЗначениеЦвета]
- ЗначениеЦвета – указывает значение цвета. Например
Цвет | В формате RGB | Величина |
---|---|---|
белый | 255, 255, 255 | 16777215 |
черный | 0, 0, 0 | 0 |
серый | 192, 192, 192 | 12632256 |
Текущее значение данного свойства можно получить функцией ТекущееЗначение = Объект.ЦветФона(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.ЦветФона(16777215) - Установить Белый цвет фона.
Заголовок – определяет текст в объекте.
Синтаксис: Объект.Заголовок[ = ТекстЗначение]
- ТекстЗначение - определяет текст, отображаемый в объекте.
Для того чтобы привязать нажатие определенной клавиши с объектом нужно включить символы «\<» в свойстве «Заголовок» сразу за этой клавишей. Теперь пользователь при нажатии этой клавиши и ALT переходит к заданному объекту.
Текущее значение данного свойства можно получить функцией ТекущееЗначение = Объект.Заголовок(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.Заголовок(«ТекстЗаголовка») - Установить заголовок = «ТекстЗаголовка».
Комментарий – хранит информацию об объекте. В отличие от других свойств, оно не используется РФоксом и хранит описание объекта или другую информацию нужную пользователю.
Синтаксис: Объект.Комментарий[ = ТекстЗначение]
- ТекстЗначение - содержит текстовую строку
Текущее значение данного свойства можно получить функцией ТекущееЗначение = Объект.Комментарий(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.Комментарий(«ТекстКомментария») - Установить текст комментария.
Источник – определяет источник данных, связанных с объектом.
Синтаксис: Объект.Источник[ = «ИмяПоля»]
- ИмяПоля – переменная или поле.
Текущее значение данного свойства можно получить функцией Значение = Объект.Источник(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.Источник(«ИмяПоля») - Установить указатель на имя поля, где хранится значение.
НеАктивныйЦветФона - определяет цвет фона для выключенного объекта.
Синтаксис: Объект.НеАктивныйЦветФона[ = ЗначениеЦвета]
Текущее значение данного свойства можно получить функцией Значение = Объект.НеАктивныйЦветФона(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.НеАктивныйЦветФона(ЗначениеЦвета) - Установить значение цвета для фона не активного (выключенного) объекта.
НеАктивныйЦветТекста - определяет цвет текста для выключенного объекта.
Синтаксис: Объект.НеАктивныйЦветТекста[ = ЗначениеЦвета]
Текущее значение данного свойства можно получить функцией Значение = Объект.НеАктивныйЦветТекста(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.НеАктивныйЦветТекста(ЗначениеЦвета) - Установить значение цвета для текста не активного (выключенного) объекта.
РеагируетНаСобытия - указывает когда объект активен, т.е. может реагировать на события. Данное свойство доступно как во время разработки так и выполнения.
Синтаксис: Объект.РеагируетНаСобытия[ = Значение]
Значение - имеет следующие допустимые значения:
- ИСТИНА - (по умолчанию) объект реагирует на события.
- ЛОЖЬ - объект не реагирует на события.