Разработка приложения "Записная книжка"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

В свою очередь исполнителю проще понять суть поставленной задачи, досконально спланировать последовательность написания программы и не тратить время на лишнюю (не требуемую) работу.

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

Согласно заданию необходимо составить программу Записная книжка для работы с персональными данными людей. В программе будут следующие пункты: номер записи по порядку, фамилия, имя, отчество, год рождения, адрес электронной почты, телефон и домашний адрес. Так же будут предусмотрены ввод, редактирование и удаление данных.

Как видим, задание сводится к созданию базы данных для работы с данными людей, в качестве чего послужит файл book.dat. А также, согласно заданию, вывод на экран данных и их программное редактирование.

В программе следует проанализировать полученную из файла информацию и вывести на экран в виде полей с данными по определённой записи.

Подытожив все вышесказанное можно сформулировать требования к разрабатываемому программному обеспечению и выполнить постановку задания на проектирование. Так, согласно заданию, программа должна быть реализована в среде Delphi и должна выполнять следующие функции:

чтение из файла данных и вывод их на экран;

ввод, редактирование, удаление данных.

сохранение изменений в файл.

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

2. Описание структуры программы

2.1 Интерфейс программы

Перед тем, как написать программу, мы поместили на форму все необходимые компоненты: 9 этикеток (Label), 7 текстовых полей (Edit) и две кнопки (Button).

Далее потребовалось изменить некоторые свойства формы Form1, а именно:

свойство Borderlcons biMaximize = False, т.е. запретили сворачивание окна и разворачивание его на весь экран;

свойство BorderStyle = bsSingle, т.е. запретили пользователю менять размеры формы;

свойство Caption = Записная книжка - это название, заголовок формы;

свойство Position = poScreenCenter - чтобы форма появлялась в центре экрана;

свойство Color = clBackground - выбрали цвет формы (голубой);

свойство Height = 320 - высота формы;

свойство Width = 464 - ширина формы.

Остальные свойства оставляем по умолчанию. В свойствах Caption компонентов Label1:Label8 указываем Фамилия, Имя, Отчество, Год рождения, E-mail, Телефон, Адрес и Номер записи: соответственно, а в Label9 делаем его пустым. Также назначаем всем используемым компонентам такие свойства как: left (положение по горизонтали), Top (положение по вертикали), Height (высота) и Width (ширина). Кроме того пустым делаем свойство Text для компонентов Edit1:Edit7 и меняем значение свойства Caption кнопки Button1 на Вверх, а Button2 на Вниз.

2.2 Алгоритм программы

Открываем редактирование процедуры FormActivate (активация формы) формы Form1. Для этого щёлкаем на форме мышью, а затем в Object Inspector на вкладке Events дважды щёлкаем в пустом поле рядом со строкой события OnActivate. (Далее будем аналогично открывать редактирование процедуры FormClose, за исключением того, что щёлкать надо будет рядом со строкой события OnClose). В редакторе текста программы открывается пустая процедура TForml.FormActivate, которая будет выполняться при запуске программы, поэтому в начале работы приложения будет проверяться, существует ли файл book.dat с данными. В том случае, если такого файла нет, создаём этот файл и записываем в него первую запись, делая её пустой, иначе открываем файл для чтения информации, производим чтение информации из файла построчно и записываем данные из файла в программу и закрываем файл.

Для определения существования файла, используем функцию FileExists, которой передаётся один параметр - имя файла, возвращающую true в том случае, если файл с таким именем существует, и False, если его нет.

Для вывода на экран года рождения (p.year), используем функцию IntToStr для преобразования числа в текст, т.к. год хранится в переменной year типа integer.

Если запись является первой (то есть номер её равен 0), то кнопку Вверх делаем неактивной, присвоив свойству Enabled кнопки Button1 значение False, иначе активной, т.е. значение True.

В объект Label8 выводим порядковый номер записи в книге, с использованием функции IntToStr.

В ходе выполнения работы использовались следующие процедуры для работы с файлом:();

Процедура AssignFile назначает значение FileName значению FileHandle при подготовке к чтению или записи этого файла. Имя файла задается либо строковой константой, либо через переменную типа String. Имя файла должно соответствовать правилам работающей в данный момент операционной системы. В программе процедура будет выглядеть так: AssignFile(F,C:\\book.dat).();

Открывается файл для чтения из него информации, ему присваивается имя, заданное процедурой Assign, в данном случае Reset(F).

После работы с файлом он, как правило, должен быть закрыт процедурой CloseFile (). Чтение информации производит оператор Read(F, p). После его выполнения строка из файла F заносится в переменную p.

Процедура Rewrite(F) открывает файл для записи.

Процедура seek(F, rec) перемещает ук