Разработка приложения «Работа с файлами»

Работа с файлами - важная тема в любом языке программирования. Файл представляется как именованная структура данных, т.е. последовательность однотипных данных, это огромный массив, число элементов которого практически ничем не ограничено. Работа с файлами в Delphi позволяет считывать, сохранять информацию и выполнять другие действия с файлами. Кроме того, поддерживаются операции поиска, фильтрации информации, переименования файлов и директорий, работа с папками и деревьями папок. В качестве сред...
Раздел Информатика
Класс 11 класс
Тип Рабочие программы
Автор
Дата
Формат docx
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

СОДЕРЖАНИЕ



ВВЕДЕНИЕ

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

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

В качестве среды разработки выбрана среда объектно-ориентированного программирования Embarcadero RAD Studio XE (Delphi XE). Среда позволяет создать приложение, которое будет содержать простой и удобный интерфейс для работы пользователя.

Актуальность темы «Работа с файлами» обусловлено тем, что программа составляет особую степень важности для решения задач с файлами. В курсовом проекте представлена тема «Проектирование и разработка приложения в среде объектно-ориентированного программирования, реализующего создание и обработку файла, содержащего сведения о книгах библиотеки».

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

  1. разработать приложение «Работа с файлами» и отладить программу, реализующую разработанный алгоритм;

  2. для хранения условно-постоянной информации создать файлы книг библиотеки и дописать;

  3. создать запросы на выборку книг библиотеки из файла;

  4. организовать удобный интерфейс пользователя.

1 ОБЩАЯ ЧАСТЬ

1.1 Цели, назначение и область применения созданного программного продукта

Создания данной программы преследует следующий ряд целей:

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

2)создание запросов на выборку книг библиотеки из файла;

3)создание понятной программы с удобным и универсальным Windows-интерфейсом для пользователя.

Данная разработка является семестровой работой по дисциплине «Технология разработки программного продукта».

Программный продукт «Библиотека» предназначен для оперативного ведение учета поступления, хранения и создания информации о книгах, а так же для выдачи информации по запросам пользователя.

1.2 Характеристика комплекса технических средств, использованного при разработке и необходимого для эксплуатации созданного программного продукта

1.2.1 Разрабатываемое программное обеспечение (ПО) должно обеспечивать

  1. заполнить файл с информацией о книгах в магазине;

4)вычислить общую стоимость книг;

5)выяснить какие книги имеются в наибольшем количестве, какие в наименьшем;

6)вывести информацию о наличии данной книги с названием автора, год издания, издательство и стоимость; и т.д.

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

1.2.2 Условия эксплуатации и требования к составу и параметрам технических средств

Для работы системы должен быть обучен пользователь ПК.

Требования к составу и параметрам технических средств уточняются на этапе эскизного проектирования системы.

1.2.3 Требования к информационной и программной совместимости

Программа должна работать на платформах Windows 98/ NT/2000.

1.2.4 Требования к транспортировке и хранению

Программа поставляется на лазерном носителе информации.

Программная документация поставляется в электронном виде.

1.2.5 Специальные требования

Программное обеспечение должно иметь дружественный интерфейс, рассчитанный на пользователя (в плане компьютерной грамотности), его квалификацию;

Программа должна иметь возможность настройки пользовательского интерфейса (шрифтов и цветов);

Ввиду объемности проекта задачи предполагается решать поэтапно.

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

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

Язык программирования по выбору разработчика должен обеспечивать возможность интеграции программного обеспечения с некоторыми видами периферийного оборудования (например, с принтером и т. п.).

1.2.6 Требования к программной документации

Основными документами, регламентирующими разработку будущих программ, должны быть документы Единой Системы Программной Документации (ЕСПД): инструкция программиста, инструкция пользователя, описания применения.

1.3 Характеристика программного обеспечения ЭВМ, используемого при разработке и необходимого для эксплуатации созданного программного продукта

1.3.1 Характеристика программного обеспечения Embarcadero RAD Studio XE (Delphi XE)

Год выпуска:2010

Версия: RAD Studio XE 15.0.3953.35171 + Help Update 2 + Delphi Prism XE 4.0.25.791 + RadPHP XE 3.0.0.1319

Разработчик: Embarcadero Technologies

Платформа: Windows

Системные требования:

  • intel pentium or compatible, 1.4 GHz minimum (2 GHz + recommended);

  • 1GBRAM (2 GB+ recommended);

  • 3GB free hard disk space;

  • 750 MB free hard disk space for prerequisites;

  • DVD-ROM drive;

  • 1027x768 or higher- resolution monitor;

  • mouse or other pointing device;

  • язык интерфейса:en + de + fr + jp.

Таблетка: Присутствует(team CORE)

Описание:

Embarcadero RAD Studio XE представляет собой набор средств разработки приложений, который позволяет создавать приложения с графическим пользовательским интерфейсом для Windows, NET, PHP и веб-решений.

В состав Embarcadero RAD Studio XE Architect входят:

  • Embarcadero (Delphi XE) дает возможность создавать полнофункциональные приложения дляWindows;

  • Embarcadero C++Builder XE - это среда С++, которая полностью соответствует концепции быстрой разработки приложений (RAD), объединяет средства ANSI C++ и много функциональную расширяемую инфраструктуру визуальных компонентов.

Embarcadero Delphi Prism XE представляет собой:

Кросс - платформенное решение для разработки и язык программирования для быстрой разработки приложений NET, Mono, ASP.NET и приложений на основе данных для Windows, Linux и Mac OS X.

  • Embarcadero Rad PHP XE упрощает создание веб - приложений на PHP, благодаря наличию визуальных средств проектирования интерфейсов, редактора, отладчика, средств подключения к базам данных и интегрированной библиотеки повторно используемых классов компонентов;

  • InterBase SMP 2009Developer Edition представляет разработчикам кросс- платформенную базу данных для создания и тестирования приложений для встраиваемых приложений и приложений для малых и средних предприятий;

  • Embarcadero Rad Studio XE поддерживает новые функции для повышения производительности приложений, оптимизации разработки и ускорения процесса создания мощных приложений Windows, NET, PHP и веб - приложений.

