Объектно-Ориентированное программирование на РФокс

Материал из ТХАБ.РФ
Перейти к: навигация, поиск

Общие сведения о языке программирования Русский Фокс

Русский Фокс - это 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 переходит к заданному объекту.

Текущее значение данного свойства можно получить функцией ТекущееЗначение = Объект.Заголовок(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.Заголовок(«ТекстЗаголовка») - Установить заголовок = «ТекстЗаголовка».

Комментарий – хранит информацию об объекте. В отличие от других свойств, оно не используется РФоксом и хранит описание объекта или другую информацию нужную пользователю.

Синтаксис: Объект.Комментарий[ = ТекстЗначение]

  • ТекстЗначение - содержит текстовую строку

Текущее значение данного свойства можно получить функцией ТекущееЗначение = Объект.Комментарий(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.Комментарий(«ТекстКомментария») - Установить текст комментария.

Источник – определяет источник данных, связанных с объектом.

Синтаксис: Объект.Источник[ = «ИмяПоля»]

  • ИмяПоля – переменная или поле.

Текущее значение данного свойства можно получить функцией Значение = Объект.Источник(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.Источник(«ИмяПоля») - Установить указатель на имя поля, где хранится значение.

НеАктивныйЦветФона - определяет цвет фона для выключенного объекта.

Синтаксис: Объект.НеАктивныйЦветФона[ = ЗначениеЦвета]

Текущее значение данного свойства можно получить функцией Значение = Объект.НеАктивныйЦветФона(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.НеАктивныйЦветФона(ЗначениеЦвета) - Установить значение цвета для фона не активного (выключенного) объекта.

НеАктивныйЦветТекста - определяет цвет текста для выключенного объекта.

Синтаксис: Объект.НеАктивныйЦветТекста[ = ЗначениеЦвета]

Текущее значение данного свойства можно получить функцией Значение = Объект.НеАктивныйЦветТекста(). Этой же функцией можно устанавливать данное значение, если передавать значение в параметре функции Объект.НеАктивныйЦветТекста(ЗначениеЦвета) - Установить значение цвета для текста не активного (выключенного) объекта.

РеагируетНаСобытия - указывает когда объект активен, т.е. может реагировать на события. Данное свойство доступно как во время разработки так и выполнения.

Синтаксис: Объект.РеагируетНаСобытия[ = Значение]

Значение - имеет следующие допустимые значения:

  • ИСТИНА - (по умолчанию) объект реагирует на события.
  • ЛОЖЬ - объект не реагирует на события.