48234 (588526), страница 3
Текст из файла (страница 3)
В программе же представлен его рабочий пример (см. Приложение А, TBNewFileClick).
В качестве особенности этого алгоритма следует отметить то, что до того, как вызвать процедуру создания таблицы CreateTable(), нужно проинициализировать все поля, указав их название, тип, длину (если требуется), и требуемость значения (те обязательно его наличие или нет). После инициализации полей объявляем ключевое поле, и только потом вызываем процедуру создания таблицы. После этого необходимо привязать новую таблицу к компоненту Table, чтобы можно было с ней работать с помощью сетки и навигатора. Имя файла новой таблицы запрашивается с помощью SaveDialog.
Проблема размера графики
При разработки программы возникла довольно-таки серьезная проблема с рисованием картинки – при изменении размеров формы должен был меняться и размер картинки, но этого не происходило.
Причиной было то, что размер компонента Image все-таки изменялся, а вот размер картинки Picture оставался прежним. В связи с этим была создана процедура ResizeForm (см. Приложение А), которая реагировала на изменение размеров формы и менял размер картинки в соответствии с изменившимся размером компонента Image.
5.6 Тестирование
В течение всего времени проектирования программы выполнялись ее тестирования и отладка. Особое внимание уделялось двум моментам – правильности работы с таблицами и правильности рисования плана.
При работе с таблицами в первую очередь нужно было отследить все проблемы, связанные с открытием, созданием таблиц и рисованием. Например, если не дезактивировать кнопки рисования, то нажатие на них при неоткрытой таблице могло привести к ошибке. Для устранения такой ошибки при отсутствии открытой таблицы кнопки делаются неактивными.
Еще одной важной ошибкой, которая была устранена – проблема размера графики (см. выше).
Также нужно было следить, чтобы при отключении/включении флажков и изменении размеров формы не рисовалась картинка, если пользователь еще не нажимал на кнопку "рисовать". Такое отслеживание в программе выполняется флагом draw, который устанавливается, когда пользователь нажимает на кнопку рисования, и снимается, когда нажимает кнопку очистки. В процессе тестирования все ситуации, в которых необходима проверка этого флага, были отслежены и отлажены.
Важнейшей стороной тестирования была проверка работоспособности программы на компьютере, на котором не установлен Builder. Это помогло определить следующее:
1) при компиляции программы необходимо включить в нее все используемые библиотеки. Это достигается с помощью отключения двух опций в настройках компилятора. Исполняемый код программы при этом становится больше, но зато она сможет работать и на машине без Builder’а.
2) для работы программы требуется Borland Database Engine. Если его нет на компьютере, его необходимо установить.
6. ОПИСАНИЕ ПРОГРАММЫ
Программа предназначена для информационной поддержки создания плана местности. Она позволяет хранить данные о точках плана в таблице, осуществлять их графическое отображение, создавать новую таблицу, добавлять и удалять типы объектов, рассчитывать расстояния и оценивать длину маршрута, рисовать несколько маршрутов, сохранять результаты в файл или выводить на печать.
Программа создана для операционной системы Windows, и обладает стандартизованным под нее и удобным для пользователя интерфейсом. Вместе с ней поставляется пример в виде таблицы с маршрутами поездов.
7. ИНСТРУКЦИЯ ПО УСТАНОВКЕ
Для установки программы должны быть выполнены требования: процессор 233МГц и выше, оперативная память от 16Мб, ОС Windows98 и выше.
Чтобы установить программу, необходимо проделать следующие действия:
1) Создать новую папку для программы.
2) С носителя, на котором находится архив программы (дискета или диск), скопировать его в эту папку.
3) Распаковать архив в эту папку.
4) Убедитесь, что фалы objects.db и rasst.db находятся в той же папке, что и программа.
5) Убедитесь, что у этих файлов снят атрибут "Только чтение". Если нет, снимите его.
6) Распакуйте архив с библиотеками в папку Windows.
7) Теперь можно запустить программу и пользоваться ею.
8. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
8.1 Главное меню
Меню "Файл"
Для того, чтобы начать работу в программе, необходимо открыть файл с таблицей или создать новый. Это можно выполнить с помощью пунктов меню "Файл" "Открыть" и "Новый".
"Открыть" - открыть уже существующую таблицу. Вызывает диалог, а котором пользователь должен выбрать файл с расширением .db.
"Новый" - создание новой таблицы. Вызывается диалог, в котором пользователь задает имя новой таблицы.
"Закрыть" - закрывает таблицу.
"Сохранить" - сохраняет картинку в файл с расширением .bmp. Таблица же сохраняется автоматически при утверждении изменений кнопкой "Сохранить изменения" навигатора.
"Печать" - в зависимости от открытой вкладки печатает рисунок или таблицу. При выборе этого пункта открывается диалоговое окно настройки печати, после нажатия кнопки "ОК", задание отправляется на печать.
Меню "Таблица"
"Построить план" - если таблица открыта, активирует вкладку "План" и рисует план.
"Добавить тип объекта" - вызывает форму добавления типа объекта.
"Удалить тип объекта" - вызывает форму удаления типа объекта.
Меню "Помощь"
"О программе" - выводит название программы и сведения об авторе.
"Содержание" - выводит файл подсказки.
8.2 Панель быстрых кнопок
Действия этих кнопок аналогичны одноименным пунктам меню "Файл".
- "Новый" - создание новой таблицы.
- "Открыть" - открыть уже существующую таблицу.
- "Сохранить" - сохраняет картинку в файл с расширением .bmp.
- "Печать" - вывести на печать рисунок или таблицу.
8.3 Вкладка "Таблица"
Сетка таблицы – в нее загружается таблица. С помощью этой сетки пользователь может редактировать и просматривать записи таблицы.
Навигатор – располагается под сеткой, позволяет редактировать и просматривать таблицу.
Кнопки навигатора
- "Первая запись" - выполняет переход на первую запись в таблице.
- "Предыдущая запись" - выполняет переход на предыдущую запись в таблице.
- "Следующая запись" - выполняет переход на следующую запись в таблице.
- "Последняя запись" - выполняет переход на последнюю запись в таблице.
- "Добавить запись" - таблица переводится в режим редактирования, перед активной записью вставляется новая пустая запись.
- "Удалить запись" - удаляет текущую запись, предварительно запросив подтверждение.
- "Редактировать" - редактирование текущей записи.
- "Сохранить изменения" - заносит изменения текущей записи в таблицу.
- "Отменить изменения" - отменяет изменения текущей записи, возвращая ее предыдущее значение.
- "Обновить". Обновляет таблицу в сетке.
Под навигатором находятся Список объектов и кнопки удаления и добавления объектов.
Список объектов – содержит перечень типов объектов. При выборе типа из списка, он заносится в текущую запись в таблице.
Добавить тип объекта – вызывает форму добавления типа. При его добавлении он тут же заносится в список.
Удалить тип объекта – вызывает форму удаления типа объекта.
Форма добавления типа объекта
Содержит поле редактирования для ввода текста, в которое заносится название нового типа.
"Добавить" - добавляет тип объекта к списку и в таблицу, не закрывая форму.
"Ок" - если объект не был добавлен, заносит его в список и таблицу, и закрывает форму.
"Отмена" - закрывает форм без добавления.
Форма удаления типа объекта
Список объектов – из него пользователь выбирает, какой объект нужно удалить.
"Удалить" - удаляет выбранный тип объекта из таблицы и списка.
"Удалить все" - полностью очищает таблицу объектов и списки.
"ОК" - закрывает форму.
8.4 Вкладка "План"
Поле рисунка – область, на которую выводится рисунок плана.
Полосы прокрутки – появляются при увеличении изображения нажатием на кнопку "Увеличить". Позволяют прокручивать увеличенное изображение.
Таблица расстояний – показывает для каждого маршрута его номер и длины отрезков, в километрах. Таблица видима, если снят флажок "Скрыть таблицу расстояний".
Кнопки:
"Очистка карты" - очищает поле рисунка.
"Нарисовать" - рисует план.
"Цвет фона" - позволяет выбрать цвет фона рисунка. При нажатии на эту кнопку выводится диалоговое окно выбора цвета.
"+ Увеличить" - увеличивает изображение на плане.
"- Уменьшить" - уменьшение изображения на плане. Эта кнопка становиться активной при нажатии кнопки увеличения.
"По умолчанию" - устанавливает изначальный размер изображения.
Флажки:
"Рисовать линии маршрутов" - если он установлен, на плане будут рисоваться маршруты, если нет – будут обозначаться только точки.
"Показывать расстояния на карте" - если флажок установлен, рядом с каждой точкой маршрута выводится расстояние в виде сумм длин отрезков, предшествующих этой точке. Возле первой точки маршрута ставится "0".
"Показывать тип объекта на карте" - если флажок установлен, рядом с каждой точкой выводится тип объекта.
"Скрыть таблицу расстояний" - если флажок установлен, таблица расстояний невидима. Если снят, таблица появится справа от поля рисунка.
Все флажки по умолчанию установлены.
9. КОНТРОЛЬНЫЙ ПРИМЕР
В качестве контрольного примера изобразим маршруты нескольких поездов Горьковской железной дороги.