Новые возможности RAD Studio XE:

  • интеграция Subversion;

  • новые возможности VCL и RTL;

  • доработки в редакторе кода;

  • обновление Data Shape, в частности по части поддержки новых версий СУБД;

  • обновление средств моделирования, поддержка диаграмм последовательностей;

  • оовые возможности для расширения IDE, обновленный Open Tools API.

  • редакция RAD Studio XE Architect поддерживает все возможности редакции Enterprise и предоставляет следующие дополнительные мощные средства моделирования и проектирования баз данных.

  • обратное проектирование, анализ и оптимизация баз данных;

  • возможность автоматического создания кода баз данных на основе моделей для прямого проектирования;

  • создание логических и физических моделей на основе данных, извлеченных из баз данных и файлов сценариев;

  • работа с удобными для чтения и навигации диаграммами;

  • усовершенствованное сравнение и объединение с помощью двунаправленных операций сравнения и объединения моделей и структур баз данных.

  • основные возможности для разработки приложений Windows.

  • интегрированная среда разработки Delphi и C++Builder с функцией перетаскивания мышью;

  • более 250 компонентов в библиотеки VCL;

  • встроенная поддержка касаний и жестов (более 30 готовых жестов);

  • dbExpress c поддержкой 9 основных баз данных, включая InterBase;

  • Data Shape с поддержкой JSON, REST, HTTP, COM и XML;

  • возможность отладки многопоточных приложений;

  • UML аудит кода и учета показателей.

  • поддержка Windows2000, Windows XP, Windows Vista и Windows 7 из единого источника.

2 СПЕЦИАЛЬНАЯ ЧАСТЬ

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

Разработка приложения «Работа с файлами». Дан файл biblioteka, содержащий сведения о книгах. Сведения о каждой из книг - это фамилия автора, название, год издания и цена книги. Создать не менее 5 запросов на выборку книг.

Реализовать систему создание файла, записывать данные в файл, вывод файла на экран. Создать информационное сообщение, выводимое при ошибке, если не все поля заполнены.

Создать запросы по фамилии автора, по названию книги, по году изданию, общей стоимости книг автора, по фамилии и году издания. Создать справку о пользовании программой и об авторе.

Создать на главной форме, с помощью компонента TMainMenu, вкладки «Файл», «Главные окна приложения», «Запросы» по нажатию, на которые будут выводиться вкладки «Создание файла», «До записать в файл», «Вывод файла на экран» и т.д..

2.2 Информационное обеспечение задачи

Для того чтобы создать файл необходимо запустить приложение, в пункте меню «Главные формы приложения» выбрать из выпадающего списка «Создать файл», в окне формы нужно будет заполнить всю информацию о книге и нажать на кнопку создания файла. Файл автоматически создастся на диске «D» в папке «Kursovae2» в файл «Bib.txt», так как уже заранее прописан, адрес в самой программе и нажать на выход.

Что бы до записать в файл на главной форме приложения на вкладке «Главные формы приложения» выбираем из выпадающего меню «До запись в файл» в открывшейся форме заполняем информацию о книге правой кнопкой мыши щелкаем по кнопке «До запись в файл» и нажимаем на выход.

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

Для того что бы найти нужную книгу переходим на главную форму на вкладку «Запросы» и выбираем наиболее подходящий нам запрос. «по фамилии автора», «по названию книги», «по году изданию», «общей стоимости книг автора», «по фамилии и году издания» в открывшейся форме заполняем предлагаемые пункты для ввода данных, нажимаем на кнопку «Найти» и вся информация выводится на форму. Если вы не заполнили одно поле, то появится информация об ошибке «Все поля должны быть заполнены».

2.3 Входные и выходные данные программного продукта

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

В программе используются следующие переменные, в которых хранятся входные и выходные данные см. табл.1:

Таблица 1

Поле

Тип данных

Комментарии

ФИО автора

String [20]

Фамилия Имя Отчество автора книги.

Название книги

String [20]

Название книги

Год издания

String [20]

Год издания книги

Издательство

String [20]

Издательство книги

Цена книги

String [20]

Цена книги

Справка


Справка о программе и об авторе.

Полное имя файла: указывается пользователем (длина до 20 символов).

Входные и выходные файлы имеют следующий формат:

F: string [20];

I: string [20];

O: string [20];

Nazvanie: string [20];

God: string [20];

Izd: string [20];

Cena: string [20];

G: TextFile; - переменная в цикле, текстовый файл в котором храниться информация.

Ключевое слово Record один из самых полезных, и отличительных особенностей Delphi . Оно обеспечивает средство сбора в одну структуру набора различных типов данных. На каждое поле в записи ссылаются следующим способом record.field.

Когда объявлено, опция Packed, Delphi минимизирует память, отведенную под запись. Эти сокращения в памяти повлиять на выполнение, где данные не выстроены, соответственно, по 2, 4 или 8 байт. По умолчанию должно выровняться, где необходимо, с заполнителями.

Есть два основных типа записи, как показано в двух синтаксических типах:

Это стандартные объявления переменных Delphi, типа:

Size: Integer;

За исключением того, что их размер должен быть определён. Например:

description: string [20];

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

Тип Integer - целое число, размер которого не гарантируется. Это основной цело численный тип в Delphi, и в настоящие время имеет ту же самую ёмкость как LongInt тип - 1 бит на знак, и 31 бит на значение.

String - переменная в цикле, в неё помещаются строки из файла [1, ст.21].

2.4 Описания алгоритма программы

Структура приложения представлена в рис.1

Разработка приложения «Работа с файлами»

Рисунок 1 - Структура приложения

2.4.1 Описание интерфейса приложения

Программа состоит из 10 форм. Каждая из них имеет свои функции.

  1. Главная форма приложения, её функции, компоненты

Главная форма MainMenu создаёт до записывает файл и выводит информацию о книгах. С помощью неё пользователь может выбрать конкретное действие, например «Запрос».

Внешний вид формы представлен на рис.2

Разработка приложения «Работа с файлами»

Рисунок 2 - Главное окно приложения

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9;

type

Rec=Record

F: string [20];

I: string [20];

O: string [20];

Nazvanie: string[20];

God: string[4];

Izd: string[20];

Cena: real;

end;

