- •Введение Преподавателю: как использовать данное пособие
- •Тому, кто хочет научиться
- •Благодарности
- •Лабораторная работа 1 Знакомство со средой программирования
- •1.Понятие программы и технология ее создания.
- •2. Запуск среды
- •3.Структура окна среды
- •4.Запуск программы
- •5.Выход из среды
- •6.Резюме
- •7.Вопросы для контроля
- •Лабораторная работа 2 Компоненты и их свойства
- •1.Понятие компонента
- •2.Свойства компонентов
- •3.Изменение свойств объектов Изменение свойств с клавиатуры
- •Изменение свойств из списка
- •Изменение составного свойства.
- •4.Добавление компонента на форму
- •5.Исследовательские задания
- •6.Контрольное задание.
- •7.Резюме
- •8.Вопросы для контроля
- •Лабораторная работа 3 События и обработчики события
- •1.Понятие «Событие»
- •2.Создание процедуры обработки события
- •Компоненты процедуры обработки события
- •2. Заголовок процедуры обработки события
- •3.Изменение значения свойства в коде приложения
- •4.Создание процедуры обработки события «Нажатие клавиши».
- •5.Исследовательские задания
- •6.Контрольные задания
- •7.Резюме
- •8.Вопросы для контроля
- •Лабораторная работа 4 Структура модулей проекта
- •1.Структура программных модулей
- •2.Исследовательские задания
- •3.Индивидуальное задание:
- •4.Контрольные вопросы
- •Лабораторная работа 5 Конструирование меню и работа со стандартными окнами диалога Windows
- •5.Создание главного меню приложения
- •6.Стандартные окна общих диалогов
- •7.Создание рабочей области редактора
- •Чтение документа из файла
- •Сохранение документа из файла
- •8.Изменение рабочей области в зависимости от выбранных значений пунктов меню
- •9.Создание всплывающего меню
- •10.Создание панели инструментов
- •Создание структуры панели инструментов
- •Установка соответствия с пунктами меню
- •11.Изменение возможностей текстового редактора
- •12.Исследовательские задания
- •13.Контрольные задания
- •14.Контрольные вопросы
- •Лабораторная работа №6 Файлы. Типы файлов.
- •1.Понятие «диалог».
- •2.Открытие файла для вывода
- •3.Открытие файла
- •4.Контрольное задание
- •5.Ввод записи в файл
- •6.Контрольное задание
- •7.Диалоговое окно по выбору файлов
- •8.Вопросы для контроля
- •Лабораторная работа 7 Статические графические объекты
- •1. Вставка Image на этапе проектирования приложения.
- •2.Вставка Image в процессе выполнения программы.
- •3.Создание примитивов.
- •4.Исследовательские задания
- •5.Контрольные задания
- •6.Резюме
- •7.Контрольные вопросы
- •Лабораторная работа 8 Компоненты ввода-вывода данных. Многооконные приложения
- •1.Добавление форм в проект
- •Добавление новой формы в проект приложения
- •Переключение между формами и рабочими модулями проекта
- •2.Управление появлением форм
- •3.Использование кнопок выбора
- •4.Использование индикаторов с флажком
- •5.Использование списков и системных окон
- •6.Использование компонента ProgressBar
- •7.Исследовательские задания
- •8.Контрольные задания
- •9.Резюме
- •10.Контрольные вопросы
- •Лабораторная работа 9 Настройка параметров приложения
- •11.Параметры настройки приложения
- •12.Создание пиктограммы для приложения
- •13.Создание файлов помощи
- •Назначение атрибутов разделам справочной системы
- •Указание гиперссылок
- •Компиляция справочного файла
- •14.Назначение заголовка, пиктограммы, файла помощи приложения
- •15.Исследовательские задания
- •16.Резюме
- •17.Вопросы для контроля
- •Лабораторная работа 10 Использование библиотек динамической компоновки (dll)
- •1.Понятие библиотеки динамической компоновки
- •2.Анализ условий задач
- •3.Создание библиотек динамической компоновки
- •Структура библиотеки динамической компоновки
- •Список экспортируемых функций
- •4.Создание клиентских программ
- •5.Решение задач
- •6.Контрольные задания
- •7.Резюме
- •8.Контрольные вопросы
- •Лабораторная работа 11 Создание дистрибутива приложения
- •1.Понятие и назначение дистрибутива приложения
- •2.Автоматизация создания дистрибутива приложения
- •3.Создание дистрибутива многокомпонентного приложения
- •4.Исследовательские задания
- •5.Резюме
- •6.Контрольные вопросы
- •Заключение
3.Открытие файла
Задание 4
Создайте на диске текстовый файл, содержащий информацию о доходах. Каждая строка файла начинает с цифры, соответствующей величине дохода, за которой следует строка символов – комментарий. Файл может быть, например, таким:
250 Чтение лекций
1000 Гонорар за книгу
120 Доход по акциям Свердловэнерго
Допустим, нужно вычислить суммарный доход. Решение задачи очевидно: надо открыть файл, прочитать число из первой строки и добавить его к сумме, прочитать число из второй строки и добавить его к сумме и так далее. После прочтения последней строки вывести результат.
Откройте проект return.dpr и решите поставленную задачу.
Дополните выше приведенную таблицу.
4.Контрольное задание
Создайте приложение, ведущее простую базу данных. При каждом запуске на экране должно появляться диалоговое окно (рис. 1), в поля которого пользователь должен ввести дату и температуру воздуха.
Рис. 7. Диалоговое окно База данных "Погода"
После нескольких запусков программы файл может быть, например, таким:
2 17 -18
2 18 -10
2 19 -8
2 20 -8
При необходимости обратитесь к проекту temperature.*** и, добавив недостающие комментарии, доработайте свое приложение.
5.Ввод записи в файл
Рассмотрим программу, которая записывает в файл введенные пользователем данные о результатах соревнований, таким образом формируя базу данных. Данные вводятся в поля диалогового окна и сохраняются в файле.
Записи можно хранить в файле. Для того чтобы программа могла сохранить значение переменной-записи в файле или ввести его из файла, необходимо объявить файл, указав в качестве типа его компонента тип «запись».
Задание 5
Откройте проект withdrawal.dpr и изучите возможности вывода записи в файл, дополнив программу ранее изученными процедурами.
Запустите проект на выполнение.
Рассмотрим программу, демонстрирующую процесс чтения и обработки записей файла. Программа «Чтение записей из файла» открывает файл, сформированный предыдущей программой, и выводит список медалей, выигранных представителями страны, указанной в диалоговом окне в поле Страна.
Задание 6
Изучите проект import.dpr и сделайте соответствующий записи.
6.Контрольное задание
При обработке коммерческих данных обычно в каждой прикладной системе имеется несколько файлов. В счетах по дебиторской задолженности, в частности, обычно основной файл содержит детальную информацию о каждом клиенте, например, такую: имя клиента, адрес, номер телефона, баланс по неоплаченным счетам, кредитный лимит, условия дисконтирования, соглашение по контракту и, возможно, краткое изложение сведений о последних закупках и наличных платежах.
Когда поступает информация об операциях (например, совершены продажи, по почте получены счета по наличным платежам), она вводится прямо в файл. В конце определенного расчетного периода (некоторых компаниях — это месяц, в других — неделя или день) файл текущих операций вносится в основной файл и таким образом, обновляются записи счетов по покупкам и платежам. На время обновления основной файл переписывается в новый файл, который затем используется в конце следующего расчетного периода для начала нового процесса обновления.
Программа согласования файлов сталкивается с определенными трудностями, которые не существуют в программах с единственным файлом. Например, согласование не всегда происходит. Клиент основного файла может не выполнить никаких сделок и платежей за данный расчетный период и, следовательно, ни одна запись для этого пользователя не появится в файле текущих операций. Аналогично, клиент, который совершил некоторые операции, может быть только что вошел в данное сообщество и тогда компания еще не создавала запись для этого клиента в основном файле.
Задание 7
Напишите полноценную программу по кредитной задолженности с согласованием файлов. Используйте номер счета в каждом файле как ключ записи для целей согласования. Полагайте, что каждый файл является файлом с последовательным доступом с записями, хранимыми в порядке возрастания номера счета.
Задание 8
Напишите простую программу создания контрольных данных для ее тестирования. Используйте следующий пример данных:
Основной файл:
Номер счета |
Имя |
Баланс |
100 |
Alan Jones |
348.17 |
300 |
Mary Smith |
27.19 |
500 |
Sam Sharp |
0.00 |
700 |
Suzy Green |
-14.22 |
Файл текущих записей
Номер счета |
Сумма долларов |
100 |
27.14 |
300 |
62.11 |
400 |
100.56 |
900 |
82.17 |
Отпечатайте новый основной файл. Проверьте, правильно ли обновлены счета.
Возможно (и очень часто) имеется несколько текущих записей с одинаковым ключом записи. Это происходит из-за того, что клиент мог совершить за расчетный период несколько операций. Перепишите вашу программу сравнения счетов, чтобы обеспечить возможность обработки нескольких текущих записей с одним ключом. Модифицируйте тестовые данные, указанные выше, включив в них следующие дополнительные текущие записи:
Номер счета |
Сумма долларов |
300 |
83.89 |
700 |
80.78 |
700 |
1.53 |
Задание 9
Вы являетесь владельцем склада металлических изделий и нуждаетесь в инвентаризации, которая сказала бы вам, сколько всего различных изделий вы имеете, какое количество каждого из них у вас на руках и стоимость каждого из них.
Напишите программу, которая бы создала файл произвольного доступа на сотню пустых записей, позволяла бы вводить данные по к, дому изделию, давала бы вам возможность получать список всех изделий, удалять записи по изделиям, которых у вас уже нет, в позволяла бы обновлять любую информацию в файле. Ключом должен быть идентификационный номер изделия. Используйте следующую информацию для начала работы с вашим файлом:
Номер записи |
Название инструмента |
Количество |
Стоимость |
3 |
Шлифовальный станок |
7 |
57.98 |
17 |
Молоток |
76 |
11.99 |
24 |
Механический лобзик |
21 |
11.00 |
39 |
Газонокосилка |
3 |
79.50 |
56 |
Электропила |
18 |
99.99 |
68 |
Отвертка |
106 |
6.99 |
77 |
Кузнечный молот |
11 |
21.50 |
83 |
Гаечный ключ |
34 |
7.50 |