Смекни!
smekni.com

Программирование в Delphi (стр. 1 из 5)

МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА И ПРОДОВОЛЬСТВИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования «Белорусский государственный аграрный технический университет»

Факультет: Предпринимательства и управления

Кафедра: Экономической информатики

Курсовой проект

Тема: «ПРОГРАМИРОВАНИЕ В DELPHI»

Выполнил студент II курса

группы 52-ЗЭИ

Зачетная книжка №506020

Братулин Евгений Петрович

Проверил:_______________

Минск 2007


CОДЕРЖАНИЕ

1. Введение. 3

2. Постановка задачи. 4

3. Математическая формулировка задачи и выбор метода обработки информации 7

4. Разработка алгоритма схемы алгоритма и его описание. 9

5. Форма представления исходных данных. 21

6. Разработка интерфейса. 22

7. Листинг программы.. 25

8. Результаты проведенных расчетов и их анализ. 32

Выводы.. 35

Список использованных источников. 36

Приложения. 37

1. Введение.

В данной курсовой работе предложено создать Windows-приложение на алгоритмическом языке ObjectPascal в среде визуального программирования Delphi, которое как планируется, будет обеспечивать решение специализированных задач по формированию, обработке на ЭВМ и выводу информации.

Разработчику ставиться вполне определенная задача, при выполнении которой используются навыки работы с операционными системами, программными оболочками, разнообразными служебными и сервисными средствами. А также навыки по алгоритмизации, программированию и решению в интегрированной визуальной среде программирования Delphi задач по экономике и управлению на предприятии.


2. Постановка задачи.

В данной курсовой работе требуется создать Windows-приложение на алгоритмическом языке ObjectPascal в среде визуального программирования Delphi, которое обеспечивает формирование, обработку на ЭВМ и вывод информации. Предусмотреть хранение информации в типизированных файлах, содержащих не менее 10 записей. Приложение должно обеспечивать формирование базы данных сведений о выручке от реализации продукции за плановый период, выполнить математические вычисления по расчету объема реализации и стоимости в оптовых ценах всего объема реализации. Также необходимо обеспечить сортировку базы данных в алфавитном порядке по наименованию продукции и организовать вывод в MEMO-поле наименование продукции, имеющее значение наибольшей стоимости.

Степень рациональности создания данной программы оценивается как низкая. Исходя из начальных условий, необходимо выполнить тривиальную последовательность действий:

- хранение малого объема данных

- произведение простых математических вычислений

- обеспечение хранение базы данных

При исследовании существующих программных продуктов, был сделан вывод, что используя комплексное программное обеспечение компании Microsoft, на базе электронных таблиц Excel или базы данных Access можно было создать такое же приложение, выполняющее поставленную задачу. При этом затрачивается минимум усилий на проработку интерфейса и процедур сортировки. Однако, большим минусом данного решения будет является необходимость обязательной предварительной установки программного обеспечении MicrosoftOffice, лицензионные версии которого не получили широкого распространения на территории Республики Беларусь.

Поэтому принято считать, что уже исходя из этого разрабатываемое Windows- приложение не является «бесполезным», потому как имеет одну четко сформировавшуюся цель и место применения. Вероятное использование данного продукта - финансовые терминалы на базе операционных систем семейства Windows любого производственного предприятия. Данная программа, используя стандартные компоненты, с успехом будет работать в ОС-ах Windows’95, 98, 2000, ХР не требуя при этом дополнительных инсталляций программного обеспечения.

Для создания подобного приложения, которое будет удовлетворять поставленную задачу, и обеспечения функционирования математического аппарата необходимо как минимум:

1) Один компонент для визуального представления данных в табличной форме,

2) MEMO-поле для вывода данных, указанных в задании

3) Набор компонентов для добавления / изменения / удаления записей в базу данных

4) Диалоговые окна, обеспечивающие выбор файлов для открытия / сохранения базы данных с соответствующими кнопками для их вызова.

Также необходимо обязательно создать дополнительные подпрограммы, обеспечивающие непосредственно математический аппарат основной программы и сортирование базы данных.

Таким образом, учитывая вышесказанное, разработчиком были приняты следующие решения, касающиеся будущей структуры приложения:

