- •Оглавление
- •Часть 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.11. Компонент timage
Компонент Timage расположен на вкладке Additional.
Компонент TImage - это компонент для работы с графическими файлами (изображениями).
Установите компонент TImage на форму. Чтобы появилось окно загрузки изображения, левой кнопкой мыши дважды щелкните по свойству Picture. При щелчке в окне на кнопке Load выбранная картинка будет установлена на компонент.
Если необходимо, чтобы компонент автоматически принимал размеры загруженной картинки, то установите свойство AuroSize в true.
Если картинка должна быть расположена по центру компонента, нужно свойству Center придать значение true, а AuroSize - в false.
И, наконец, если картинку надо расположить по всей поверхности компонента, то свойству stretch надо придать значение true, свойству AuroSize - false).
4.12. Компонент tstringgrid (сетка)
Компонент TstringGrid расположен на вкладке Additional
В программах (приложениях) очень часто нужны сетки для ввода данных.
В Delphi имеется два вида сеток TstringGrid и TDrawGrid. Разница между ними в том, что в TstringGrid данные можно вводить, и они там будут сохраняться и отображаться. В TDrawGrid данные могут вводиться, но за их отображение должен отвечать программист
Другими словами,TstringGrid— это сетка строк, a TDrawGrid — это сетка рисунков.
Рассмотрим компонент TstringGrid, как более часто используемый.
Ознакомимся с некоторыми его свойствами, отличными от уже известных - это:
BorderStyle – это стиль обрамления. Он имеет два варианты - bsSingle или bsNone.
ColumnCount - количество колонок в сетке.
DefaultColWidth — ширина колонок по умолчанию.
DefaultDrawing – это рисование по умолчанию.
Если это свойство имеет значение true, компонент сам будет отображать введенные данные. Если False, то это делать придется программисту самостоятельно, реагируя на соответствующие события.
DefaultColHeight высота строк по умолчанию.
FixedColor - цвет фиксированных колонок и строк. В фиксированные ячейки нельзя вводить текст, они используются в качестве заголовков.
FixedCols —- количество фиксированных колонок. Они всегда первые. Нельзя создать фиксированную колонку в середине сетки.
FixedRows — количество фиксированных строк. Они всегда первые. Нельзя создать фиксированную строку в середине сетки..
GridLineWidth — толщина разделительных линий сеток.
Options — настройки сетки. Если дважды щелкнуть левой клавишей мыши по этому свойству или один раз по квадратику слева от названия свойства, то раскроется большой список дополнительных свойств.
Рассмотрим их.
goFixedVertLine— рисовать вертикальные линии сетки у фиксированных ячеек;
goFixedHorzLine— рисовать горизонтальные линии сетки у фиксированных ячеек;
goVertLine — рисовать вертикальные линии сетки у нефиксированных ячеек;
goHorzLine— рисовать горизонтальные линии сетки у нефиксированных ячеек;
goRangeSelect — позволять выделять несколько ячеек;
goDrawFocuSelected — рисовать фокус выделенной ячейки;
goRowSizing — можно ли изменять размер строк перетягиванием мышью;
goColSizing — - можно ли изменять размер колонок перетягиваванием мышью;
goRowMoving— можно ли перемещать строки (если true, то можно нажать кнопку мыши, установив ее указатель на фиксированную ячейку строки, и перетащить в новое положение);
goColMoving — можно ли перемещать колонки (если true, то можно нажать кнопку мыши, установив ее указатель на фиксированную ячейку колонки, и перетащить ее в новое положение);
goEditing — можно ли вводить с клавиатуры данные в сетку (Если – да, то - true);
goTabs — если в этом свойстве установить true, то между ячейками можно путешествовать с помощью клавиши Tab;
goRowSelect— если в этом свойстве установить false, то выделяется только выделенная ячейка (если true, то вся строка);
goAlwaysShowEditor — если в этом свойстве установить false, то при обращении к ячейке, для ее редактирования нужно нажать Enter или F2, если - true, то как только выделится яется ячейка, ее сразу можно редактировать;
goThumbTracking— будут ли данные прорисовываться, пока пользователь перемещает полосу прокрутки.
RowCount— количество строк.
ScrollBars — нужно ли показывать полосы прокрутки. Здесь есть следующие варианты:
ssNone — не показывать;
ssHorizontal — только горизонтальную полосу;
ssVertical — только вертикальную полосу;
У компонента TStringGrid есть еще одно свойство, не описанное в объектном инспекторе свойство — Cells. Это свойство — - двумерный массив из строк, в которых хранятся данные, отображаемые в сетке. Чтобы получить доступ
к какой-либо ячейке, нужно записать stringGridi. cells [номер колонки, номер ячейки].
Нумерация колонок и строк начинается с нуля. Например, если нужно записать в третью колонку пятой строки некоторый текст "Некоторый текст", то необходимо записать: StringGrid1.Cells[2,4] : = 'Некоторый текст' Как видно, в скобках свойства Cells на первой позиции должен стоять номер колонки, на второй – номер строки (в отличии математики, где принято нумеровать вначале номер строки, затем - номер колонки)