TForm1 = class (TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N15: TMenuItem;

N14: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N14Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

g:TextFile;

Rab:Rec;

implementation

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form2:= TForm2.Create(Application);

Form2.Show;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form3:= TForm3.Create(Application);

Form3.Show;

end;

procedure TForm1.N15Click(Sender: TObject);

begin

Form4:= TForm4.Create(Application);

Form4.Show;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form5:= TForm5.Create(Application);

Form5.Show;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

Form6:= TForm6.Create(Application);

Form6.Show;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

Form7:= TForm7.Create(Application);

Form7.Show;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

Form8:= TForm8.Create(Application);

Form8.Show;

end;

procedure TForm1.N11Click(Sender: TObject);

begin

Form9:= TForm9.Create(Application);

Form9.Show;

end;

procedure TForm1.N13Click(Sender: TObject);

begin

ShowMessage('Автор приложения:

Юнченко Денис Васильевич'+#13'Место учебы: ГБОУ СПО ИО Ангарский промышленно-экономический техникум'+#13'Специальность: 230105 Програмное обеспечение вычислительной техники и автоматизированных систем'+#13'Контактный телефон:+79501398649'+#13'E-mail:tip.kul@yandex.ru'+#13)

end;

procedure TForm1.N14Click(Sender: TObject);

begin

ShowMessage

('Программа "Библиотека"'+#13'Версия 1.01'+#13'Владелец: Юнченко Денис Васильевич студент группы Пр4-3'+#13'Все права защищены'+#13'Комментарии: Программа предназначена для хранения данных о книгах'+#13)

end;

end.

end.

  1. Форма создания файла.

Форма «Создания файла» позволяет создать новый файл. Внешний вид формы Form2 представлен на рис.3.

Разработка приложения «Работа с файлами»

Рисунок 3 - Создание файла

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

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus;

type

TForm2 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Label8: TLabel;

Button1: TButton;

Button2: TButton;

Button4: TButton;

Edit9: TEdit;

procedure Button4Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button4Click(Sender: TObject);

begin

close;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

AssignFile(g,'D:\Kursovae2\Bib.txt');

Edit9.text:='D:\Kursovae2\Bib.txt';

{$I-}

Rewrite(g);

{$I+}

if IOResult<>0 then

begin

ShowMessage('Ошибка создания D:\Kursovae2\Bib.txt');

exit;

end

else

begin

if (length(edit1.Text)=0) or (length(edit2.Text)=0) or

(length(edit3.Text)=0)or (length(edit4.Text)=0)or (length(edit5.Text)=0)

or (length(edit6.Text)=0)or (length(edit7.Text)=0) then

ShowMessage('Ошибка ввода данных'+#13

+ ' Все поля должны быть заполнены.')

else //Ввод данных из формы

begin

Rab.f:=Edit1.Text;

Rab.i:=Edit2.Text;

Rab.O:=Edit3.Text;

Rab.Nazvanie:=Edit4.Text;

Rab.God:=Edit5.Text;

Rab.Izd:=Edit6.Text;

Rab.cena:=StrToFloat(Edit7.Text);

Writeln(g,Rab.F);

Writeln(g,Rab.I);

Writeln(g,Rab.O);

Writeln(g,Rab.Nazvanie);

Writeln(g,Rab.God);

Writeln(g,Rab.Izd);

Writeln(g,Rab.cena); //,Rab.kol

end;

CloseFile(g);

end;

end;

{procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

CloseFile(g);

end;}

procedure TForm2.Button1Click(Sender: TObject);

begin

Edit1.text:='';

Edit2.text:='';

Edit3.text:='';

Edit4.text:='';

Edit5.text:='';

Edit6.text:='';

Edit7.text:='';

Edit9.text:='';

end;

end.

  1. Форма «До запись в файл».

Форма «До запись в файл» предназначена для ввода информации о книгах. Внешний вид формы Form3 представлен на рис.4.

Разработка приложения «Работа с файлами»

Рисунок 4 - Дозапись

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

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm3 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Label8: TLabel;

Button1: TButton;

Button2: TButton;

Button4: TButton;

Edit9: TEdit;

procedure Button4Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

//g:TextFile;

//Rab:Rec;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.Button4Click(Sender: TObject);

begin

close;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

AssignFile(g,'D:\Kursovae2\Bib.txt');

Edit9.text:='D:\Kursovae2\Bib.txt';

{$I-}

Append(g);

{$I+}

if IOResult<>0 then

begin

ShowMessage

('Ошибка открытия файла D:\Kursovae2\Bib.txt');

exit;

end

else

begin

if (length(edit1.Text)=0) or (length(edit2.Text)=0) or

(length(edit3.Text)=0)or (length(edit4.Text)=0)or (length(edit5.Text)=0)

or (length(edit6.Text)=0)or (length(edit7.Text)=0) then ShowMessage('Ошибка ввода данных'+#13

+ ' Все поля должны быть заполнены.')

else //Writeln(g,Edit1.text,' ',Edit2.text,' ',Edit3.text,' ',Edit4.text,' ',Edit5.text,' ',Edit6.text,' ',Edit7.text,' ',Edit8.text); //Вывод в файл через пробел

begin

Rab.f:=Edit1.Text;

Rab.i:=Edit2.Text;

Rab.O:=Edit3.Text;

Rab.Nazvanie:=Edit4.Text;

Rab.God:=Edit5.Text;

Rab.Izd:=Edit6.Text;

Rab.cena:=StrToFloat(Edit7.Text);

Writeln(g,Rab.F);

Writeln(g,Rab.I);

Writeln(g,Rab.O);

Writeln(g,Rab.Nazvanie);

Writeln(g,Rab.God);

Writeln(g,Rab.Izd);

Writeln(g,Rab.cena); //,Rab.kol

end;

CloseFile(g);

end;

end;

procedure TForm3.Button1Click(Sender: TObject);

begin

Edit1.text:='';

Edit2.text:='';

Edit3.text:='';

Edit4.text:='';

Edit5.text:='';

Edit6.text:='';

Edit7.text:='';

Edit9.text:='';

end;

end.

  1. Форма «Вывода файла на экран».

Форма вывода Form4 позволяет выводить всю информацию удовлетворяющую введённому критерию представлено на рис.5. В нашем случае этот критерий состоит в введении пути файла D:\Kursovae2\Bib.txt, после которого должны быть выведена вся информация о книгах.

Разработка приложения «Работа с файлами»

Рисунок 5 - Вывод файла на экран

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

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

Rec=Record

F:string [20];

I:string [20];

O:string [20];

Nazvanie:string[20];

God:string[4];

Izd: string[20];

Cena:string[20];

end;

TForm4 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Button4: TButton;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Label11: TLabel;

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

// g:TextFile;

// Rab:Rec;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm4.Button4Click(Sender: TObject);

begin

close;

end;

procedure TForm4.Button1Click(Sender: TObject);

{label m1;}

Var

Otv:WORD;

fname:String [100];

begin

//CloseFile(g);

Repeat

{$I-}

fname:=Edit1.Text;

AssignFile(g,fname);

Reset(g);

{$I+}

if IOResult<>0

then otv:=MessageDlG('Ошибка открытия файла TempREC'+#13+'Повторить попытку?',

mtWarning,[mbYes,mbNo],0);

//mtWarning-Сообщение

Until (IOResult=0) or (Otv=mrNo);

if IOResult=0 then

begin

While not Eof(g) do

begin

Readln(g,Rab.F);

Readln(g,Rab.I);

Readln(g,Rab.O);

Readln(g,Rab.Nazvanie);

Readln(g,Rab.God);

Readln(g,Rab.Izd);

Readln(g,Rab.cena); //,Rab.kol

Label11.Caption:=Label11.Caption+Rab.F+#13;

Label12.Caption:=Label12.Caption+Rab.I+#13;

Label13.Caption:=Label13.Caption+Rab.O+#13;

Label14.Caption:=Label14.Caption+Rab.Nazvanie+#13;

Label15.Caption:=Label15.Caption+Rab.God+#13;

Label16.Caption:=Label16.Caption+Rab.Izd+#13;

Label17.Caption:=Label17.Caption+FloatToStrF(Rab.Cena,FFFixed,8,2)+#13;

end;

CloseFile(g);

end;

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

Edit1.Text:='';

Label11.Caption:='';

Label12.Caption:='';

Label13.Caption:='';

Label14.Caption:='';

Label15.Caption:='';

Label16.Caption:='';

Label17.Caption:='';

end;

end.

  1. Форма запроса «По фамилии автора».

Форма запроса позволяет выводить информацию о книгах по одному критерию по фамилии автора книг представлено на рис.6. Она имеет следующий внешний вид.


Разработка приложения «Работа с файлами»

Рисунок 6 - Запрос по фамилии автора

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

unit Unit5;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm5 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Button4: TButton;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label7: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

Var

Otv:WORD;

fname:String [100];

begin

//CloseFile(g);

Repeat

{$I-}

fname:='D:\Kursovae2\Bib.txt';

AssignFile(g,fname);

Reset(g);

{$I+}

if IOResult<>0

then otv:=MessageDlG('Ошибка открытия файла Bib.txt'+#13+'Повторить попытку?',

mtWarning,[mbYes,mbNo],0); //mtWarning-Сообщение

Until (IOResult=0) or (Otv=mrNo);

if IOResult=0 then

begin

While not Eof(g) do

begin

Readln(g,Rab.F);

Readln(g,Rab.I);

Readln(g,Rab.O);

Readln(g,Rab.Nazvanie);

Readln(g,Rab.God);

Readln(g,Rab.Izd);

Readln(g,Rab.cena); //,Rab.kol

if Rab.F = Edit1.text then

begin

Label14.Caption:=Label10.Caption+Rab.F+#13;

Label15.Caption:=Label11.Caption+Rab.I+#13;

Label16.Caption:=Label12.Caption+Rab.O+#13;

Label8.Caption:=Label8.Caption+Rab.Nazvanie+#13;

Label9.Caption:=Label9.Caption+Rab.God+#13;

Label10.Caption:=Label10.Caption+Rab.Izd+#13;

Label11.Caption:=Label11.Caption+FloatToStrF(Rab.Cena,FFFixed,8,2)+#13;

end;

end;

CloseFile(g);

end;

end;

procedure TForm5.Button4Click(Sender: TObject);

begin

close;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

Edit1.text:='';

Label8.Caption:='';

Label9.Caption:='';

Label10.Caption:='';

Label11.Caption:='';

Label14.Caption:='';

Label15.Caption:='';

Label16.Caption:='';

end;

end.

  1. Форма запроса по названию книги

Форма Form6 позволяет выводить информацию о книгах по одному критерию по названии книги. Она имеет следующий внешний вид представлено на рис.7.

Разработка приложения «Работа с файлами»

Рисунок 7 - Запрос по названию книги

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

unit Unit6;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm6 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Button4: TButton;

Label8: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label9: TLabel;

Label16: TLabel;

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);

Var

Otv:WORD;

fname:String [100];

begin

//CloseFile(g);

Repeat

{$I-}

fname:='D:\Kursovae2\Bib.txt';

AssignFile(g,fname);

Reset(g);

{$I+}

if IOResult<>0

then otv:=MessageDlG('Ошибка открытия файла Bib.txt'+#13+'Повторить попытку?',

mtWarning,[mbYes,mbNo],0); //mtWarning-Сообщение

Until (IOResult=0) or (Otv=mrNo);

if IOResult=0 then

begin

While not Eof(g) do

begin

Readln(g,Rab.F);

Readln(g,Rab.I);

Readln(g,Rab.O);

Readln(g,Rab.Nazvanie);

Readln(g,Rab.God);

Readln(g,Rab.Izd);

Readln(g,Rab.cena); //,Rab.kol

if Rab.Nazvanie = Edit1.text then

begin

Label10.Caption:=Label10.Caption+Rab.F+#13;

Label11.Caption:=Label11.Caption+Rab.I+#13;

Label12.Caption:=Label12.Caption+Rab.O+#13;

Label13.Caption:=Label13.Caption+Rab.God+#13;

Label16.Caption:=Label16.Caption+Rab.Nazvanie+#13;

Label14.Caption:=Label14.Caption+Rab.Izd+#13;

Label15.Caption:=Label15.Caption+FloatToStrF(Rab.Cena,FFFixed,8,2)+#13;

end;

end;

CloseFile(g);

end;

end;

procedure TForm6.Button4Click(Sender: TObject);

begin

close;

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

Edit1.text:='';

Label10.Caption:='';

Label11.Caption:='';

Label12.Caption:='';

Label13.Caption:='';

Label14.Caption:='';

Label15.Caption:='';

Label16.Caption:='';

end;

end.

  1. Форма запроса «По году издания».

Форма запроса позволяет выводить информацию о книгах по одному критерию по году издания книг. Она имеет следующий внешний вид представлено на рис.8.

Разработка приложения «Работа с файлами»

Рисунок 8 - Запрос по году издания книги

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

unit Unit7;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm7 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Button4: TButton;

Label8: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label14: TLabel;

Label15: TLabel;

Label13: TLabel;

Label9: TLabel;

Label16: TLabel;

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

uses Unit1 ;

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);

Var

Otv:WORD;

fname:String [100];

begin

//CloseFile(g);

Repeat

{$I-}

fname:='D:\Kursovae2\Bib.txt';

AssignFile(g,fname);

Reset(g);

{$I+}

if IOResult<>0

then otv:=MessageDlG('Ошибка открытия файла Bib.txt'+#13+'Повторить попытку?',

mtWarning,[mbYes,mbNo],0); //mtWarning-Сообщение

Until (IOResult=0) or (Otv=mrNo);

if IOResult=0 then

begin

While not Eof(g) do

begin

Readln(g,Rab.F);

Readln(g,Rab.I);

Readln(g,Rab.O);

Readln(g,Rab.Nazvanie);

Readln(g,Rab.God);

Readln(g,Rab.Izd);

Readln(g,Rab.cena); //,Rab.kol

if Rab.God = Edit1.text then

begin

Label10.Caption:=Label10.Caption+Rab.F+#13;

Label11.Caption:=Label11.Caption+Rab.I+#13;

Label12.Caption:=Label12.Caption+Rab.O+#13;

Label16.Caption:=Label16.Caption+Rab.God+#13;

Label13.Caption:=Label13.Caption+Rab.Nazvanie+#13;

Label14.Caption:=Label14.Caption+Rab.Izd+#13;

Label15.Caption:=Label15.Caption+FloatToStrF(Rab.Cena,FFFixed,8,2)+#13;

end;

end;

CloseFile(g);

end;

end;

procedure TForm7.Button4Click(Sender: TObject);

begin

close;

end;

procedure TForm7.Button2Click(Sender: TObject);

begin

Edit1.text:='';

Label10.Caption:='';

Label11.Caption:='';

Label12.Caption:='';

Label13.Caption:='';

Label14.Caption:='';

Label15.Caption:='';

Label16.Caption:='';

end;

end.

  1. Форма запроса «По общей стоимости книг автора».

Форма запроса позволяет выводить информацию о книгах по одному критерию по фамилии автора и подсчитывает общую стоимость и количество книг данного автора. Она имеет следующий внешний вид представлено на рис.9.

Разработка приложения «Работа с файлами»

Рисунок 9 - Запрос по общей стоимости книг автора

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

unit Unit8;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm8 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

Label3: TLabel;

Label5: TLabel;

Label7: TLabel;

Button4: TButton;

Label9: TLabel;

Label6: TLabel;

Label4: TLabel;

Label8: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form8: TForm8;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);

