- •Оглавление
- •Часть 1. Краткое описание Delphi 8
- •Часть 2. Технология ado для баз данных access 186
- •9.1. Общие сведения 289
- •Введение
- •Часть 1. Краткое описание Delphi
- •1. Работа со средой delphi
- •1.1. Ознакомление с delphi
- •1.2. Вкладка дизайнера формы (design)
- •1.3. Вкладка редактора кода программы
- •1.4. Окно object inspector
- •1.5. Окно project manager
- •1.6. Окно палитры инструментов
- •1.7. Создание первого проекта приложения
- •1.8. Сохранение проекта
- •1.8. Сохранение проекта
- •1.9. Компиляция
- •2. Основа языка delphi
- •2.1. Основные понятия языка
- •2.1.1. Элементы языка
- •2.1.2. Пример простой программы
- •2.1.3. Типы данных
- •2.1.4. Операции и выражения
- •2.1.5. Стандартные функции
- •2.1.6. Ввод и вывод на дисплей
- •2.1.7. Оператор присваивания
- •2.2. Операторы языка паскаль
- •2.2.1. Составной оператор
- •2.2.2. Условный оператор
- •2.2.3. Сложные условия
- •2.2.4. Оператор выбора case
- •2.2.5. Оператор цикла for
- •2.2.6. Оператор цикла while
- •2.2.7. Оператор цикла repeat
- •2.2.8. Вложенные циклы
- •2.2.9. Прочие операторы
- •2.3. Общая структура программы
- •2.3.1. Перечень разделов программы
- •2.4. Массивы
- •2.4.1. Одномерные массивы
- •2.4.2. Сортировка массивов и поиск элемента в массиве
- •2.4.3. Многомерные массивы
- •2.5. Функции и процедуры
- •2.5.1. Описание функций
- •2.5.2. Обращение к функции
- •2.5.3. Процедуры
- •2.5.4. Параметры-значения и параметры-переменные
- •2.5.5. Локальные и глобальные переменные
- •2.5.6. Pекурсия
- •2.6. Строки символов
- •2.6.1. Задание строк
- •Var имя: string[длина];
- •2.6.2. Функции и процедуры для обработки строк
- •2.7. Порядковые типы данных
- •2.7.1. Перечисляемый тип данных
- •2.7.2. Интервальный тип данных
- •2.7.3. Порядковые типы данных
- •2.7.4. Дополнение:тип данных tDateTime (дата-время)
- •2.8. Множества
- •2.8.1. Значения типа множество
- •2.8.2. Операции на множествах
- •2.9. Записи
- •2.9.1. Поля записи
- •2.9.2. Оператор with
- •2.9.3. Последовательный поиск в массиве записей
- •2.9.4. Двоичный поиск в массиве записей
- •2.10. Файлы
- •2.10.1. Основные свойства файлов
- •2.10.2. Типизированные файлы
- •2.10.3. Текстовые файлы
- •2.10.4. Поиск файлов
- •2.11. Динамическая память
- •2.11.1. Динамические переменные и указатели
- •2.11.2. Динамические списки
- •2.11.3. Деревья
- •2.12. Программные модули
- •2.12.1. Модули, формируемые пользователем
- •2.12.2. Стандартные модули
- •2.12.3. Примеры программ
- •3. Главная форма
- •3.1. Свойства главной формы
- •3.2. События главной формы
- •4. Описание некоторых компонентов
- •4.1. Компонент tpanel (панели)
- •4.2. Компонент tbutton (кнопка)
- •4.3. Дополнительные кнопки
- •4.4. Компонент tlabel (надписи)
- •4.5. Компонент tedit (Строки ввода)
- •4.6. Компонент тМето (многостроч. Поле ввода)
- •4.7. Свойства и методы класса tstrings
- •4.8. Компонент checkbox (флажок)
- •4.9. Компонент tradiobutton (кнопки выбора)
- •4.10. Компонент MainMenu (главное меню программы)
- •4.11. Компонент timage
- •4.12. Компонент tstringgrid (сетка)
- •4.13. Компонент ttimer(таймер)
- •5. Отладка программ
- •5.1. Типы ошибок
- •5.2. Отладка программы
- •5.2.1. Трассировка программы
- •5.2.2. Точки останова программы
- •5.2.3. Наблюдение значений переменных
- •Часть 2. Технология ado для баз данных access
- •6. Создание баз данных access
- •6.1. Определение понятия баз данных
- •6.2. Интерфейс программы access
- •6.3. Создание базы данных в access 2007
- •6.3.1. Создание двухтабличной базы данных
- •6.3.2. Создание базы данных с вычисляемыми полями
- •6.4. Выбop формата для новой базы данных
- •6.5. Создание пустой базы данных
- •6.6. Открытие и закрытие базы данных
- •6.7. Создание таблиц в режиме конструктора
- •6.7.1. Выбор первичного ключа
- •6.7.2. Изменение полей и таблиц
- •6.7.3. Копирование полей
- •6.7.4. Перемещение полей
- •6.7.5. Удаление полей
- •6.7.6. Операции с таблицами
- •6.8. Создание базы данных в access 2003
- •6.9. Установление связей между таблицами
- •6.10. Обеспечение целостности записей в базе данных
- •6.11. Редактирование и удаление связей
- •7. Система доступа к данным ado
- •7.1. Общие сведения
- •7.2. Компонент adoConnection
- •7.2.1. Свойства компонента adoConnection.
- •7.2.2. Методы компонента adoConnection
- •7.3.Компонент аdоТable
- •7.3.1. Свойства компонента tadoTable
- •7.3.2. Методы компонента tadoTable
- •7.4. Компонент adoQuery
- •7.5. Компонент adoDataSet
- •7.5.1.Свойства компонента adoDataSet
- •7.5.2. Методы компонента adoDataSet
- •7.5.3. Cобытия компонента adoDataSet
- •7.6. Компонент DataSource
- •7.7.Комнонент DataGrid
- •7.7.1 Cвойства компонента DataGrid
- •7.7.2. Методы и события компонента DataGrid
- •7.8. Компонент adocommand
- •8. Управление базами данных
- •8.1. Приложение для управления базами данных
- •8.2. Свойства полей базы данных
- •8.3. Редактирование базы данных
- •8.4. Сортировка данных
- •8.5. Поиск данных в базе
- •8.5.1. Фильтрация данных в базе
- •8.5.2. Нахождения информации методом Locate
- •9.1. Общие сведения
- •9.2. Основные операторы запроса
- •9.2.1. Агрегатные функции
- •9.2.2. Подзапросы
- •9.3. Операторы наполнения баз данных sql
- •9.3.1. Ввод значений
- •9.3.2. Удаление значений
- •9.3.3. Изменение значений
- •9.4. Операторы создания баз данных sql
- •9.4.1. Команда создания таблицы.
- •9.4.2. Первичные ключи таблицы
- •9.4.3. Индексы таблицы
- •9.4.4. Добавление в таблицу новых столбцов
- •10. Реализация sql- запросов
- •10.1. Компонент tadoQuery для sql- запросов
- •10.2. Форма для реализация sql-запроса
- •11. Генератор отчетов Quick Reports
- •11.1.Описание Quick Reports
- •11.2. Печать записи с помощью Quick Reports
- •11.3. Печать таблиц с помощью Quick Reports
- •394026 Воронеж, Московский просп., 14
1.6. Окно палитры инструментов
Справа от окна формы на вкладках окна палитры инструментов Tool Palette находятся компоненты, которые обеспечивают работу приложения и позволяют реализовывать интерфейс пользователя.
Компоненты – это объекты, т.е.«строительные блоки», из которых собирается приложение Delphi.
Такими строительными блоками могут быть надписи, кнопки, списки, переключатели и т.д. (визуальные компоненты). Или, таймеры и т.д. (не визуальные компоненты).
Компоненты представлены на палитре инструментов, в виде пиктограмм с подписями, указывающими название соответствующего класса.
Пиктограммы стандартных компонентов продукта Delphi 2009 разделены на категории в соответствии с выполняемыми ими функциями.
Каждая из них представлена на вкладке в виде разворачивающегося списка. По умолчанию при запуске Delphi 2009 активной является категория (вкладка) Standard.
Выбранный компонент легко установить на форму создаваемого приложения, выполнив по нему двойной щелчок на палитре инструментов или выполнив щелчок на требуемом компоненте, а затем установить курсор мыши в нужной точке формы, щелкнуть мышью и провести ее по диагонали сверху вниз.
Программист может свернуть любую категорию, нажав на кнопку со значком слева от заголовка, либо развернуть ее, нажав на кнопку .
Полный список компонентов достаточно длинный, поэтому не всегда удобно осуществлять поиск одного из них, перемещаясь по палитре инструментов с помощью полос прокрутки.
Если нажать кнопку и в отобразившемся списке выбрать нужную категорию, то будет осуществлен быстрый переход к ней.
Пользователь (Программист) может настроить палитру инструментов так, как ему будет удобно. Например, он может путем перетаскивания (Drag&Drop) переместить вверх наиболее часто используемые категории, либо таким же образом перенести из одной категории в другую требуемые ему для работы компоненты.
Дополнительные возможности по настройке палитры инструментов открывает ее контекстное меню (вызываемое нажатием правой кнопки мыши),
Палитра инструментов содержит большое количество различных стандартных компонентов.
Очевидно, что невозможно подробно рассмотреть все компоненты в рамках одного учебного пособия.
Данном учебном пособии будут рассмотрены только те которые, на наш взгляд, наиболее часто используются.
Более подробную информацию о компонентах можно получить, используя справочную систему Delphi.
1.7. Создание первого проекта приложения
При разработке каждого приложения в Delphi создается проект, который целесообразно сохранять в отдельной папке, которую надо предварительно создать.
Создать новый проект приложения можно путем выбора в главном меню пункта File | New | VCL Forms Application Delphi for Win32.
Этот тип приложения является базовым и основан на использовании стандартных компонентов Delphi из библиотеки VCL (Visual Component Library).
При создании нового проекта приложения на экране сразу же откроется вкладка дизайнера форм с размещенной в нем пустой формой. Если приложение должно содержать несколько форм, то для добавления к проекту дополнительных форм необходимо воспользоваться командой меню File| New|Form - Delphi-Win32.
При создании нового приложения описанным выше способом в редактор кода автоматически записывается начальный код, который имеет следующий вид:
Unit Unitl; interface _
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type
TForml = class(TForm) private
{ Private declarations } public
{ Public declarations }
End;
var
Forml: TForml; implementation
{SR*.dfm}
End.
В первой строке записано стандартное название текущего модуля Unitl (при его сохранении под другим именем эта строка автоматически изменяется соответствующим образом).
Далее следует секция interface, где с помощью ключевого словa uses объявляются подключаемые модули и стандартные библиотеки, в секции type описываются классы и пользовательские типы и с использованием ключевого слова var объявляются глобальные переменные .
В новом приложении автоматически описывается новый класс TForml, являющийся наследником класса TForm. Кроме того, объявляется новая переменная Forml типа TForml, через которую можно получить доступ к свойствам, методам и событиям формы.
Вслед за этим представлена секция implementation.
Первоначально здесь размещена лишь ссылка на файл ресурсов SR*.dfm, имеющий расширение dfm, в котором содержится код внутренней реализации формы, определяющий ее внешний вид.
Код модуля завершается ключевым словом end, после которого ставится точка.
Приведенный код автоматически создается в начале работы над новым проектом и затем модифицируется как средой Delphi при добавлении на форму новых элементов управления или при удалении существующих, так и программистом при написании собственного кода.
Внешний вид приложения в Delphi создается интерактивно.
Пользователь может выбирать в палитре инструментов Tool Palette различные элементы управления (кнопки, текстовые поля, переключатели, и т. п.) и перетаскивать их на поверхность формы, а среда разработки автоматически генерирует соответствующий код.
Чтобы изменить заданные по умолчанию значения свойств элементов управления, размещенных на форме (равно как я свойств самой формы), следует вначале мышью выделить в окне дизайнера формы необходимый элемент, а затем на вкладке Properties Инспектора объектов установить требуемое значение того или иного свойства.
В следующих главах будут более детально рассмотрены компоненты, описанные в данном учебном пособии, их свойства, методы и события.
Обработчики событий для элементов управления, входящих в состав проекта, и другой программный код разработчик (программист) добавляет к начальному автоматически сгенерированному коду программы с помощью редактора кода.
Если дважды щелкнуть мышью по размещенному на форме элементу управления, то в редакторе кода будет создана заготовка обработчика события, установленного по умолчанию, для данного элемента. Например, для компонентов Button или Label событием по умолчанию является Click (щелчок левой кнопкой мыши), а для формы событием по умолчанию является Create (загрузка).
Кроме события по умолчанию, для каждого элемента существует еще множество событий, для которых могут быть автоматически созданы заготовки в коде приложения.
Для этого в дизайнере формы выделяется требуемый элемент, а затем в Инспекторе объектов выбирается вкладка Events, на которой представлен список стандартных событий выделенного элемента.
Чтобы автоматически создать заготовку обработчика для одного из событий следует дважды щелкнуть, в поле слева от требуемого события. Сразу после этого объявление нового обработчика события будет добавлено в код описания класса формы в секции type. Заготовка обработчика события помещается в секцию implementation и имеет примерно такой вид:
procedure TForml.ButtonlClick(Sender: TObject); begin
end;
В общем случае вид заготовки будет зависеть от конкретного элемента управления и события, для которого создается обработчик (в приведенном примере показана заготовка обработчика события Click объекта Buttonl).
Добавление кода в тело автоматически созданного обработчика события является задачей программиста, разрабатывающего приложение.
В среде разработки Delphi предусмотрена возможность автоматизации редактирования программного кода, при использовании которой для текущей команды отображается список всех возможных вариантов ее написания.
Эту возможность предоставляет интуитивный помощник (Code Insight), который может работать в двух режимах: автоматическом и ручном.
Вызов такой справки осуществляется автоматически (если Code Insight работает в автоматическом режиме) или нажатием клавиш Ctrl+Пробел (если в ручном). Интуитивный помощник Code Insight обеспечивает возможность просмотра полного списка свойств и методов выбранного элемента управления и выбора одного из них для добавления в текст программы.
Выбор требуемого элемента из списка осуществляется клавишами вверх - вниз, затем нажатием клавиши Enter он добавляется в текст.
При написании кода (для ускорения процесса создания приложения) предусмотрена всплывающая подсказка о синтаксисе вводимого оператора или функции. Эту возможность также представляет Code Insight.
При ее использовании текущий параметр отображается во всплывающей подсказке полужирным шрифтом.
Использование интуитивного помощника позволяет существенно ускорить написание кода, а, следовательно, и снизить время создания приложения.