- •Классификация программного обеспечения (по): разновидности по, состав и назначение по различных групп.
- •Сущность, назначение и принципы объектно-ориентированного программирования.
- •Назначение и концепции визуального программирования; обработка событий, обобщенная структура программы анализа событий, схема создания ппп с помощью системы визуального программирования.
- •Назначение и характеристики системы визуального программирования Delphi.
- •Интерфейс разработчика в системе Delphi: компоненты интерфейса, страницы палитры компонентов.
- •Структура прикладной программы, создаваемой в системе Delphi, и состав программного проекта.
- •Отбор (фильтрация) данных в бд.
- •Создание вычисляемых полей.
- •Проверка значений полей.
- •Методы формального определения языков программирования.
- •Характеристики программного обеспечения: понятность, мобильность, надежность, показатели эффективности, точность.
Интерфейс разработчика в системе Delphi: компоненты интерфейса, страницы палитры компонентов.
Компоненты интерфейса:
главное меню (Main Menu),
палитра компонентов (Component Palette),
инспектор объектов (Object Inspector),
окно формы или дизайнер форм (Form Designer),
окно кода (исходного текста) программы (Code Editor).
Палитра компонентов используется для выбора компонентов прикладных программ (приложений). Компоненты разделяются на визуальные (кнопки, поля редактирования и др.) и невизуальные (таблицы, меню, и др.).
Классы программных объектов: определение класса, свойства класса, иерархия классов системы Delphi.
Класс (Class) - тип программных объектов, который определяет структуру, включающую (инкапсулирующую) поля, методы и свойства. Классы являются развитием «объектового» типа; так же как и «объекты» они обладают возможностями наследования и полиморфизма.
Свойства являются интерфейсом для данных, связанных с классом.
Свойства определяют доступ к данным: как данные читать и модифицировать. Для других частей программы свойства представляются подобными полям.
иерархия классов системы Delphi.
Структура прикладной программы, создаваемой в системе Delphi, и состав программного проекта.
Логическая структура программы – графические модели, показывающие иерархию процедур и функций (подчинённость, вызывающие и вызываемые процедуры), или информационное взаимодействие процедур, функций, программных модулей.
Общие свойства компонентов: группы свойств, изменение значений свойств, примеры свойств и значений.
Формы и их свойства: компоненты типа TForm; назначение свойства формы, применение модальных форм.
Средства системы Delphi для работы с файлами бах данных: утилиты BDE, SQL Links, BDE Administrator и др.; невизуальные и визуальные компоненты для работы с БД.
Организация взаимодействия прикладного ПО с БД: варианты локальной БД, использование файл-сервера и системы «клиент-сервер».
Создание структуры таблиц (файлов) БД в системе Delphi: обобщенная схема взаимодействия прикладного ПО с БД; форматы файлов БД; создание структуры записи; типы полей ключевые поля; свойства полей.
Создание в среде Delphi прикладных программ для работы с таблицами БД: компоненты пользовательского интерфейса, схемы взаимодействия компонентов.
Отбор (фильтрация) данных в бд.
Фильтрацией называют определение ограничений для записей, отбираемых для набора данных. По умолчанию фильтрация отключена, однако всегда можно ею воспользоваться, определив параметры фильтра в свойстве 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 выключен, то будут отобраны все записи, начинающиеся с "ООО ". Если же этот флаг включен, то подойдет только запись, имеющая именно такое значение, т.е. "ООО *".