Var

Otv,K:WORD;

S:real;

fname:String [100];

begin

//CloseFile(g);

Repeat

{$I-}

fname:='D:\Kursovae2\Bib.txt';

AssignFile(g,fname);

Reset(g);

{$I+}

if IOResult<>0

then otv:=MessageDlG('Ошибка открытия файла Bib.txt'+#13+'Повторить попытку?',

mtWarning,[mbYes,mbNo],0); //mtWarning-Сообщение

Until (IOResult=0) or (Otv=mrNo);

if IOResult=0 then

begin

S:=0; K:=0;

While not Eof(g) do

begin

Readln(g,Rab.F);

Readln(g,Rab.I);

Readln(g,Rab.O);

Readln(g,Rab.Nazvanie);

Readln(g,Rab.God);

Readln(g,Rab.Izd);

Readln(g,Rab.cena); //,Rab.kol

if Rab.F = Edit1.text then

begin

S:=S+Rab.Cena;

K:=K+1;

Label12.Caption:=Label12.Caption+Rab.F+#13;

Label13.Caption:=Label13.Caption+Rab.I+#13;

Label14.Caption:=Label14.Caption+Rab.O+#13;

Label7.Caption:=Label7.Caption+Rab.Nazvanie+#13;

Label9.Caption:=Label9.Caption+FloatToStrF(Rab.Cena,FFFixed,8,2)+#13;

