Пояснительная. Программа формирования списков Экзамены
Скачать 348.64 Kb.
|
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ ХАБАРОВСКИЙ ИНСТИТУТ ИНФОКОММУНИКАЦИЙ (ФИЛИАЛ) ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧЕРЕЖДЕНИЯ ВЫСШЕГО ОБРАЗОВАНИЯ «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ» КУРСОВОЙ ПРОЕКТ По МДК 01.02 Прикладное программирование На тему Программа формирования списков «Экзамены» Выполнил: М. Р. Денискин Проверила: О. Л. Петрова 2019 г ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Хабаровский институт инфокоммуникаций (филиал) федерального государственного бюджетного образовательного учреждения высшего образования «Сибирский государственный университет телекоммуникаций и информатики» (ХИИК СибГУТИ) среднее профессиональное образование ЗАДАНИЕ
Дата выдачи задания « _____ » ______________ 2019 года Дата сдачи проекта на проверку « _____ » ______________ 2019 года Задание принял к исполнению ___________________ М. Р. Денискин Руководитель курсового проекта ___________________ О. Л. Петрова Рассмотрено на заседании ПЦК информационных технологий и естественнонаучных дисциплин «____» ________________ 2019 года Председатель ПЦК _______________ О. В. Диденко СОДЕРЖАНИЕ
ВВЕДЕНИЕ Понятие программного продукта и требования к нему, характеристика, классификация. Все программы по типу их пользователей можно разделить на два класса утилитарные программы и программные продукты (изделия). Этот признак классификации является определяющим. Он позволяет изменить статус программы, вместо “подсобного” инструментария обработки данных она превращается в “основное средство”. Таким образом, в зависимости от вида “потребителя” различают программы “внутреннего” применения и программные продукты (изделия) для “внешнего” распространения. Утилитарные программы (“программы для себя”) предназначены для удовлетворения нужд их разработчиков. Чаще всего, утилитарные программы выполняют роль сервиса в технологии обработки данных, либо являются программой решения функциональной задачи, не предназначенной для широкого распространения. Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи, также как и прочие изделия, являющиеся предметом купли-продажи или обмена . Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственного классификатора. Только при таких условиях созданный программный комплекс может быть назван программным продуктом. Программный продукт - комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к эксплуатации как любой вид промышленной продукции. Бизнес требования- определяют назначения ПО, описываются в документе о видении (vision) и границах проекта (scope). Пользовательские требования- определяют набор пользовательских задач, которые должна решать программа, а также способы их решения в системе. Функциональные требования- охватывают предполагаемое поведение системы, определяя действия, которые система способна выполнять. Программные продукты, в отличие от традиционных изделий, не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, так как одни и те же функции обработки, обеспечиваемые программным средством, имеют различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее. Основными характеристиками программ являются: - алгоритмическая сложность (логика алгоритмов обработки информации), - состав и глубина проработки реализованных функций обработки, - полнота и системность функций обработки, - технические параметры: - объем файлов программ, - требования к операционной системе и техническим средствам обработки со стороны программного средства: объем дисковой памяти, размер оперативной памяти для запуска программ, тип процессора, версия операционной системы, наличие вычислительной сети и др. Классификация программного продукта: - Системное программное обеспечение-предназначено для выполнения различных вспомогательных функций: управление ресурсами ЭВМ; создание копий используемой информации; проверку работоспособности устройств ЭВМ; выдачу справочной информации о компьютере. - Пакеты прикладных программ- непосредственно обеспечивают выполнение необходимых пользователю работ. - Инструментарий технологии программирования (облегчают процесс создания новых программ для ЭВМ на конкретном языке программирования). Объектно-ориентированное программирование (ООП) — это метод программирования, при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта. Объединение данных и свойственных им процедур обработки в одном объекте, называется инкапсуляцией и является одним из важнейших принципов ООП. Абстрагирование означает выделение значимой информации и исключение из рассмотрения незначимой. В ООП рассматривают лишь абстракцию данных (нередко называя её просто «абстракцией»), подразумевая набор значимых характеристик объекта, доступный остальной программе. Инкапсуляция — свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе. Некоторые языки (например, С++) отождествляют инкапсуляцию с сокрытием, но большинство различают эти понятия. Наследование — свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником, дочерним или производным классом. Полиморфизм подтипов (в ООП называемый просто «полиморфизмом») — свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Другой вид полиморфизма —параметрический — в ООП называют обобщённым программированием. Класс является описываемой на языке терминологии исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. При этом в некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области. Сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса или копирования прототипа (например, после запуска результатов компиляции и связывания исходного кода на выполнение). Прототип — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка. В объектах Delphi пользователь полностью отгорожен от полей объекта с помощью свойств. Внешне свойства напоминают поля, но внутри содержат методы, обеспечивающие доступ к свойствам. При каждом обращении к такому методу выполняются соответствующие действия, т.е. к свойствам класса доступ возможен только через методы. Каждому свойству соответствует поле, содержащее значение свойства, и два метода, обеспечивающих доступ к значению поля. Появление Delphi не могло пройти незамеченным среди многочисленных пользователей компьютера. Оценки экспертов, изучающих возможности этого нового продукта фирмы Borland, обычно окрашены в восторженные тона. Основное достоинство Delphi состоит в том, что здесь реализованы идеи визуального программирования. Среда визуального программирования превращает процесс создания программы в приятное и легко понимаемое конструирование приложения из большого набора графических и структурных примитивов. Delphi – чрезвычайно быстро развивающаяся система. Первая версия – Delphi 1. 0 была выпущена в феврале 1995 г. А затем новые версии выпускались ежегодно. Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5. 5, добавил в Паскаль объектно-ориентированные свойства, а Delphi — объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией Язык Pascal предназначен для описания вычислительного процесса решения задачи, в состав которой могут входить величины. Используемые величины: - константы - данные, значения которых не изменяются в программе; - переменные - данные, могущие изменяться при выполнении программы. Для обозначения имен констант, переменных, функций, процедур и модулей используются буквы и цифры, входящие в алфавит языка, и знак подчеркивания " _ ". Имена начинаются с буквы или знака подчеркивания " _ "и содержат до 63 значащих символов. Символ пробела в имени не допускается. Эти имена принято называть идентификаторами. Выражения - константы, переменные и обращения к функциям, соединенные знаками операций. Операторы - специальные символы и слова, выполняющие действия. Функции, процедуры и модули - отдельные программные блоки, имеющие имена и подключаемые к основной программе. Классы и объекты Delphi. Для реализации интерфейса Delphi использует библиотеку классов, которая содержит большое количество разнообразных классов, поддерживающих форму и различные компоненты формы (командные кнопки, поля редактирования и т. д. ). 1 ПОСТАНОВКА ЗАДАЧИ 1.1 Описание задачи В данном курсовом проекте требуется разработать приложение для операционной системы Windows на алгоритмическом языке Delphi, в одноименной среде программирования, которое обеспечивает формирование списков, обработку, вводимых пользователем данных и вывод информации. Предусмотреть в таблице наличие минимум 40 строк. Приложение должно обеспечивать формирование списков об экзаменах. Также заданный список должен содержать информацию об объеме товара, стоимости, как по отдельности, так и о стоимости партий товара. Также необходимо обеспечить сортировку таблицы по предмету, а также сортировку таблицы по среднему баллу. Вывод отсортированных экзаменов необходимо представить на отдельной форме программы. Т.е. программа по требованию должна выдавать: -Сдавших вступительные экзамены без двоек с оценками и отсортированных по среднему баллу; - Не сдавших хоть один экзамен с оценками по всем предметам; - Список поступивших, набравших задаваемый пользователем проходной балл и выше, отсортированный по году рождения; - Сдавших на «2» задаваемый пользователем экзамен; - Список студентов по заданному году рождения, если они сдали экзамены только на 4,5. Для реализации программы будем использовать стандартный подход при написании программ для Windows c использованием графического интерфейса. Процесс написания программы можно разделить на несколько этапов в зависимости от поставленной задачи и ее сложности. У меня таких этапов получилось четыре: - разработка визуального интерфейса пользователя, на экранных формах среды Delphi, а также подготовка нужных компонентов, которые понадобятся пользователю для ввода необходимых данных, изменения структуры таблицы (т.е. добавление строк, добавление столбцов), сортирования списков, редактирования данных, помощи при работе с программой, сохранения, вывода результатов на экран и т.д.; - разработка алгоритмов и программных кодов для каждого компонента на всех экранных формах среды Delphi; - подготовка текстовых исходных данных и отладка программы; - тестирования готовой программы, проверка всех возможных действий, выполненных пользователем (т.е. проверяем все возможные варианты). Исходя из этого, можно сделать вывод, что данное приложение не является «бесполезным», так как имеет четко выраженную цель и место применения. Вероятное использование данного продукта – производственные предприятия, где используются операционные системы семейства Windows. 1.2 Описание состава входной и выходной информации В данном курсовом проекте входной информацией являются столбцы, где написана та информация, которую мы имели с самого начала. Изначально мы имеем: - фамилию и инициалы абитуриента; - год рождения; - оценки по трем предметам; В качестве исходной информации мы не можем использовать данные, которые должны будем получить программно. Такая информация будет считаться выходной. В данном курсовом проекте выходной информацией будут являться столбцы, значения которых мы должны будем посчитать с помощью формул, отдельные списки, имеющие свои столбцы, значения которых мы будем узнавать также с помощью формул программно. У нас это: -средний балл; -список поступивших, набравших задаваемый пользователем проходной балл и выше, отсортированный по году рождения. 1.3 Ограничения на входные данные и методы их контроля В курсовом проекте нельзя вводить, что хочешь. Имеются ограничения на входные данные. Изначально составленная таблица вообще не видна пользователю, она появляется только при выборе пункта «Открыть» или «Открыть как…». Первая строка и первый столбец таблицы, в любом случае, зафиксированы (первая строка – это «верхушка» таблицы с наименованием всех столбцов таблицы, первый столбец – это нумерация строк таблицы. И самое важное – при открытии таблицы, мы не можем вносить изменения в данные. Эта возможность появляется у нас только после того как нажмем правую кнопку мыши и выберем пункт «включить редактирование». На этом ограничения не заканчиваются. Разберем каждую характеристику по отдельности. «ФИО». В данном пункте запрещен ввод любых символов, кроме символов русского алфавита (сюда входит запрет на ввод цифр, пунктуационных знаков, англоязычных названий товаров и т.п.) «Год рождения». В данном пункте запрещен ввод всех символов, кроме цифр. «Математика», «Информатика», «Русский язык». В данном пункте не могут быть введены буквы, отрицательные числа, 0 и 1. «Средний балл». В данном пункте могут быть введены дробные числа. 1.4 Формулы зависимости для решения задачи В курсовой работе некоторые значения не задаются нам изначально. Для того, чтобы получить их, мы пользуемся формулами. В таблице «Экзамены» по формулам мы рассчитывали средний балл. Средний балл считается как сумма всех оценок, деленная на количество экзаменов. Результат выводится в столбец компонента StringGrid «Средний балл». Рисунок 1.1 - Формула для расчета среднего балла. 2 ФУНКЦИОНАЛЬНАЯ БЛОК-СХЕМА ПРОГРАММЫ Рисунок 2.1 – Главное меню программы Рисунок 2.2 – Функции программы 3 ОПИСАНИЕ ИНТЕРФЕЙСА ПРОГРАММЫ Интерфейс – это комплекс средств, предназначенных для взаимодействия двух систем друг с другом. В качестве таких систем может выступать что угодно, включая людей и искусственный интеллект. Слово «интерфейс» позаимствовано из английского языка: interface означает «место соприкосновения». В данной случае, мы будем разбирать взаимодействие программы и человека: какие действия может выполнить пользователь в программе, а также какие процедуры выполняет программа при действиях пользователя. При открытии программы, пользователь видит окно приветствия. Рисунок 3.1 – приветствие Открывается главная форма программы на которой уже есть таблица StringGrid, но она еще не заполнена данными. Фиксированные столбцы уже имеют соответствующие названия: «ФИО», «Год рождения», «Математика», «Информатика», «Русский язык», «Средний балл». Заполнение таблицы осуществляется через главное меню. В главном меню имеется три пункта: «Файл», «Редактирование» и «Справка». Пункт «Файл» имеет пять кнопок: - «Открыть» - данные для таблицы берутся из заранее прописанного в программе текстового файла; Рисунок 3.2 – Открытие текстового файла - «Открыть как» - данные для таблицы берутся из текстового файла, выбранного пользователем; Рисунок 3.3 – Программный код подпункта меню «Открыть как…» - «Сохранить» - данные сохраняются в заране прописанный в программе текстовый файл; Рисунок 3.4 – Программный код подпункта меню «Сохранить» - «Сохранить как» - данные сохраняются в новый текстовый файл или в тестовый файл, выбранный пользователем. Имя файла можно задать самостоятельно или оставить по умолчанию; Рисунок 3.5 – программный код подпункта меню «Сохранить как…» - «Выход» - производит выход из программы. Рисунок 3.6 – Пункт «Файл» главного меню Пункт «Редактирование» имеет две кнопки: - «Включить» - разрешает редактирование; - «Выключить» - запрещает редактирование (по умолчанию). Рисунок 3.7 – Включение и отключение редактирования программно Пункт «Справка» - нажатие на данную кнопку перемещает пользователя на новую форму, где кратко указаны функции программы, название, версия и разработчик. Так же на главной форме программы имеется кнопка, при нажатии на которую станет доступна сортировка, показ списков и фильтрация таблицы. Это кнопка расчета среднего балла. При нажатии на эту кнопку в одноименном столбце таблице появятся данные, которые расчитываются программно, с помощью формул. Она становится активное только после того, как мы откроем таблицу. Сделано это для того, чтобы программа не работала с файлами, которых еще нет в таблице. Это предотвратит сбой в работе с программной. Рисунок 3.11 – Кнопка расчета среднего балла Для расчета среднего балла используются следующий код. Чтобы узнать средний балл следует сложить все оценки и разделить их на количество предм. Программно мы складываем столбцы «Математика», «Информатика», «Русский язык» и делим их на 3 . Результат выводится в столбец «Средний балл». Выглядит это следующим образом: Рисунок 3.13 – Код расчета среднего балла После расчета среднего балла нам становится доступна кнопка, при нажатии на которую мы попадаем на форму, где имеются возможность отсортировать товары, применить фильтры и увидеть необходимые списки. Она становится доступна только после расчета среднего балла. Рисунок 3.14 – Кнопка перехода на форму сортировки после активации кнопки расчета среднего балла После нажатия на кнопку пользователь попадает на форму, где имеется возможность отсортировать товары, применить фильтры и вывести необходимые списки, т.е. проверить все возможности программы. Рисунок 3.15 – Компоненты для применения фильтров, сортировки, выводы необходимых списков, заданных пользователем В программе имеются кнопки «Добавить строку» и «Удалить строку». Они находятся как на главной форме. Добавление строки происходит в конце таблицы, это самые крайние строки, а удаление строки происходит с запросом, какой номер строки удалять. Рисунок 3.16 – Кнопки удаления и добавление строк Рисунок 3.17 – Запрос на удаление строки по номеру 4 ОПИСАНИЕ ПРИМЕНЯЕМЫХ КОМПОНЕНТОВ, ИХ СВОЙСТВ, СОБЫТИЙ И МЕТОДОВ При выполнении курсовой работы, были использованы такие компоненты как StringGrid, MainMenu, Button, BitBtn, Edit, GroupBox, ComboBox, OpenDialog, SaveDialog и Label. Данные компоненты обладают множеством свойств. Разберем свойства и методы каждого компонента отдельно. StringGrid. Компонент Delphi StringGrid используется для отображения информации в табличной форме. В панели компонентов Delphi расположен на закладке Additional. При установке компонента на форму, по умолчанию имеется поля таблицы с первыми фиксированными колонкой и строкой. Редактировать после запуска программы можно только область белых ячеек. Фиксированные ячейки используются в основном для подписей столбцов и строк, а так же чтобы ограничить пользователя в возможности их редактировать. Количество фиксированных столбцов и строк можно изменить с помощью свойств FixedCol и FoxedRows. В данном курсавом проекте количество зафиксированных строк и столбцов равно 1. Программно были заданы названия столбцов, а так же пронумерованы строки от 1 до 40. Свойствами RowCount и ColCount было задано количество строк равно 41 и столбцов равно 6 Рисунок 4.1 – Готовая таблица StringGrid в программе Свойством Options.goEditing значение False запрещался ввод в таблицу какой-либо информации со стороны пользователя. Для разрешения ввода данных в таблицу в пункте главного меню «Редактирование» имеется возможность кнопкой «Включить» разрешить редактирование, т.е. изменить значение свойства Options.goEditing на значение True. По необходимости, можно снова запретить изменения в таблице нажав на кнопку «Редактирование» «Выключить». Компонент StringGrid является самым важным компонентом в программе, так как практически все остальныек компоненты связаны с ним напрямую. Это объясняется тем, что в таблице содержится информация, с которой остальные компоненты работают напрямую. MainMenu. Компонент Delphi MainMenu — это не визуальный компонент Delphi (место размещения которого на форме не имеет значения для пользователя так как он увидит не сам компонент, а меню, сгенерированное им), предназначенный для вывода главного меню на форме. Опции главного меню создаются с помощью редактора вызываемое двойным щелчком по компоненту MainMenu или нажатием кнопки рядом со свойством Items в окне Oject Inspectror. Первоначально меню не заполнено, но имеет один выделенный элемент для создания опции. Для её создания нужно перейти в Oject Inspectror и найти там свойство Caption которому присваиваем нужное название. Рисунок 4.2 – Компонент MainMenu в процессе заполнения (свойство Items) Для создания разделительной черты в свойстве Caption прописывается символ «-». Для каждого подпункта главного меню программно прописываем код и если нужно, изменяем свойства необходимого подпункта. Разделительная черта при этом не активна. Пустые ячейки при работе с программной не видны, не нужно пытаться их удалить. Button. Компонент Delphi Button это стандартная кнопка делфи, кнопка имеет на поверхности надпись (описывающая её назначение при нажатии). Основное событие для кнопки является OnClick, выполняемое при нажатии, при этом кнопка меняет внешний вид, подтверждая этим происходящее действие визуально. Сразу после отпускания кнопки, выполняется действия в обработчике OnClick. С помощью свойства Hind можно добавить любую подсказку для пользователя, что облегчит работу с программой. Свойством ShowHind значение True данная подсказка активируется и теперь при работе с программой пользователь может увидеть данную подсказку. Так же в процессе создания программы, для кнопкок Button были изменены свойста Enabled и Visible. Некоторые из кнопок были невидны пользователю еще при открытии программы, некоторые скрылись в процессе работы программы. Свойство Enabled помогало программе выполнять работу по порядку. Так как кнопку неактивна, пользователь не может нажать на нее. Следовательно, в большинстве случаев именно благодаря этому свойству сбои в программе не происходят. Кнопки становятся активны только тогда, когда это необходимо. Благодаря кнопкам сортируются и выводятся на форму списки, которые требует пользователь, удаляются и добавляются строки в таблицу. Можно сделать вывод, что компонент Button связывает многие компоненты в программе. В первую очередь, это компонент StringGrid и параменты пользователя, которые он задает в таких компонентах как Edit. GroupBox и ComboBox. Label. Компонент Delphi Label предназначен для отображения статического текста, то есть надписей и меток на Форме, которые не меняются в течение всего времени работы программы. Конечно, текст надписи, отображаемый компонентом Label можно изменить, но не непосредственно, а только программно. Свойством компонента Label, которое используется для задания отображаемого текста, является Caption (Заголовок англ.). Свойство WordWrap компонента Label позволяет выводить текст в несколько строк. Свойство Font компонента Label предоставляет возможности по изменению шрифта выводимого текста. Edit. Компонент Delphi Edit представляет собой однострочное текстовое поле, служащее для ввода данных пользователем. Основным свойством компонента Delphi Edit, передающим введённую информацию, является свойство Text типа String. Программно на ввод значений пользователем присутствуют ограничения. Нельзя при вводе проходного балла вводить буквы русского и английского алфавита. Рисунок 4.5 – Ограничения на ввод значений в компонент Edit Так же применялись свойства Visible и Enabled, чтобы пользователь, введя какое-либо значение не помешал работе программы. Перенос строк в этом компоненте по сравнению с label невозможен. Текст, не поместившийся по длине в компонент, просто сдвигается влево и пользователь может курсором перемещаться по этому тексту. BitBtn. Компонент Delphi BitBtn по сути является компонентом Button, но на нем можно размещать битовый рисунок вместе с текстом этой кнопки. GroupBox. Компонент Delphi GroupBox представляет собой контейнер для размещения элементов управления или других компонентов-контейнеров Delphi, обладающий рамкой и надписью. В программе этот компонент группирует, так называемые параметры, для сортировки, создания списков и фильтрации. Выглядит он следующим образом: Рисунок 4.5 – Один из вариантов использования компонента GroupBox для сортировки и вывода списка Свойством Caption можно изменить текст в «шапке» таблицы. ComboBox. Компонент Delphi ComboBox представляет собой комбинацию поля редактирования (Edit) и список (ListBox), что дает возможность ввести данные путем набора на клавиатуре или выбора из списка. При нажатии на стрелку появляется выпадающий список похожий ListBox. С помощью компонента ComboBox место на форме программы экономится для размещения других элементов. При необходимости раскрытие можно вообще запретить с помощью свойства Style. Чтобы заполнить выпадаюзий список, необходимо в свойстве Items прописать через Enter нужные значения. Рисунок 4.6 – Добавление компонентов в раcкрывающийся список ComboBox В свойстве Text по желаю можно написать подсказку для пользователя. Так ему будет понятно с какой информацией работать. OpenDialog. Компонент Delphi OpenDialog не визуальный компонент предназначенный для поддержки операции открытия файлов способный работать с любыми типами файлов. При обращении к этому компоненту вызывается стандартное диалоговое окно открытия файла. В программе используется как открытие из файла напрямую, уже заданного программно, так и открытие файла, выбранного пользователем. Типы искомых файлов задаются в свойстве Filter. SaveDialog. Компонент Delphi SaveDialog не визуальный компонент предназначенный для поддержки операции сохранения файлов способный работать с любыми типами файлов. При обращении к этому компоненту вызывается стандартное диалоговое окно сохранения файла. В программе используется как сохранение файла напрямую, путь для сохранения уже прописан в программе, так и сохранение файла самостоятельно пользователем в любой текстовый файл. 5 ТЕСТОВЫЙ ПРИМЕР Рассмотрим подробнее, как работает программна и со стороны пользователя кнопка «Показать список» расположенная на форме сортировки, фильтрации и показа списков. Кнопка находится на компоненте Delphi GroupBox. Рядом с ней распологается идентичная кнопка. Рисунок 5.1 – Расположение кнопок на компоненте GroupBox При нажатии на кнопку считываются данные с уже заполненный таблицы StringGrid на главной форме программы. Учитывается такой параметр как «Год рождения» и оценки по всем экзаменам . ЛИСТИНГ ПРОГРАММЫ procedure TForm3.Button2Click(Sender: TObject); var I,J,k: Integer; begin K:=0; if combobox2.text='1989' then begin for i:=1 to Form2.StringGrid1.RowCount-2 do if Form2.StringGrid1.Cells[2,i]='1989' then if CheckBox1.Checked = True then begin if (Form2.StringGrid1.Cells[3,i])>='4' then begin if (Form2.StringGrid1.Cells[4,i])>='4' then begin if (Form2.StringGrid1.Cells[5,i])>='4' then begin begin k:=k+1; Form3.StringGrid1.RowCount:=k; Form3.StringGrid1.Rows[k].CommaText:=Form2.StringGrid1.Rows[i].CommaText; end; end; end; end; end; end; if combobox2.text='1990' then begin for i:=1 to Form2.StringGrid1.RowCount-2 do if Form2.StringGrid1.Cells[2,i]='1990' then if CheckBox1.Checked = True then begin if (Form2.StringGrid1.Cells[3,i])>='4' then begin if (Form2.StringGrid1.Cells[4,i])>='4' then begin if (Form2.StringGrid1.Cells[5,i])>='4' then begin begin k:=k+1; Form3.StringGrid1.RowCount:=k; Form3.StringGrid1.Rows[k].CommaText:=Form2.StringGrid1.Rows[i].CommaText; end; end; end; end; end; end; if combobox2.text='1991' then begin for i:=1 to Form2.StringGrid1.RowCount-2 do if Form2.StringGrid1.Cells[2,i]='1991' then if CheckBox1.Checked = True then begin if (Form2.StringGrid1.Cells[3,i])>='4' then begin if (Form2.StringGrid1.Cells[4,i])>='4' then begin if (Form2.StringGrid1.Cells[5,i])>='4' then begin begin k:=k+1; Form3.StringGrid1.RowCount:=k; Form3.StringGrid1.Rows[k].CommaText:=Form2.StringGrid1.Rows[i].CommaText; end; end; end; end; end; end; if combobox2.text='1992' then begin for i:=1 to Form2.StringGrid1.RowCount-2 do if Form2.StringGrid1.Cells[2,i]='1992' then if CheckBox1.Checked = True then begin if (Form2.StringGrid1.Cells[3,i])>='4' then begin if (Form2.StringGrid1.Cells[4,i])>='4' then begin if (Form2.StringGrid1.Cells[5,i])>='4' then begin begin k:=k+1; Form3.StringGrid1.RowCount:=k; Form3.StringGrid1.Rows[k].CommaText:=Form2.StringGrid1.Rows[i].CommaText; end; end; end; end; end; end; if combobox2.text='1993' then begin for i:=1 to Form2.StringGrid1.RowCount-2 do if Form2.StringGrid1.Cells[2,i]='1993' then if CheckBox1.Checked = True then begin if (Form2.StringGrid1.Cells[3,i])>='4' then begin if (Form2.StringGrid1.Cells[4,i])>='4' then begin if (Form2.StringGrid1.Cells[5,i])>='4' then begin begin k:=k+1; Form3.StringGrid1.RowCount:=k; Form3.StringGrid1.Rows[k].CommaText:=Form2.StringGrid1.Rows[i].CommaText; end; end; end; end; end; end; end; ЗАКЛЮЧЕНИЕ В процессе выполнения курсового проекта я усвоила некоторые возможности Delphi. Но даже этот небольшой объем материала позволил мне убедиться в колоссальности данной среды. Целью курсовой работы было изучение объектно-ориентированного языка Delphi, получения практических навыков, а также дальнейшая разработка программного продукта (т.е. программы) формирования списков на тему «Товары» в среде разработки Delphi. При выполнении курсовой работы: - была изучена теория и технология работы с средой программирования Borland Delphi7; - была изучена и проанализирована соответствующая литература; - был проведён сравнительный анализ языков этого класса и показаны преимущества и недостатки языка Delphi; - был разработан программный продукт формирования списков «Товары» Требования к программе выполнены. Т.е. программа по требованию выдает: - заданный пользователем товар, если его цена не превышает заданную пользователем; - список товаров импорта в заданную пользователем страну, отсортированный по цене товара; - список самых дешевых товаров; - список самых дорогих товаров; - объем партии заданного пользователем диапазона, отсортированный по общей стоимости партии. Разработанная мной программа позволяет наглядно предоставить пользователю все необходимые списки, которые он потребует. Программа достаточно проста в использовании за счет вспыхивающих сообщений, кнопок Label с подсказками, а также отдельно вспыхивающих подсказок при наведении курсора в нужную область. Данная программа разработана только в учебных целях, хотя, разработанное мной приложение могло бы существенно облегчить работу небольшого предприятия, которое занимается учетом товаров. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1) Бакнелл, Д.В. Фундаментальные алгоритмы и структуры данных в Delphi / Д.В. Бакнелл – Питер, 2016.-725 c. 2) Бобровский, С.М. Технологии Delphi / С.П. Бобровский – Питер, 2015.-543 c. 3) Бобровский, С.П. Delphi 7. Учебный курс / С.П. Бобровский – Питер, 2016.-416 c. 4) Гофман, В.П. Delphi 7. Наиболее полное руководство / В.П. Гофман – БХВ-Петербург, 2014.-546 c. 5) Культин, Н.Р. Delphi в задачах и примерах / Н.Р. Культин - БХВ-Петербург, 2014.- 513 c. 6) Сухарев, М.В. Основы Delphi. Профессиональный подход. Наука и техника / М.В. Сухарев – БХВ Петербург, 2018. - 600 c. 7) Федоров, А. Delphi 2.0 для всех / А. Федоров - Компьютер-пресс, 2013. - 464 c. 8) Фленов, М.О. Программирование в Delphi глазами хакера / М.О. Фленов - БХВ-Петербург, 2017.-475 c. 9) Чеснокова, О.В. Delphi 2007. Алгоритмы и программы / О.В. Чеснокова - НТ Пресс, 2015.-618 c. 10) Шумаков, П.В. Delphi 3 и разработка приложений баз данных / П.В. Шумаков - Нолидж, 2018. - 704 c. |