- •Оглавление
- •Часть 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
4.8. Компонент checkbox (флажок)
Компонент CheckBox расположен на вкладке Standart.
Компонент CheckBox это переключатель.
Один переключатель, как и кнопка, передает 1 бит информации, однако их можно объединять в группы. Часто это удобнее, чем использовать большое количество кнопок.
Предполагается, что переключатели должны располагаться либо в группирующих элементах (Panel, GroupBox и т.д.) либо на панели переключателей.
Переключатели могут находиться в двух состояниях — включенном и выключенном. При этом у объектов класса TCheckBox эти состояния можно устанавливать независимо друг от друга (т.е. в группе могут находиться несколько включенных элементов класса TCheckBox). Поэтому элементы TCheckBox называют независимыми переключателями (или флажками).
Основными свойствами переключателя TCheckBox являются:
AllowGrayed- запрещает или разрешает использовать в переключателе третье состояние cbGrayed.
Caption- представляет собой заголовок переключателя;
Checked- хранит информацию о том, выбран элемент или нет, т.е. это свойство показывает, стоит ли флажок на компоненте TCheckBox.
При Becked = true переключатель включен. т.е. на компоненте TCheckBox стоит флажок.
State- определяет состояние выключателя: включенное (значение cbChecked), выключенное (cbUnchecked), нейтральное (cbGrayed.).
По умолчанию событием для переключателей является событие OnClick.
4.9. Компонент tradiobutton (кнопки выбора)
Компонент TRadioButton находится на вкладке Standart.
Эти кнопки очень похожи на TCheckBox по методу работы. У них тоже есть свойство checked, которое отображает их состояние.
Если компонент RadioButton выделен, то это свойство равно True, иначе равно False.
Единственная разница — если на форме есть несколько таких компонентов, то одновременно может быть выделен только один.
4.10. Компонент MainMenu (главное меню программы)
Компонент MainMenu расположен на вкладке Standart.
Установите на форму компонент MainVenu.
Чтобы открылся редактор меню, дважды щелкните в объектном инспекторе по свойству items
Этот же редактор можно вызвать, если дважды щелкнуть левой кнопкой мыши по компоненту MainMenul.
Редактор открывается с заготовкой одного уже созданного пункта.
Перейдите в объектный инспектор и наберите в свойстве Caption, например, слово Файл. Как только вы нажмете на клавишу Enter, будет создано меню Файл
При этом слева и под меню файл будут созданы два пункта без имени.
Это пустые заготовки, с помощью которых вы можете расширять его. Они без имени и не будут отображаться в программе.
Давайте создадим, например, еще и меню Помощь.
Для этого справа от созданного меню щелкните в рамочке, обведенной пунктиром. Затем перейдите в объектный инспектор. Там введите в свойстве Caption слово Помощь.
Теперь создадим подпункт для меню Помощь. Щелкните в рамке чуть ниже меню Помощь. В свойстве Caption введите фразу О программе.
Таким же образом заполним меню Файл. Выделим его. Теперь щелкнем рамочке чуть ниже и напишем в свойстве Caption слово Открыть. При нажатии на клавишу Enter или при переходе на другой пункт меню, в редакторе, будет создан пункт Открыть и тут же немного ниже будет сформирован новый пустой пункт. Щелкните по нему и введите в свойстве Caption слово Сохранить.
Теперь снова щелкните на новом пункте меню и у него в свойстве Caption просто введите тире "-". Это заставит Delphi создать сепаратор (разделить меню).
Сразу подключим список картинок.
Установите на форму компонент ImageList с вкладки Win32. Теперь дважды щелкните по нему левой кнопкой мыши, и перед вами откроется окно работы со списком картинок.
Нажмите в это окне кнопку Add (Добавить), чтобы добавить картинку. Откроется стандартное окно открытия файла. Откройте какую-нибудь картинку, и она добавится в список. Желательно, чтобы она была размером 16 x 16. Именно такие габариты используются по умолчанию.
Теперь назначим каждому пункту меню картинки. Рассмотрим, как это сделать на примере пункта Открыть.
Выделите пункт Открыть. Затем в объектном инспекторе щелкните по свойству IimageIndex. Откроется список всех картинок, которые ранее подключили. Выберите нужную.
В редакторе меню изображения не будет видно, зато в редакторе форм его сразу можно будет увидеть.
Теперь создадим обработчик события, который будет вызываться всякий раз при выборе пункта меню. Для этого перейдите на вкладку Events (События) его инспектора. После этого дважды щелкните по событию OnClick.
Это заставит Delphi создать обработчик события при выборе пункта меню.
В обработчике события нужно написать требуемый код, например, вызов метода Close (), если хотим закрыть форму.