end;

end;

CloseFile(g);

Label4.Caption:='Общая стоимость книг равна '+FloatToStrF(S,FFFixed,8,2);

Label6.Caption:='Количество книг данного автора равно '+IntToStr(K);

end;

end;

procedure TForm8.Button4Click(Sender: TObject);

begin

close;

end;

procedure TForm8.Button2Click(Sender: TObject);

begin

Edit1.text:='';

Label7.Caption:='';

Label9.Caption:='';

Label2.Caption:='';

Label3.Caption:='';

Label4.Caption:='';

end;

end.

  1. Форма запроса «По общей стоимости книг автора».

Форма запроса позволяет выводить информацию о книгах по двум критериям по фамилии автора и году издания. Она имеет следующий внешний вид представлено на рис 10.

Разработка приложения «Работа с файлами»

Рисунок 10 -Запрос по фамилии и году издания

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

unit Unit9;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm9 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Label2: TLabel;

Edit2: TEdit;

Button3: TButton;

Button4: TButton;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label9: TLabel;

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form9: TForm9;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm9.Button3Click(Sender: TObject);

begin

close;

end;

procedure TForm9.Button4Click(Sender: TObject);

Var

Otv:WORD;

fname:String [100];

begin

//CloseFile(g);

Repeat

{$I-}

fname:='D:\Kursovae2\Bib.txt';

AssignFile(g,fname);

Reset(g);

{$I+}

if IOResult<>0

then otv:=MessageDlG(Ошибка открытия файла Bib.txt'+#13+Повторить попытку?',

mtWarning,[mbYes,mbNo],0); //mtWarning-Сообщение

Until (IOResult=0) or (Otv=mrNo);

if IOResult=0 then

begin

While not Eof(g) do

begin

Readln(g,Rab.F);

Readln(g,Rab.I);

Readln(g,Rab.O);

Readln(g,Rab.Nazvanie);

Readln(g,Rab.God);

Readln(g,Rab.Izd);

Readln(g,Rab.cena); //,Rab.kol

if (Rab.F= Edit1.text) or (Rab.God= Edit2.text) then

begin

Label10.Caption:=Label10.Caption+Rab.F+#13;

Label11.Caption:=Label11.Caption+Rab.I+#13;

Label12.Caption:=Label12.Caption+Rab.O+#13;

Label13.Caption:=Label13.Caption+Rab.God+#13;

Label14.Caption:=Label14.Caption+Rab.Izd+#13;

Label15.Caption:=Label15.Caption+FloatToStrF(Rab.Cena,FFFixed,8,2)+#13;

end;

end;

CloseFile(g);

end;

end;

procedure TForm9.Button1Click(Sender: TObject);

begin

Edit1.text:='';

Edit2.text:='';

Label10.Caption:='';

Label11.Caption:='';

Label12.Caption:='';

Label13.Caption:='';

Label14.Caption:='';

Label15.Caption:='';

end;

end.

  1. Справка, её свойства и компоненты.

Для просмотра информации об авторе см. рис.11 и о программе см. рис.12 используется, процедура ShowMessage, которая выводит простое диалоговое окно на экране с кнопкой ОК, содержащее строку Text представлено на рис.11. Она используется, чтобы сообщить пользователю какую-либо информацию - без необходимости пользователю принимать решение.

Разработка приложения «Работа с файлами»

Рисунок 11 - Справка об авторе

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

Procedure TForm1.N13Click (Sender: TObject);

begin