1) для визуального отображения данных в табличной форме выбрать компонент StringGrid, который в текстовой форме обеспечивает ввод, изменение, удаление и просмотр данных. Шапка таблицы будет повторять таблицу, указанную в начальном условии. Предустановленное максимальное количество данных – 100 записей, что также удовлетворяет начальному условию

2) MEMO-поле прежде всего предназначенное для вывода данных, указанных в условии, дополнительно использовать для визуального подтверждения выполняемых пользователем действий.

3) для добавления / изменения / удаления записей в базу данных использовать 5 компонентов edit (для заполнения соответствующих столбцов), и 2 button-а (для добавления и удаления записи соответственно). Так как для отображения информации в StringGrid используется текстовая форма, предусмотреть невозможность ввода текстовых данных в численные поля с выводом соответствующего сообщения, а также невозможность внесения «пустого» поля, так как все поля базы данных, необходимые для математического расчета по условиям задачи должны быть заполнены.

4) использовать стандартные диалоги OpenDialog и SaveDialog для предоставления пользователю возможности визуального выбора имени и пути типизированного файла для открытия либо для сохранения базы данных. Для вызова диалогов использовать 2 компонента button с соответствующими названиями

5) для «обнуления» данных, т.е. создания новой базы использовать компонент button с подписью «создать базу».

6) для дублирования функций программы и создания дополнительного удобства работы с приложением применить компонент menu с соответствующими подменю и подписями кнопок.

7) математический аппарат представить в виде отдельной процедуры, состоящей из двух уравнений, удовлетворяющих начальному условию, которые являются необходимой частью приложения. Расчет проводить в автоматизированном режиме, без участия пользователя.

8) выполнить сортирование базы данных в автоматизированном режиме. Что исключит лишние действия пользователя по периодическому нажатию кнопки «сортировка». Действие сортировки выполнить уникальным, специально разработанным методом при каждом изменении базы данных.


3. Математическая формулировка задачи и выбор метода обработки информации

В поставленной задаче необходимо выполнить простейшие операции и вычисления. Математический аппарат представлен в виде вычисления двух неизвестных по заранее заданным формулам.

1) из базы данных выделить сведения на каждую запись об остатке на начало года, об остатке на конец года, о плане выпуска, а также стоимость в оптовых ценах единицы продукции.

2) выполнить вычисление объема реализации по формуле, указанной в задании.

3) выполнить вычисление стоимости в оптовых ценах всего объема реализации по формуле, указанной в задании.

Поиск наименования продукции, обладающей наибольшую стоимость всего объема реализации, происходит методом прямого перебора базы данных, сравнивая каждый последующий элемент с предыдущим. При обнаружении последующего элемента большим, чем предыдущий, значение стоимости записывается в одну буферную переменную, а индекс строки записывается во вторую. При окончании перебора в поле MEMO выводится наименование продукции из базы данных, соответствующей записанному ранее индексу, а значение переписывается из буферной переменной.

Элемент автоматической сортировки встроен в систему вывода информации через компонент StringGrid. Для этого используется типизированный массив набора данных. При добавлении новой записи происходит перенос данных из StringGrid-а в типизированный массив и затем происходит прямой перебор базы данных с поиском наиболее большего в текстовом смысле значения наименования продукции с использованием функции CompareText. При определении первого большего элемента добавляемая запись записывается между строк типизированного массива, а затем все «не пустые» записи типизированного массива переносятся в уже очищенный StringGrid. Затем типизированный массив очищается.

Таким образом исключается необходимость участия пользователя в процессе сортировки данных. Ход процесса перестроения базы данных как бы вмонтирован в операции по изменению данных. То есть конечной целью разработчика являлась создание унифицированной процедуры по преобразованию массива данных.Однако, данный метод (ровно как и метод «пузырька») применим только для малых объемов баз данных, так как преобразование большого массива информации потребует значительные ресурсы. Поэтому набор данных намеренно был ограничен 100 записями, что в полной мере удовлетворяет поставленному условию (оперирование с более чем десятью записями).

Дальнейшим возможным развитием программы может быть использование стандартизированных типов баз данных со встроенной системой индексации и поиска, со встроенными функциями сортировки. Также возможно интегрирование типизированных файлов с программами MicrosoftOfficeExcel или Access. Также, при необходимости, возможно доработать программу до клиент/серверного положения, которое будет иметь общую систему защищенных баз данных, удобное управление, а также распределение полномочий по добавлению/изменению/удалению записей.