
- •Оглавление
- •Часть 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.2. Компонент tbutton (кнопка)
КомпонентTButton расположен на вкладке Standart.
Когда устанавливается с вкладки на форму первая кнопка, то ей присваивается имя по умолчанию Buttonl. Следующая кнопка получит название Button2 и т. д.
Таким образом, Delphi именует все новые компоненты на форме — берет имя класса компонента, отбрасывает букву "Т" в начале и добавляет в конец цифру, определяющую порядковый номер компонента.
Щелкните мышью по изображению кнопки на палитре инструментов. После этого щелкните мышью в любом месте формы. На форме сразу же появится кнопка с заголовком Button1 в том месте, где мы щелкнули.
Есть еще один способ установить кнопку на форме. По этому способу нужно дважды щелкнуть мышью по изображению кнопки на палитре инструментов. В этом случае кнопка окажется в центре формы, а не там, где мы хотим.
Выделите кнопку и перейдите в объектный инспектор. В нем показаны свойства кнопки. Как видите, большинство свойств нам уже знакомо по свойствам формы, поэтому не будем их рассматривать.
Тем не менее, давайте изменим заголовок кнопки. За заголовок формы отвечает свойство Caption.
В объектном инспекторе найдите свойство Caption и измените содержащийся в нем текст на более подходящий по смыслу.
Аналогично можно изменить и свойство Name у кнопки.
4.3. Дополнительные кнопки
На вкладке Additional расположены еще два вида кнопок — TBitBtn и TSpeedButton.
Помимо простого текста, они могут содержать и изображения, разница только в том, что TBitBtn может получать фокус ввода с клавиатуры, a TSpeedButton нет.
Получение фокуса ввода означает, что когда вы щелкаете мышью по элементу управления, то он получает фокус ввода, т.е. на нем появляется курсор для ввода текста, и все события от клавиатуры будут посылаться именно этому компоненту.
Точно так же с кнопкой. Если вы щелкнули по ней, то все нажатия на клавиатуре будут посылаться кнопке.
Правда, кнопка не может получить текст, но если вы нажмете клавишу Enter, когда фокус находится на кнопке, это будет равносильно щелчку по этой кнопке мышью.
Кнопка TSpeedButton не может получать фокуса. Это значит, что если набрали какой-то текст в строке ввода, а потом щелкнули по такой кнопке, то обработается соответствующее событие и фокус возвратится обратно в строку ввода. Он не останется на кнопке.
Фокус выделенного компонента в программах можно менять клавишей Таb. Если вы нажмете ее, то будет выделен следующий по счету компонент. Однако, клавишей Таb невозможно выделить кнопку TSpeedButton.
Объект TBitBtn хорошо подходит там, где нужна кнопка с изображением, а TSpeedButton для кнопок панели инструментов, потому что такие кнопки когда не должны получать фокуса ввода.
Установите на панель кнопку TSpeedButton и установите у нее свойства: ширина (width) кнопки должна быть равна 23, а высота (Height) — 22.
Теперь дважды щелкните по свойству Glyph и перед вами должно открыться окно загрузки изображения. Нажмите на кнопку Load и загрузите картинку.
К Delphi прилагается большая библиотека готовых изображений. расположены они в папке \Prograjm Files\Common Files\Borland Shared Image\Buttons._
Загружаемая картинка по умолчанию должна иметь размер 16x16.
Как только вы выберете картинку, нажмите ОК, чтобы закрыть окно загрузки изображения. Теперь на кнопке отображается выбранная картинка.
Во во всех приложениях сейчас используются плоские кнопки, и это можно сделать, если придать свойству Flat кнопки значение true.
Для создания для кнопки события OnClick нужно щелкнуть левой клавишей мыши по самой кнопке или выделить ее и на вкладке Events объектного инспектора и мышью дважды щелкнуть по свойству OnClick. В созданном обработчике события напишите соответствующий код.
Теперь установите на форму две кнопки. Если обеим кнопкам назначить значение свойства GroupIndex равным 1, т.е. один и тот же индекс группы, и они станут сгруппированными. Можно устанавливать любой индекс больше нуля. При нулевом значении считается, что группировки нет.
Кнопки TBitBtn и TSpeedButton имеют практически одинаковые свойства.
Так свойство Layout отвечает за взаимное расположение на кнопке картинки и текста.
Свойство Layout имеет следующие значения:
blGlyphBotton – картинка находится под текстом;
blGlyphLeft - картинка находится слева от текста
blGlyphRight - картинка находится справа от текста
blGlyphTop - картинка находится над текстом
Важным свойством также является свойствоKind. В нем заложен список заранее подготовленных стандартных кнопок.