ShowMessage('Автор приложения: Юнченко Денис Васильевич'+#13'Место учебы: ГБОУ СПО ИО Ангарский промышленно-экономический техникум'+#13'Специальность: 230105 Программное обеспечение вычислительной техники и автоматизированных систем'+#13'Контактный телефон:+79501398649'+#13'E-mail:[email protected]'+#13)

end;

Разработка приложения «Работа с файлами»

Рисунок 12 - Справка о программе

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

Procedure TForm1.N14Click (Sender: TObject);

Begin

ShowMessage('Программа"Библиотека"'+#13'Версия 1.01'+#13'Владелец: Юнченко Денис Васильевич студент группы Пр4-3'+#13'Все права защищены'+#13'Комментарии: Программа предназначена для хранения данных о книгах'+#13)

end;

2.6 Инструкция программиста

2.6.1 Назначение и характеристики программы

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

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

Основными функциями программного продукта являются:

  • создание базы данных;

  • просмотр базы данных;

  • добавление записей в базу данных;

  • поиск информации по заданным критериям.

2.6.2 Структура языка программирования Delphi

Delphi - результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5. 5, добавил в Паскаль объектно-ориентированные свойства, а Delphi - объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией.

Язык Pascal предназначен для описания вычислительного процесса решения задачи, в состав которой могут входить величины см. схем.1.

Разработка приложения «Работа с файлами»

Схема 1 - Используемые величины

Константы - данные, значения которых не изменяются в программе.

Переменные - данные, могущие изменяться при выполнении программы.

Для обозначения имен констант, переменных, функций, процедур и модулей используются буквы и цифры, входящие в алфавит языка, и знак подчеркивания " _ ". Имена начинаются с буквы или знака подчеркивания " _ "и содержат до 63 значащих символов. Символ пробела в имени не допускается. Эти имена принято называть идентификаторами.

Выражения - константы, переменные и обращения к функциям, соединенные знаками операций. Операторы - специальные символы и слова, выполняющие действия.

Функции, процедуры и модули - отдельные программные блоки, имеющие имена и подключаемые к основной программе.

Классы и объекты Delphi. Для реализации интерфейса Delphi использует библиотеку классов, которая содержит большое количество разнообразных классов, поддерживающих форму и различные компоненты формы (командные кнопки, поля редактирования и т. д. ).

Во время проектирования формы приложения Delphi автоматически добавляет в текст программы необходимые объекты. Если сразу после запуска Delphi просмотреть содержимое окна редактора кода, то там можно обнаружить следующие строки:

type

TForm1=class(TForm)

private

{ Private declarations}

public

{ Public declarations }

end;

var

Form1: Tform1


Это описание класса исходной, пустой формы приложения и объявление объекта - формы приложения.

Когда программист, добавляя необходимые компоненты, создает форму, Delphi формирует описание класса формы. Когда программист создает функцию обработки события формы или ее компонента, Delphi добавляет объявление метода в описание класса формы приложения.

2.6.3 Структура среды программирования

Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. К примеру, Borland Pascal for Windows 7. 0, Borland C++ 4. 0, Word for Windows, Program Manager - это все MDI приложения и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) - определяет особый способ управления нескольких дочерних окон внутри одного большого окна.

Среда Delphi же следует другой спецификации, называемой Single Document Interface (SDI), и состоит из нескольких отдельно расположенных окон. Это было сделано из-за того, что SDI близок к той модели приложений, что используется в Windows 95.

Если Вы используете SDI приложение типа Delphi, то уже знаете, что перед началом работы лучше минимизировать другие приложения, чтобы их окна не загромождали рабочее пространство [2, ст.24]. Если нужно переключиться на другое приложение, то просто щелкните мышкой на системную кнопку минимизации Delphi. Вместе с главным окном свернутся все остальные окна среды программирования, освободив место для работы других программ.

2.6.4 Главные составные части среды программирования

Ниже перечислены основные составные части Delphi:

  1. дизайнер Форм (Form Designer);

  2. окно Редактора Исходного Текста (Editor Window);

  3. палитра Компонент (Component Palette);

  4. инспектор Объектов (Object Inspector);

  5. обозреватель дерева объектов (Object Tree View).

Есть, конечно, и другие важные составляющие Delphi, вроде линейки инструментов, системного меню и многие другие, нужные Вам для точной настройки программы и среды программирования.

Программисты на Delphi проводят большинство времени переключаясь между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости называют Редактор). Прежде чем Вы начнете, убедитесь, что можете распознать эти два важных элемента. Дизайнер Форм показан на рис. 13, окно Редактора - на рис. 14.

Разработка приложения «Работа с файлами»

Рисунок 13 - Дизайнер форм

Разработка приложения «Работа с файлами»

Рисунок 14 - Окно редактора

Дизайнер Форм в Delphi столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонент.

Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время, является Редактор. Логика является движущей силой программы и Редактор - то место, где Вы ее "кодируете".

Палитра Компонент см. рис. 15 позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов, и потом второй раз - на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши.

Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок - Standards, Additional, Win32 и т. д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе. (На странице Additional есть компоненты для организации страниц с закладками сверху и снизу).

Разработка приложения «Работа с файлами»

Рисунок 15 - Палитра Компонентов

Предположим, Вы помещаете компонент TEdit на форму; Вы можете двигать его с места на место. Вы также можете использовать границу, прорисованную вокруг объекта для изменения его размеров. Большинством других компонент можно манипулировать тем же образом. Однако, невидимые во время выполнения программы компоненты (типа TMenu или TDataBase) не меняют своей формы [3, ст.15].

Слева от Дизайнера Форм Вы можете видеть Инспектор Объектов см. рис. 16. Заметьте, что информация в Инспекторе Объектов меняется в зависимости от объекта, выбранного на форме. Важно понять, что каждый компонент является настоящим объектом, и Вы можете менять его вид и поведение с помощью Инспектора Объектов.

Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница - это список свойств, вторая - список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то Вы обычно делаете это в Инспекторе Объектов. К примеру: Вы можете изменить, имя и размер компонента TLabel изменяя свойства Caption, Left, Top, Height, и Width.

Вы можете использовать закладки внизу Инспектора Объектов для переключения между страницами свойств и событий.

Разработка приложения «Работа с файлами»

Рисунок 16 - Инспектор Объектов

Страница событий связана с Редактором; если Вы дважды щелкнете мышкой на правую сторону какого-нибудь пункта, то соответствующий данному событию код автоматически запишется в Редактор, сам Редактор немедленно получит фокус, и Вы сразу же имеете возможность добавить код обработчика данного события.

Обозреватель дерева объектов см. рис. 17. Эта панель появилась в Delphi 7, и, на мой взгляд, она является лучшим новшеством этой версии. С помощью дерева компонентов легко находить компоненты, потому что они расположены в виде дерева. Если у вас какой-то компонент будет полностью перекрывать другой, то вы можете выделить верхний компонент, а потом, в дереве компонентов, легко найти тот, который находится снизу.

