Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
павлов часть 2.docx
Скачиваний:
2
Добавлен:
20.04.2019
Размер:
72.74 Кб
Скачать

Билет 11

1)Класс tComponent

Класс TComponent является предком всех компонентов VCL. Он используется в качестве основы для создания невизуальных компонентов и реализует основные механизмы, которые обеспечивают функционирование любого компонента. В нем появляются первые свойства, которые отображаются в Инспекторе объектов. Это свойство

property Name: TComponentName;

Оно содержит имя экземпляра компонента, которое используется для идентификации компонента в приложении.

Т ип TComponentName представляет собой обычную строку.

 

Свойство

property Tag: Longint;

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

Определение метода-конструктора TComponent выглядит лаконично, в нем присутствует указатель на единственный параметр AOwner:

constructor Create(AOwner: TComponent);

Смысл его таков: owner — это тот объект, который при создании вызывает конструкторы всех объектов, владельцем которых он является, а при уничтожении — их деструкторы. Таким образом, поместив при разработке компонент на форму, вы можете не заботиться о его создании и уничтожении в программе. Все свойства таких компонентов и все связи между ними запоминаются в файле формы (.dfm) и при запуске приложения создаются вновь автоматически.

Деструктор компонента:

destructor Destroy;

уничтожает все дочерние компоненты (вызывая их деструкторы) и вычеркивает себя из списка компонента-владельца.

Для реализации описанной иерархии компонентов в классе TComponent введен механизм учета и управления компонентами, для которых данный компонент является владельцем

2)Модифицирование только определенных строк

Конечно, вы не всегда захотите указывать все строки таблицы для изменения единственного значения, так что UPDATE, наподобие DELETE, может брать предикаты. Вот как например можно выполнить изменение одинаковое для всех заказчиков продавца Peel ( имеющего snum=1001 ):

UPDATE Customers

SET rating = 200

WHERE snum = 1001;

ИСПОЛЬЗОВАНИЕ ВЫРАЖЕНИЙ ДЛЯ МОДИФИКАЦИИ

Вы можете использовать скалярные выражения в предложении SET команды UPDATE, однако, включив его в выражение пол которое будет изменено. В этом их отличие от предложения VALUES команды INSERT, в котором выражения не могут использоваться; это свойство скалярных выражений - весьма полезна особенность. Предположим, что вы решили удвоить комиссионные всем вашим продавцам. Вы можете использовать следующее выражение:

UPDATE Salespeople

SET comm = comm * 2;

Всякий раз, когда вы ссылаетесь к указанному значению столбца в предложении SET, произведенное значение может получится из текущей строки, прежде в ней будут сделаны какие-то изменения с помощью команды UPDATE. Естественно, вы можете скомбинировать эти особенности, и сказать, - удвоить комиссию всем продавцам в Лондоне, таким предложением:

UPDATE Salespeople

SET comm = comm * 2

WHERE city = 'London';

Билет 12

1)Класс TControl

Класс TControl (управление) - наследник класса TComponent. Это базовый класс для визуальных компонентов Delphi. Он содержит собственные свойства (более 50) и методы (около 100), имеющиеся у всех визуальных компонентов. Описан в модуле Controls.

Это абстрактный класс. Нельзя создать объект этого класса. Он используется для порождения классов-потомков, из которых определены два стандартных класса:

  • TWinControl. Базовый для оконных компонентов.

  • TGraphicControl. Базовый для графических компонентов.

Основные свойства:

Свойство

Назначение

Name

Имя компонента

Owner

Имя владельца

Caption

Надпись

Color

Цвет фона

Font

Шрифт

Left

Левая граница

Top

Верхняя граница

Height

Высота

Width

Ширина

Visible

Видимость

Hint

Текст подсказки

Основные методы:

Метод

Назначение

Click

Обработчики событий

DblClick

MouseDown

MouseUp

MouseMove

Create

Конструктор

Destroy

Деструктор

Hide

Скрыть

2) Изменение в БД многих столбцов

Предложение SET может назначать любое число столбцов, отделяемых запятыми. Все указанные назначения могут быть сделаны для любой табличной строки, но только для одной в каждый момент времени. Предположим, что продавец Motika ушел на пенсию, и мы хотим переназначить его номер новому продавцу:

UPDATE Salespeople

SET sname = 'Gibson',city = 'Boston',comm = .10

WHERE snum = 1004;

Эта команда передаст новому продавцу Gibson, всех текущих заказчиков быв- шего продавца Motika и порядки, в том виде в котором они были скомпонованы для Motika с помощью пол snum. Вы не можете, однако, модифицировать сразу много таблиц в одной команде, частично потому, что вы не можете использовать префиксы таблицы со столбцами измененными предложением SET. Другими словами, вы не можете сказать - "SET Salespeople.sname = Gibson" в команде UPDATE, вы можете сказать только так - "SET sname = Gibson".

Билет 13

1)Класс TWinControl 

(оконное управление) - наследник класса TControl. Это базовый класс для оконных визуальных компонентов Delphi. Он содержит собственные свойства (более 30) и методы (около 100), имеющиеся у всех визуальных компонентов. Описан в модуле Controls.

Это абстрактный класс. Нельзя создать объект этого класса.

Основные методы:

Метод

Назначение

KeyDown

Обработчики событий

KeyUp

KeyPress

Create

Конструктор

Destroy

Деструктор

2) Просмотр определенных столбцов таблицы

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

SELECT sname, comm

FROM Salespeople;

будет производить вывод показанный на Рисунке 3.2.

=============== SQL Execution Log ============

| |

| SELECT snum, comm |

| FROM Salespeople; |

| |

| ==============================================|

| sname comm |

| ------------- --------- |

| Peel 0.12 |

| Serres 0.13 |

| Motika 0.11 |

| Rifkin 0.15 |

| Axelrod 0.10 |

===============================================

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

Билет 14