- •Оглавление
- •Часть 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
2.10.3. Текстовые файлы
Текстовый файл представляет собой последовательность символов, разделенных на строки произвольной длины. В конце каждой строки находятся два особых символа: #13 #10, которые отделяют строку от следующей. Эти символы добавляются автоматически.
Для задания текстовых файлов имеется предопределенный тип TEXT, который эквивалентен файловому типу
FILE OF CHAR
Файловая переменная текстового типа задается предложением
VAR
имя: TEXT
Файловой переменной назначают имя файла при помощи процедуры ASSIGN. Дать пример
Текстовый файл можно открыть:
только для чтения — процедурой RESET (файловая_переменная);
только для записи — процедурами REWRITE (файловая_переменная);
или
APPEND (файловая_переменная);
При использовании процедуры RESET файл на диске должен существовать, в противном случае, возникает ошибка. Содержимое файла при открытии не меняется, данные из файла только можно читать.
При использовании процедуры REWRITE для открытия существующего файла его содержимое уничтожается, и файл становится пустым. Если же файла не существовало, он создается (также являясь пустым). В файл можно только записывать.
При использовании процедуры APPEND файл на диске должен существовать, в противном случае возникает ошибка. Содержимое файла сохраняется и можно записывать данные в конец файла.
Процедура
CLOSE (файловая_переменная);
закрывает файл. При этом все изменения окончательно сохраняются на диске, после чего связь между файловой переменной и самим файлом заканчивается.
Чтение из файла выполняется процедурами
RЕАD(файловая_переменная, список переменных).
и
READLN(фaйлoвaяJпepeмeннaя, список переменных).
Например:
var
f: text;
a,b, c: integer;
read (a, b, с); {ввод с клавиатуры}
read (f, a, b, с); {ввод из файла}
Символы из текстового файла читаются строго последовательно. Не имеется возможности считать произвольный символ.
Процедура READLN отличается от READ тем, что, введя необходимое количество данных, пропускает все остальные до конца строки файла.
Текущий указатель текстового файла указывает на символ, который будет считан следующим.
Чтение из текстовых файлов выполняется с преобразованием данных. Например, если нужно считать в переменную действительного типа, в файле должна находиться последовательность символов, которая представляет запись действительного числа. Если преобразование оказывается невозможным, возникает ошибка.
Символы #13 #10, которые разделяют строки, процедурой READ игнорируются, а для процедуры READLN служат ограничителем ввода.
Имеется также функция
EOLN (файловая_переменная):bооlean;
которая возвращает TRUE, когда достигнут конец строки и FALSE в других случаях.
Функция
EOF (файловая_переменная) :boolean;
возвращает TRUE, когда достигнут конец файла, и FALSE в других случаях.
Пример. Чтение из текстового файла с выводом на экран.
var
f: text;
s: string;
begin
readln(s)
assign (f, s);
reset(f);
while not eof(f) do
begin
readln(f,s); {ввод из файла} writeln(s); {вывод на экран}
end {while};
close(f) end.
Запись в текстовый файл выполняется процедурами
WRITE(Файловая_переменная, список выражений).
и
WRITELN(Файловая_переменная, список выражений).
Запись в текстовые файлы выполняется с преобразованием данных.
Процедура WRITELN выводит все предусмотренное списком вывода и дополнительно символы #13 #10.
Закончив запись в файл, его необходимо закрыть. Только после закрытия новый файл будет окончательно сформирован.
Пример. Ввод с клавиатуры и запись в текстовый файл. Прекращение после ввода пустой строки,
var
f: text;
s: string; begin
read(s);
assign (f, s);
rewrite (f); {открытие файла}
readln (s); {ввод с клавиатуры}
while s<> " do
begin
writeln(f,s); {вывод в файл}
readln(s); {ввод с клавиатуры}
end {while};
close (f) {закрытие файла}
end.