Разработка приложения «Работа с файлами»

Рисунок 17 - Окно Обозревателя дерева объектов.

2.6.5 Дополнительные элементы

В данном разделе внимание фокусируется на двух инструментах, которые можно воспринимать как вспомогательные для среды программирования:

  • меню (Menu System);

  • панель с кнопками для быстрого доступа (Speed Bar).

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

2.6.6 Стандартные компоненты

Для дальнейшего знакомства со средой программирования Delphi потребуется рассказать о составе первой страницы Палитры Компонент.

На первой странице Палитры Компонент размещены от 14 до 16 объектов см. рис. 18, в зависимости от версии, в качестве примера используется Delphi 7. Мало кто обойдется длительное время без кнопок, списков, окон ввода и т. д. Все эти объекты такая же часть Windows, как мышь или окно.

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

Разработка приложения «Работа с файлами»

Рисунок 18 - Компоненты, расположенные на первой странице палитры

Стандартные компоненты Delphi перечислены ниже с некоторыми комментариями по их применению. При изучении данных компонент было бы полезно иметь под рукой компьютер с тем, чтобы посмотреть, как они работают и как ими манипулировать.

Main Menu - основное меню окна см. рис.19. Связать его с формой можно через свойство Menu формы. При двойном щелчке по значку MainMenu появляется дизайнер меню, в котором можно добавлять и удалять пункты. В Caption задаётся текст пункта меню. Чтобы создать черту-разделитель, следует в свойство Caption прописать знак "минус" ("-", без кавычек).

Разработка приложения «Работа с файлами»

Рисунок 19 - MainMenu - основное меню окна

Label - текстовая метка (надпись) на форме. Используется для отображения любого текста в окне. Текст задаётся в свойстве Caption. Свойство Font позволяет настроить шрифт текста.

Edit - поле ввода. Используется для ввода любых данных (текста, числа и т. д.), представленных одной строкой. Свойство ReadOnly позволяет запретить редактирование текста в поле. Текст хранится, свойством Text. Свойство MaxLength позволяет задать максимальное число символов, которое может быть введено в поле. Значение 0 означает, что ограничение не установлено.

Button - кнопка, самая что ни есть обыкновенная. Caption - текст на кнопке [4, ст.78].

2.6.7 Структура проекта Delphi

Программа Delphi - это несколько связанных между собой файлов. Главный файл проекта, изначально называется PROJECT1. DPR. Если необходимо переименовать название проекта, нужно перезаписать этот файл, выбрав в меню File команду Save Project As.… При задании имени следует придерживаться правил задания имен в Object Pascal. Имя не должно содержать пробелов (используйте в таком случае знак подчеркивания), должно начинаться с буквы (цифры допустимы, но со второй позиции), не должно содержать других символов, кроме букв и цифр. Под каким именем вы сохраняете проект, под таким именем и будет создаваться исполняемый EXE файл, который вы всегда сможете самостоятельно переименовать.

Модуль программы, который автоматически появляется в начале работы Unit1. Файл называется UNIT1. PAS по умолчанию, но его можно назвать любым другим именем, вроде MAIN. PAS. Это делается аналогично переименованию названия проекта. Необходимо выбрать в меню File команду Save As.… Сохраняется активный модуль в редакторе кода. Файл главной формы, который по умолчанию называется UNIT1. DFM, используется для сохранения информации о внешнем виде формы (окна разрабатываемого приложения). При переименовании названия модуля автоматически меняет свое название.

Файл PROJECT1. RES изначально содержит иконку для проекта. Создается автоматически. Имеет одноименное название с названием проекта. Файл PROJECT1. DSK содержит информацию о состоянии рабочего пространства. Состояние окон во время разработки приложения. Исполняемый EXE файл, который создается в процессе компиляции проекта. Разумеется, если сохранить проект под другим именем, то изменят название и файлы с расширением RES и DSK. После компиляции программы получаются файлы с расширениями: DCU - скомпилированные модули PAS для последующей быстрой компиляции некоторые файлы не перезаписываются. EXE исполняемый файл, ~PA, ~DP - backup файлы редактора. Автоматически создаются и содержат информацию, перед последним сохранением.

И так, любая программа всегда состоит из уже знакомого нам файла проекта (такой файл имеет расширение . dpr) и одного или нескольких модулей (файлы с расширением . pas) Файл проекта не предназначен для редактирования пользователем и создаётся автоматически самой системой программирования Delphi [5, ст.100].

Для того, чтобы увидеть содержимое файла проекта, необходимо выполнить команду Project View Source. Содержимое файла проекта может быть, например, следующим:

program Project1;

uses

Forms,

Unit1 in 'Unit1. pas' {Form1};

{$R *. res}

begin

Application. Initialize;

Application. CreateForm(TForm1, Form1);

Application. Run;

end.

Файл проекта (главный модуль) начинается словом program, за которым следует имя программы, совпадающее с именем проекта. Далее за словом uses следуют имена используемых модулей: стандартного модуля Forms и модуля формы Unit1.

Исполняемая часть главного модуля находится между операторными скобками beginend. Операторы исполняемой части обеспечивают инициализацию приложения и вывод на экран стартового окна. Помимо главного модуля каждая программа включает как минимум один модуль формы, который содержит описание стартовой формы приложения и поддерживающих ее работу процедур. В Delphi каждой форме соответствует свой модуль. Для переключения между формой и окном редактора кода, содержащего соответствующий модуль, следует нажать на клавишу F12. Модули - это программные единицы, служащие для размещения фрагментов программ. При помощи содержащихся в них текстов программ и реализуется решаемая пользователем задача.

2.6.8 Переменные, константы и операторы

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

var

i: Integer;

s: String;

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

var

s, a, t: String; //в стиле с++

Константа - это область памяти, содержащая определённое значение, но значение остаётся на весь период существования константы. При определении константы тип данных не указывается. Константа определяется в разделе const. Пример:

const

name: 'vasya';

VAR и CONST определяются до тела проги или процедуры!

Пример:

Procedure Name;

var

name: String;

begin

name:='Vasya';

end;

Операторы используются для того чтобы присвоить значение переменной.

:= Единственный оператор присвоения в Delphi/Паскаль

Арифметические операторы.

+ - сложение

- - вычитание

* - умножение

/ - деление

DIV - целочисленное деление

MOD - деление по модулю

Операторы сравнения.

= - равно

<> - не равно

< - меньше

> - больше

<= - меньше либо равно

