Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оно.doc
Скачиваний:
8
Добавлен:
31.07.2019
Размер:
336.9 Кб
Скачать
  1. Интерфейс разработчика в системе Delphi: компоненты интерфейса, страницы палитры компонентов.

Компоненты интерфейса:

  • главное меню (Main Menu),

  • палитра компонентов  (Component Palette),

  • инспектор объектов (Object Inspector),

  • окно формы или дизайнер форм (Form Designer),

  • окно кода (исходного текста) программы (Code Editor).

Палитра компонентов используется для выбора компонентов прикладных программ (приложений). Компоненты разделяются на визуальные (кнопки, поля редактирования и др.) и невизуальные (таблицы, меню, и др.).

  1. Классы программных объектов: определение класса, свойства класса, иерархия классов системы Delphi.

Класс (Class) - тип программных объектов, который определяет структуру, включающую (инкапсулирующую) поля, методы и свойства. Классы являются развитием «объектового» типа; так же как и «объекты» они обладают возможностями наследования и полиморфизма.

Свойства являются интерфейсом для данных, связанных с классом.

Свойства определяют доступ к данным: как данные читать и модифицировать. Для других частей программы свойства представляются подобными полям.

иерархия классов системы Delphi.

  1. Структура прикладной программы, создаваемой в системе Delphi, и состав программного проекта.

Логическая структура программы – графические модели, показывающие иерархию процедур и функций (подчинённость, вызывающие и вызываемые процедуры), или информационное взаимодействие процедур, функций, программных модулей.

  1. Общие свойства компонентов: группы свойств, изменение значений свойств, примеры свойств и значений.

  1. Формы и их свойства: компоненты типа TForm; назначение свойства формы, применение модальных форм.

  1. Средства системы Delphi для работы с файлами бах данных: утилиты BDE, SQL Links, BDE Administrator и др.; невизуальные и визуальные компоненты для работы с БД.

  1. Организация взаимодействия прикладного ПО с БД: варианты локальной БД, использование файл-сервера и системы «клиент-сервер».

  1. Создание структуры таблиц (файлов) БД в системе Delphi: обобщенная схема взаимодействия прикладного ПО с БД; форматы файлов БД; создание структуры записи; типы полей ключевые поля; свойства полей.

  1. Создание в среде Delphi прикладных программ для работы с таблицами БД: компоненты пользовательского интерфейса, схемы взаимодействия компонентов.

  1. Отбор (фильтрация) данных в бд.

Фильтрацией называют определение ограничений для записей, отбираемых для набора данных. По умолчанию фильтрация отключена, однако всегда можно ею воспользоваться, определив параметры фильтра в свойстве Filter и установив другое свойство - Filtered - в истину.

ПРИМЕЧАНИЕ При работе с запросами SQL посредством компонента Query или ему аналогичного, фильтрация набора данных действует поверх ограничений, заданных в самом SQL-запросе. Иначе говоря, если при помощи запроса уже был произведен "отсев" данных, то фильтрация дополнительно ограничит число выводимых записей.

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

Для примера рассмотрим несколько вариантов фильтров:

BILL_SUMM > 150 BILL_CUST > 2 AND BILL_CUST < 5

В первом случае будут отобраны только те ряды, у которых в поле BILL_SUMM значение превышает 150, а во втором - ряды, поле BILL_CUST которых имеет значения больше 2 и меньше 5. Если в выражении фильтра используются строковые или символьные литералы, то они должны быть заключены в одинарные кавычки:

CUST_NAME = 'OOO "Alpha"'

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

Table1.Filter:='CUST_NAME = ' + QuotedStr(str);

Если же сам фильтр вводится в код программы как литерал, то можно заранее продублировать кавычки:

Table1.Filter:='CUST_NAME = ''OOO "Gamma"'';

Теперь создадим небольшое приложение, которое будет осуществлять фильтрацию записей в наборе данных. В качестве набора вновь используем таблицу (Table), так же нам понадобятся компоненты DBGrid и DataSource. Для управления фильтром поместим на форму компонент-редактор (Edit) и 2 кнопки (Button). Первая кнопка, назовем ее "Применить" будет включать фильтрацию путем присвоения значения, определенного в редакторе, свойству Filter таблицы и назначения значения истины свойству Filtered:

Table1.Filter:=Edit1.Text; Table1.Filtered:=true;

Вторая же кнопка - "Сброс" - будет просто отключать фильтрацию:

Table1.Filtered:=false;

Теперь остается запустить приложение, ввести какое-либо подходящее выражение в строку фильтра и нажать кнопку "Применить".

Исходный код примера находится в каталоге Demo\Part4\Filter.

Еще одним свойством набора данных, имеющим отношение к фильтрации, является FilterOptions. Оно представляет собой набор из 2 флагов - foCaseInsensitive и foNoPartialCompare. Первый из них, будучи установленным, делает фильтрацию в строках регистронезависимой. Второй же заставит интерпретировать знак * (звездочку) как символ, в противном случае звездочка будет выполнять роль шаблона подстановки. Например, можно определить фильтр таким образом:

CUST_NAME = 'OOO *'

В том случае, если флаг foNoPartialCompare выключен, то будут отобраны все записи, начинающиеся с "ООО ". Если же этот флаг включен, то подойдет только запись, имеющая именно такое значение, т.е. "ООО *".