Программирование в Delphi
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ов), и 2 button-а (для добавления и удаления записи соответственно). Так как для отображения информации в StringGrid используется текстовая форма, предусмотреть невозможность ввода текстовых данных в численные поля с выводом соответствующего сообщения, а также невозможность внесения пустого поля, так как все поля базы данных, необходимые для математического расчета по условиям задачи должны быть заполнены.
3. Математическая формулировка задачи и выбор метода обработки информации
В поставленной задаче необходимо выполнить простейшие операции и вычисления. Математический аппарат представлен в виде вычисления двух неизвестных по заранее заданным формулам.
1) из базы данных выделить сведения на каждую запись об остатке на начало года, об остатке на конец года, о плане выпуска, а также стоимость в оптовых ценах единицы продукции.
2) выполнить вычисление объема реализации по формуле, указанной в задании.
3) выполнить вычисление стоимости в оптовых ценах всего объема реализации по формуле, указанной в задании.
Поиск наименования продукции, обладающей наибольшую стоимость всего объема реализации, происходит методом прямого перебора базы данных, сравнивая каждый последующий элемент с предыдущим. При обнаружении последующего элемента большим, чем предыдущий, значение стоимости записывается в одну буферную переменную, а индекс строки записывается во вторую. При окончании перебора в поле MEMO выводится наименование продукции из базы данных, соответствующей записанному ранее индексу, а значение переписывается из буферной переменной.
Элемент автоматической сортировки встроен в систему вывода информации через компонент StringGrid. Для этого используется типизированный массив набора данных. При добавлении новой записи происходит перенос данных из StringGrid-а в типизированный массив и затем происходит прямой перебор базы данных с поиском наиболее большего в текстовом смысле значения наименования продукции с использованием функции CompareText. При определении первого большего элемента добавляемая запись записывается между строк типизированного массива, а затем все не пустые записи типизированного массива переносятся в уже очищенный StringGrid. Затем типизированный массив очищается.
Таким образом исключается необходимость участия пользователя в процессе сортировки данных. Ход процесса перестроения базы данных как бы вмонтирован в операции по изменению данных. То есть конечной целью разработчика являлась создание унифицированной процедуры по преобразованию массива данных.Однако, данный метод (ровно как и метод пузырька) применим только для малых объемов баз данных, так как преобразование большого массива информации потребует значительные ресурсы. Поэтому набор данных намеренно был ограничен 100 записями, что в полной мере удовлетворяет поставленному условию (оперирование с более чем десятью записями).
Дальнейшим возможным развитием программы может быть использование стандартизированных типов баз данных со встроенной системой индексации и поиска, со встроенными функциями сортировки. Также возможно интегрирование типизированных файлов с программами Microsoft Office Excel или Access. Также, при необходимости, возможно доработать программу до клиент/серверного положения, которое будет иметь общую систему защищенных баз данных, удобное управление, а также распределение полномочий по добавлению/изменению/удалению записей.
4. Разработка алгоритма, схема алгоритма и его описание.
На основе вышеизложенной математической формулировки задачи, составляем соответствующие подпрограммы:
1. процедура выполнения действий при загрузке формы: FormShow.
Пояснения к алгоритму 1:
Блок 2 задание имен фиксированным столбцам в StringGrid.
Блок 3 вывод в поле memo сообщения о запуске.
2. процедура очистки StringGrid: CleanSG.
Пояснения к алгоритму 2:
Блок 2 цикл перемещения по строкам StringGrid.
Блок 3 очистка строки StringGrid.
3. процедура очистки edit-ов: clearedit.
Пояснения к алгоритму 3:
Блоки 2-6 очистка edit-ов.