Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
answ_infa (1).docx
Скачиваний:
8
Добавлен:
10.05.2015
Размер:
85.03 Кб
Скачать

47) Область действия идентификатора компоненты простирается за

пределы объектного типа. Более того, область действия идентифика-

тора компонента простирается сквозь блоки процедур, функций,

конструкторов и деструкторов, которые реализуют методы объектного

типа и его наследников. Исходя из этих соображений, написание

идентификатора компоненты должно быть уникальным внутри объектно-

го типа и внутри всех его наследников, а также внутри всех его

методов.

Область действия идентификатора компонента, описанного в

части private описания типа, ограничивается модулем (программой),

которая содержит описание объектного типа. Другими словами, част-

ные (private) компоненты-идентификаторы действуют, как обычные

общедоступные идентификаторы в рамках модуля, который содержит

описание объектного типа, а вне модуля любые частные компоненты и

идентификаторы неизвестны и недоступны. Поместив в один модуль

связанные типы объектов, можно сделать так, что эти объекты смо-

гут обращаться к частным компонентам друг друга, и эти частные

компоненты будут неизвестны другим модулям.

В описании объектного типа заголовок метода может задавать

параметры описываемого объектного типа, даже если описание еще не

полное. Это иллюстрируется методами Copy, Intersect и Union типа

TRectange в предыдущем примере

48) Событие в объектно-ориентированное программировании — это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий.

События генерируются оконной системой или Qt, в ответ на различные ситуации. Когда нажимается или отпускается клавиша на клавиатуре или кнопка мыши, генерируется соответствующее событие. Когда перемещается одно окно и в результате этого перемещения открывается другое, лежавшее ниже, возникает событие, которое сообщает открывшемуся окну о необходимости перерисовать себя. События генерируются всякий раз, когда виджет теряет или получает фокус ввода. В большинстве своем, события генерируются в ответ на действия пользователя, но иногда, например события от таймера, они генерируются системой независимо от пользователя.

События поступают к объектам в функцию event(), унаследованную от QObject. Реализация функции event() в QWidget передает наиболее употребимые типы событий специализированным обработчикам, таким как mousePressEvent(), keyPressEvent() и paintEvent(), остальные события игнорируются.

49) События мыши.

Событие

Описание

onClick

Щелчок мыши на компоненте и некоторые другие действия пользователя

onDblClick

Двойной щелчок мыши на компоненте

onMouseDown

Нажатие клавиши мыши на компоненте. Возможно распознавание нажатой кнопки и координат курсора мыши

onMouseMove

Перемещение курсора мыши над компонентом. Возможно распознавание нажатой кнопки и координат курсора мыши

onMouseUp

Отпускание ранее нажатой мыши над компонентом. Возможно распознавание нажатой кнопки и координат курсора мыши

onStartDrag

Начало процесса «перетаскивания» объекта. Возможно распознавание перетаскиваемого объекта

onDragOver

Перемещение «перетаскиваемого» объекта над компонентом. Возможно распознавание перетаскиваемого объекта и координат курсора мыши

onDragDrop

Отпускание ранее нажатой кнопки мыши после «перетаскивания» объекта. Возможно распознавание перетаскиваемого объекта и координат курсора мыши

onEndDrag

Еще одно событие при отпускании ранее нажатой кнопки мыши после «перетаскивани» объекта. Возможно распознавание перетаскиваемого объекта и координат курсора мыши

onEnter

Событие в момент получения элементом фокуса в результате манипуляций мышью, нажатия клавиши табуляции или программной передачи фокуса

onExit

Событие в момент потери элементом фокуса в результате манипуляций мышью, нажатия клавиши табуляции или программной передачи фокуса

50)

В оконных компонентах Delphi определены три события, связанные с клавиатурой:

Событие

Описание

onKeyDown

Событие наступает при нажатии пользователем любой клавиши. Можно распознать нажатые клавиши, включая функциональные, и кнопки мыши, но нельзя распознать символ нажатой клавиши

onKeyPress

Событие наступает при нажатии пользователем клавиши символа. Можно распознать только нажатую клавишу символа, различить символ в верхнем и нижнем регистре, различить символы кириллицы и латинские, но нельзя распознать функциональные клавиши и кнопки.

onKeyUp

Событие наступает при отпускании пользователем любой клавиши. Можно распознать нажатые клавиши, включая функциональные, и кнопки мыши, но нельзя распознать символ отпускаемой клавиши

51)

Chr (X) - преобразование ASCII-кода в символ.

Аргумент функции должен быть целого типа в диапазоне (0..255). Результатом является символ, соответствующий данному коду.

High(X) - получение максимального значения величины.

Аргумент функции - параметр или идентификатор порядкового типа, типа-массива (см. п. 6.1), типа-строки (см. п. 6.2) или открытый массив (см. п. 10.3.5).

Результат функции для величины порядкового типа - максимальное значение этой величины, типа-массива - максимальное значение индекса, типа-строки -объявленный размер строки, открытого массива - количество компонент массива минус 1 (максимальный индекс, при начале нумерации с нуля).

Low(X) - получение минимального значения величины.

Аргумент функции - параметр или идентификатор порядкового типа, типа-массива (см. п. 6.1), типа-строки (см. п. 6.2) или открытый массив (см. п. 10.3.5). Результат функции для величины порядкового типа - минимальное значение этой величины, типа-массива - минимальное значение индекса, типа-строки или открытого массива - 0.

Ord(X) - преобразование любого порядкового типа в целый тип.

Аргументом функции может быть величина любого порядкового типа (логический, символьный, перечисляемый). Результатом является величина типа Longint.

Round (X) - округление вещественного числа до ближайшего целого.

Аргумент функции - величина вещественного типа, а результат - округленная до ближайшего целого величина типа Longint. Если результат выходит за диапазон значений Longint, то при выполнении программы возникает ошибка.

Trunc(X) - получение целой части вещественного числа.

Аргумент функции - величина вещественного типа, а результат - целая часть этого числа. Тип результата - Longint. Если результат выходит за диапазон значений Longint, то во время выполнения программы возникает ошибка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]