>= - больше либо равно

Условные операторы IF. . THEN - позволяет определить выполняются ли некоторые условия и в зависимости выполнить тот или иной код.

IF -> выражение -> THEN -> оператор -> ELSE -> оператор -> END;

Это читается так:

ЕСЛИ -> выражение -> ТО -> оператор -> ИНАЧЕ -> оператор -> END;

Пример:

IF i=0 THEN i:=1 ELSE i:=i+1;

Выражение - это условие, содержащее один или более операторов сравнения. Операторы сравнения перечисляются следующим образом:

IF (a=0) AND (b=1) AND (c=0) THEN . . . - проверяется чтобы a=0 И b=1 И c=0 [3, ст.20]

2.6.9 Проверка программы

Входные данные представлены в табл.2:

Таблица 2

Введите путь к файлу

D:\Kursovae2\Bib.txt

ФИО автора

Пушкин

Александр

Сергеевич

Название книги

Сборник стихов

Год издания

1989

Издательство

Графа

Цена книги

145.00

Выходные данные представлены в табл.3:

Таблица 3

D:\Kursovae2\Bib.txt

Пушкин

Александр

Сергеевич

Сборник стихов

1989

Графа

145.00

Сообщения системному программисту

  1. При вводе информации, если не все ячейки заполнены то появляется сообщение см. рис.20:

Разработка приложения «Работа с файлами»

Рисунок 20 -Сообщение ошибка ввода данных

  1. При вводе информации, если в ячейку ввести путь к файлу не D:\Kursovae2\Bib.txt , а допустим D:\ Bib.txt

появляется сообщение см. рис.21:

Разработка приложения «Работа с файлами»

Рисунок 21 -Сообщение ошибка открытия файла

2.7 Инструкция пользователя

2.7.1 Назначение и условия выполнения программы

Данная программа предназначена для создания файлов информации о книгах, а также для хранения текстовой информации . Для выполнения программы необходим IBM-совместимый персональный компьютер, оснащенный процессором Intel или аналогичным и операционной системой семейства Windows.

2.7.2 Обращение к программе для запуска

Для запуска программы необходимо запустить приложение с Delphi File \OpenProject \D:\Kursovae2\ Delphi Project (.dpr). Нажимаем и запускаем приложения Run выходит «Главное окно приложения» см. рис.22.

Разработка приложения «Работа с файлами»

Рисунок 22 -«Главное окно приложения»

Переходим на вкладку меню «Работа с файлами» и выбираем из выпадающего списка «Создание файла» см. рис. 23.

Разработка приложения «Работа с файлами»

Рисунок 23 -«Работа с файлами данных»

Правой кнопкой мыши щелкаем по пункту «Создания файла»

выходит форма см. рис. 24.

Разработка приложения «Работа с файлами»

Рисунок 24 - «Форма создания файла»

Вводим данные записи: «ФИО автора», «Название книги», «Год издания», «Издательство», «Цены книги» путь к файлу вводить не надо он уже прописан в алгоритме программы. Щелкаем по кнопке «Создание файла» .Примечание файл создается один раз.

После создания текстового файла выходим из формы нажимаем на кнопку «Выход» .

Что бы в дальнейшем заносить информацию в созданный файл, для этого нужно в «Главном окне формы» выбрать в меню пункт «Работа с файлами», «Дозапись в файл» см. рис.25.

Разработка приложения «Работа с файлами»

Рисунок 25 -«Дозапись в файл»

Для того что бы посмотреть информацию о книгах в «Главном окне приложения» выбираем«Вывод файла на экран» вводим путь к файлу D:\Kursovae2\Bib.txt нажимаем на кнопку «Прочитать файл» и выходит вся информация о книгах см. рис. 26.

Разработка приложения «Работа с файлами»

Рисунок 26 - «Вывод файла на экран»

Нажимаем на выход.

Для того чтобы вызвать запрос например «По фамилии автора» в «Главном окне приложения» переходим на вкладку «Запросы» выбираем подпункт «По фамилии автора» выходит форма.

В открывшемся окне вводим критерий запроса нажимаем на кнопку «Найти» выходит вся информация о книге см. рис. 27.

Разработка приложения «Работа с файлами»

Рисунок 27 -«Запрос по фамилии автора»

Для того что бы узнать «О программе» и «Об авторе» приложения

Вызываем в «Главном окне приложения», «Справка», диалоговые окна «Об авторе» и «О программе» см. рис. 28 и рис. 29.

Разработка приложения «Работа с файлами»

Рисунок 28- «Справка об авторе»

Разработка приложения «Работа с файлами»

Рисунок 29- «Справка о программе»



ЗАКЛЮЧЕНИЕ

В данном курсовом проекте разработана система для автоматизации работы работника Библиотечного фонда:

  • ведения учета поступления книг.

Данная система позволяет обеспечить централизованное хранение необходимой информации и документации. Что заметно облегчит работу сотрудников Библиотечного фонда. При разработке системы были решены следующие задачи:

  1. разработано приложение «Работа с файлами» и отлажена программа, реализующий разработанный алгоритм;

  2. для хранения условно-постоянной информации созданы файлы книг библиотеки и дозапись в файл;

  3. сформированная отчетность, которую получают отдельно по каждой книге за период и по всем книгам в целом.

Данная система учета является универсальной и может быть использована сотрудниками подобных учреждений.

При работе над курсовым проектом были получены навыки работа с файлами в среде объектно-ориентированного программирования Embarcadero RAD Studio XE (Delphi XE), базовые знания по работе с файлами, изучена специальная литература по разработке приложений в среде Delphi XE. В целом, повысился уровень подготовки по программированию приложений.



СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Визуальное программирование в Delphi: Методические указания / Рязан. гос. радиотехн. ун-т.; Сост. В.И Чистякова. Рязань, 2007. 80 с.

  2. Обработка данных в Delphi: Методические указания. 2-е изд., / Рязан. гос. радиотехн. ун-т.; Сост. В.И Чистякова. Рязань, 2006. 48 с.

  3. Процедурное и обьектно-ориентированное прграммирование в Delphi: Методические указания. 2-е изд., / Рязан. гос. радиотехн. ун-т.; Сост. В.И Чистякова. Рязань, 2006. 64 с.

  4. Новичков В.С., Парфилова Н.И., Пылькин А.Н. Алгоритмизация и программирование на Турбо Паскале. Учебное пособие. - М.: Горячая линия - Телеком, 2005. 438 c.

  5. Архангельский А.Я. Программирование в Delphi 7. - М.: ЗАО "Издательство БИНОМ", 2003 г. 1152 с.

69


© 2010-2022