50381 (Разработка программы при помощи языка программирования языка Delphi), страница 2
Описание файла
Документ из архива "Разработка программы при помощи языка программирования языка Delphi", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "50381"
Текст 2 страницы из документа "50381"
Словесный алгоритм действий при сохранении файла:
1. Открыть требуемый файл для записи.
2. Установить на начало массива (номер равен нулю).
3. Если достигнут конец массива, перейти на пункт 6.
4. Сохранить очередной элемент массива под номером в конец файла.
5. Нарастить на 1 и перейти на пункт 3.
6. Закрыть файл.
7. Конец.
При поиске все записи, удовлетворяющие критерию выбираются в отдельный массив и отображаются на экранной форме. Словесный алгоритм действий при поиске:
1. Установить на начало исходного массива А.
2. Обнулить размерность результирующего массива В.
3. Если достигнут конец массива А, перейти на пункт 8.
4. Если запись исходного массива А удовлетворяет критериям поиска, перейти на пункт 4, если не удовлетворяет, перейти на пункт 7.
5. Нарастить длину результирующего массива В на единицу.
6. Записать элемент массива А в конец результирующего массива В.
7. Нарастить на единицу и перейти на пункт 3.
8. Отобразить содержимое массива В в таблице на экранной форме.
9. Конец.
Анализируя требования к функциям разрабатываемого приложения под разработанную экранную форму можно выделить следующие программные модули:
-
вывод информации о разработчике программы и задании на курсовой проект;
-
создание нового типизированного файла, с информацией о компьютерах (инициализация временного массива записей );
-
сохранение содержимого файла в типизированном файле на жестком диске;
-
сохранение содержимого файла в типизированном файле на жестком диске под новым именем;
-
вывод информации о компьютере текущей записи массива в поля ввода на экранной форме;
-
перенос информации из типизированного файла в динамический массив и вывод содержимого на форме;
-
продвижение к следующей записи в массиве;
-
продвижение на предыдущую запись массива;
-
перенос информации из полей ввода в поля текущей записи из массива;
-
добавление новой записи в массив;
-
удаление текущей записи из массива;
-
поиск записей по какому-либо критерию и вывод результатов на экранную форму;
-
вывод содержимого динамического массива на объекте типа TStringGrid.
Каждый из вышеприведенных модулей реализуем при помощи процедуры. Модули 1,2, 3, 4, 6 будут обработчиками нажатий на соответствующие пункты главного меню. Для запуска модулей 7, 8, 9, 10, 11, 12 предусмотрим экранные кнопки на форме, для чего поместим на форму объекты типа TBitButton. А сами процедуры будут реализованы как обработчики нажатия на соответствующие кнопки. Модули 5, 13 реализуем как отдельную процедуру.
Cоставим алгоритм приложения, который представлен в приложении на рисунке A.1. На алгоритме приведены основные события экранной формы. В этом алгоритме:
блок №3 реализован процедурой NOpenClick,
блок №4 процедурой NSaveClick,
блок №5 - процедурой NShowClick,
блок №6 - процедурой NSaveAsClick,
блок №7 - процедурой NCreateClick,
блок №8 реализован процедурой BBDeleteClick,
блок №9 процедурой NInfoClick,
блок №10 - процедурой BBNextClick,
блок №11 - процедурой BBPrevClick,
блок №12 - процедурой BBUpdateClick,
блок №13 - процедурой BBAddClick,
блок №14 - процедурой BBSearchClick,
блок №15 - процедурой NExitClick.
Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах.
3 ОПИСАНИЕ ПРОГРАММНЫХ МОДУЛЕЙ
3.1 Описание переменных и объектов
В программе используется глобальная переменная Form1, которая представляет собой экранную форму.
Для организации интерфейса с пользователем были разработаны экранные формы, в результате чего на экранной форме Form1 поместили элементы, приведенные в таблице 3.1
Таблица 3.1– Описание визуальных объектов на форме Form1
Наименование | Тип | Назначение |
MainMenu1 | TMainMenu | главное меню |
NOpen, NSave, NSaveAs, NCreate, NExit, NInfo, NShow | TMenuItem | пункты главного меню «Открыть», «Сохранить», «Сохранить как», «Создать», «Выход», «Информация», «Показать» |
EName, EHDD, ERAM, EMonitor, | TEdit | поля для ввода данных о наименовании компьютера, объеме диска, памяти, типе монитора. |
RGrInet | TRadioGroup | поле для ввода информации о подключении к интернет |
SGrid1 | TStringGrid | вывод содержимого файла в виде таблицы |
BBPrev | TBitBtn | кнопка с надписью «Предыдущая запись» |
BBNext | TBitBtn | кнопка с надписью «Следующая запись» |
BBDelete | TBitBtn | кнопка с надписью «Удалить» |
BBAdd | TBitBtn | кнопка с надписью «Добавить» |
BBUpdate | TBitBtn | кнопка с надписью «Редактировать» |
BBSearch | TBitBtn | кнопка с надписью «Поиск» |
OpenDlg1 | TOpenDialog | стандартный диалог открытия файлов |
SaveDlg | TSaveDialog | стандартный диалог сохранения файла |
В разделе var опишем переменные, приведенные в таблице 3.2
Таблица 3.2– Переменные программы
Наименование | Тип | Назначение |
F | file of TComp | типизированный файл с данными о компьютерах |
Comp | TComp | информация об одном компьютере |
AComp | array of TComp | данные обо всех компьютерах в виде массива |
CurK | integer | номер текущей записи в массиве AComp |
Fname | string | имя текущего (рабочего) файла |
Для хранения данных о компьютере разработаем составной тип данных TComp c полями, приведенными в таблице 3.3
Таблица 3.3 – Информационные поля о компьютере
Наименование | Тип | Назначение |
Name | string[20] | наименование компьютера |
HDD | real | объём жесткого диска |
RAM | integer | объём оперативной памяти |
Monitor | string[20] | тип монитора |
Inet | boolean | наличие подключения к интернет |
В разработанной программе содержится описание 13 процедур обработчиков событий и 4 вспомогательных процедуры, которые приведены в таблице 3.4.
Таблица 3.4 Пользовательские процедуры и обработчики событий
Наименование | Обр-к | Назначение | Строки |
GetComp | - | поиск компьютера по имени | 78-89 |
ShowComp | - | вывод информации о компьютере на форму | 90-101 |
ShowCompInGrid | - | вывод информации о компьютере в таблицу | 102-114 |
ShowAComp | - | вывод содержимого массива FComp в таблицу | 115-127 |
BBAddClick | + | добавление новой записи о новом компьютере | 128-149 |
BBPrevClick | + | переход на предыдущую запись | 150-157 |
BBNextClick | + | переход на следующую запись | 158-165 |
NSaveClick | + | сохранение текущего файла | 166-179 |
NSaveAsClick | + | запуск диалога и сохранение в файле с заданным именем | 180-194 |
NOpenClick | + | запуск диалога и открытие файла | 195-216 |
BBDeleteClick | + | удаление текущей записи | 217-230 |
NCreateClick | + | инициализация массива AComp | 231-237 |
FormCreate | + | инициализация шапки таблицы | 238-247 |
BBUpdateClick | + | обновление записи в массиве данными из полей ввода | 248-260 |
NShowClick | + | вывод содержимого текущего файла на форму | 261-278 |
BBSearchClick | + | поиск компьютеров согласно некоторым критериям и вывод результатов поиска | 279-312 |
NInfoClick | + | вывод информации о разработчике | 313-317 |
NExitClick | + | выход из приложения | 318-322 |
Более подробно некоторые процедуры будут рассмотрены далее.
Кроме приведенных объектов, в разделе uses подключается модуль Unit2. В модуле Unit2 приведена форма AboutBox, на которой выводится информация о разработчике приложения и задании проекта.
3.2 Описание пользовательских процедур
Функция GetComp предназначена для поиска компьютера в массиве по имени. Синтаксис: GetComp(name:string;AComp:ATComp;var Comp:TComp):boolean. Где name – наименование компьютера, AComp – массив в котором производится поиск, Comp – объект, в который возвращается найденный объект. Если поиск удачен, то функция возвращает значение true, иначе – false.
Процедура ShowComp предназначена для вывода информации о компьютере в поля формы. Синтаксис: ShowComp(Comp:TComp). Где Comp – запись, хранящая информацию о компьютере.
Процедура ShowCompInGrid предназначена для вывода информации о компьютере в поля таблицы. Синтаксис:
ShowCompInGrid(Comp:TComp; Sgr:TStringGrid;Row:integer).
где Comp – запись, хранящая информацию о компьютере,
SGr – таблица, в которую производится вывод,
Row – номер строки, в которую выводится информация.