- •Часть 2
- •Лабораторная работа № 6. Программирование циклических вычислительных процессов. Итерационные циклы
- •Отладка модулей проекта
- •Отладка синтаксических ошибок
- •Отладка логических ошибок
- •Итерационные циклы
- •Пример создания приложения
- •Сохранение проекта
- •Размещение компонентов на Форме
- •Текст модуля UnIterate
- •6.4. Выполнение индивидуального задания
- •Лабораторная работа № 7. Программирование с использованием строк
- •Краткие теоретические сведения
- •7.1.1. Символьные типы
- •7.1.2. Строковые типы
- •7.1.3. Процедуры и функции для работы со строками
- •Применение компонентов ListBox и ComboBox для работы со строками
- •7.3. Пример создания приложения
- •7.3.1. Сохранение проекта
- •7.3.2. Размещение компонентов на Форме
- •7.3.3. Создание процедуры-обработчика события активизации Формы FormActivate.
- •7.3.4. Создание процедуры-обработчики события ComboBox1KeyPress
- •7.3.5. Создание процедуры-обработчики события нажатия клавиши «мыши» ComboBox1Click
- •7.3.6. Работа с приложением
- •7.4. Текст модуля UnStr
- •7.5. Выполнение индивидуального задания
- •С использованием записей
- •8.1. Краткие теоретические сведения
- •8.2. Пример создания приложения
- •8.2.1. Указания по созданию приложения
- •8.2.2. Размещение компонентов по Форме
- •8.2.3.Создание процедур обработки событий FormCreate и ButtonClick
- •8.2.4. Работа с приложением
- •8.2.5. Текст модуля UnZap
- •8.3. Выполнение индивидуального задания
- •Лабораторная работа № 9. Програмирование с использованием файлов
- •9.1. Краткие теоретические сведения
- •9.2. Пример создания приложения
- •9.2.1. Указания по созданию приложения
- •9.2.2.Размещение компонентов по Форме.
- •9.2.3.Создание процедур обработки событий
- •9.2.4. Текст модуля UnFile
- •9.2.5. Работа с приложением
- •9.3. Выполнение индивидуального задания
- •Лабораторная работа № 10. Программирование с использованием функций и процедур. Процедурные типы. Создание модулей
- •10.1. Краткие теоретические сведения
- •10.1.1. Объявление и описание функций и процедур
- •10.1.2. Различные варианты передачи параметров в функции и процедуры
- •10.1.3. Процедурные типы
- •Текст модуля UnFancProc
- •Текст модуля UnModul
- •Выполнение индивидуального задания
- •Лабораторная работа № 11. Программирование с использованием динамических структур данных
- •11.1. Краткие теоретические сведения
- •11.1.1. Указатели
- •11.2. Использование динамических переменных
- •Пример создания приложения
- •11.3.1. Сохранение проекта
- •Размещение компонентов на Форме
- •11.3.3. Создание процедуры обработки событий FormCreate
- •Текст модуля UnDinMas
- •11.5. Выполнение индивидуального задания
- •Лабораторная работа № 12. Программирование с использованием средств для построения и отображения графиков
- •12.1. Методика построения графиков с помощью компонента tChart
- •12.2. Пример написания программы
- •12.2.1. Настройка формы
- •12.2.2. Работа с компонентом tChart
- •12.2.3. Написание программы обработчика события создания формы
- •12.2.4. Написание программ обработчика событий нажатия на кнопки
- •12.3. Модуль программы построения и отображения графиков
- •12.4. Выполнение индивидуального задания
- •Приложение 1 п1. Свойства и методы компонентов п1.1. Общие свойства компонентов
- •2. Компоненты страницы standard
- •3. Компоненты страницы additional
- •4. Компоненты страницы dialogs
- •П2. Простые типы данных языка object pascal
- •П3. Процедуры и функции для работы со строками
- •Литература
9.2. Пример создания приложения
Задание. Создать Windows-приложение для формирования списка очередности предоставления мест в общежитии. Общежитие в первую очередь предоставляется тем студентам, у которых доход на одного члена семьи меньше минимальной зарплаты (в порядке возрастания дохода на одного члена семьи), затем – остальным студентам в порядке убывания среднего балла. Исходные данные, которые следует организовать в виде файла, должны содержать фамилию и инициалы студента, доход на одного члена семьи и четыре оценки, полученные на экзаменах последней сессии. Создать текстовый файл исходных данных.
9.2.1. Указания по созданию приложения
Для нового проекта создайте новую папку, например X:\35эи\ lab9.
Сохраните проект File | Save Project As… (Файл | Сохранить Проект как…). Далее сохраните модуль под именем UnFile, а файл проекта – под именем PrFile.
9.2.2.Размещение компонентов по Форме.
Один из возможных вариантов панели интерфейса создаваемого приложения показан на рисунке 9.1.
Рис. 9.1. Размещение компонентов на форме
При работе с файлами чтение и запись информации удобно организовывать с помощью компонентов OpenDialog и SaveDialog.
Компоненты OpenDialog и SaveDialog находятся на странице Dialogs. Все компоненты этой страницы являются не визуальными, т. е. не видны в момент выполнения приложения. Поэтому их можно разместить в любом удобном месте Формы. Оба рассматриваемых компонента имеют идентичные свойства и отличаются только внешним видом.
Для
установки компонентов OpenDialog
и SaveDialog
на Форму необходимо на странице Dialogs
Палитры Компонентов щелкнуть “мышью”
соответственно по пиктограмме
или
и поместить ее в любом свободном месте
Формы. При выполнении приложения в
момент вызова компонента появляется
диалоговое окно, с помощью которого
пользователь выбирает имя файла и
маршрут к нему. В случае успешного
завершения диалога имя выбранного файла
и маршрут поиска содержится в свойстве
FileName.
Пользователь имеет возможность настроить параметры окна диалога по своему усмотрению. В частности, изменить заголовок окна можно с помощью свойства Title. В свойстве DefaultExt можно указать расширение файла, если оно не задано пользователем. Свойство Filter используется для поиска (фильтрации) файлов, отображенных в окне. Установка фильтра производится следующим образом. Выделив соответствующий компонент, необходимо дважды щелкнуть по правой (белой) части свойства Filter Инспектора Объектов. В появившемся окне редактора фильтра – Filter Editor необходимо в колонке Filter Name набрать текст, характеризующий соответственный фильтр, а в колонке Filter – маску. Для компонента OpenDialog1 установим значение масок, как показано на рис. 9.2.
Рис. 9.2. Окно редактора фильтра
Маска *.dat означает, что будут видны файлы данных с любым именем и с расширением dat, а маска *.* – что будут видны все файлы (с любым именем и с любым расширением).
Для того, чтобы файл автоматически записывался с расширением dat в свойстве DefaultExt, запишем требуемое расширение – .dat.
Аналогичным образом настроим компонент SaveDialog1 для текстового файла (расширение .txt).
Кроме того на форме размещаются три компонента StringGrid. Первый предназначен для ввода, корректировки, добавления, удаления, просмотра исходной информации, второй – для вывода списка первоочередников в порядке возрастания дохода на одного члена семьи, третий – для вывода списка второй очереди в порядке убывания среднего балла. Следует разрешить ввод данных в компоненты StringGrid, установив в True значение опции goEditing свойства +Options.
Три компонента BitBtn (переносятся со страницы Additional палитры компонентов) предназначены для обработки файлов: первый – для сохранения файла на внешний носитель, второй – для открытия файла, третий – для создания текстового файла.
Для удобства работы с несколькими различными процедурами обработки событий в свойстве Name каждого компонента BitBtn заменить программные имена кнопок: BitBtn1-на BitBtnNew, BitBtn2-на BitBtnOpen, BitBtn3-на BitBtnSave. В свойстве Caption каждого компонента ввести надпись, указывающую выполняемую процедуру.
Кроме того на форму наносятся три кнопки, выполняюшие процедуры: сортировки записей, вывод списка первоочередников и создание списка второй очереди. В свойстве Caption каждого из этих компонентов также ввести надпись, указывающую выполняемую процедуру.
Для ввода минимальной зарплаты размешается компонент Edit. Компонент SpinEdit предназначен для изменения количества записей исходной информации и переносится со страницы Samples.
