Разработка информационно-справочной системы для парфюмерной компании Avon

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ПІВДЕННОУКРАЇНСЬКИЙ ДЕРЖАВНИЙ ПЕДАГОГІЧНИЙ УНІВЕРСИТЕТ Ім. К.Д. Ушинського

Кафедра прикладної математики та інформатики

Курсова робота

По дисципліні «ІНФОРМАТИКА» на тему

«Розробка інформаційно-довідкової системи для парфумерної компанії Avon»

Виконавець:

Студентка ІІ-го курсу

Фізико-математичного факультету

Короткова А.Г.

Науковий керівник:

Старший викладач: Крапiвна О.В.

Одеса-2010

Содержание

Введение

1. Техническое задание

2. Описание типизированных файлов в Delphi

3. Структура базы данных

4. Описание программы

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

Заключение

Список литературы

Введение

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

Delphi? язык программирования, который используется в одноимённой среде разработки. Сначала язык назывался Object Pascal. Начиная со среды разработки Delphi 7. 0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.

Цель курсовой работы:

Ш приобретение навыков в формировании технического задания по требованиям заказчика;

Ш самостоятельная разработка информационно-справочной системы «парфюмерная компания Avon» в соответствии с требованиями технического задания;

Ш приобретение навыков оформления программной документации для дальнейшей эксплуатации проекта.

1. Техническое задание

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

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

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

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

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

Ввести новые данные и сохранить их,

Просмотреть уже готовые данные;

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

Эта программа написана на языке Delphi в типизированных файлах.

2. Типизированные файлы

Типизированный файл? это последовательность компонент любого заданного типа (кроме типа «файл»). Доступ к компонентам файла осуществляется по их порядковым номерам. Компоненты нумеруются, начиная с 0. После открытия файла указатель (номер текущей компоненты) стоит в его начале на нулевом компоненте. После каждого чтения или записи указатель сдвигается к следующему компоненту.

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

< имя файловой переменной> file of < базовый тип> ;

в качестве базового типа может быть простой тип, строковый, статический массив, множества и записи.

Процедуры и функции работы с типизированными файлами

Процедура Assignfile ([файловая переменная],[имя файла])

Для работы с файлами вторым важным действием после объявления файловой переменной является «связывание» этой переменной с физическим файлом. Это действие и выполняет процедура Assignfile. То есть выполняя действия над файловой переменной программа, ассоциирующая файловую переменную с конкретным физическим файлом, производит операции именно над этим физическим файлом. Как было отмечено процедура Assignfile является обязательной для работы с файлами. С одним и тем же физическим файлом можно связать несколько файловых переменных. Также с одной файловой переменной можно последовательно связать различные физические файлы. Причём при последовательном связывании с одной и той же переменной различных физических файлов операции произведённые над переменной до связывания становятся недействительными. Например следует дважды открыть одну и ту же переменную дважды связанную с различными файлами для чтения: Assignfile (T,'file1. txt); Reset (T); Assignfile (T,'file2. txt'); Reset (T);. О процедурах открытия файлов будет говориться ниже.

Процедура Erase ([файловая переменная]);

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

Процедура Rename ([файловая переменная],[новое имя])

Переименовывает файл F; NewName -' строковое выражение, содержащее новое имя файла. Перед выполнением процедуры необходимо закрыть файл только для не типизированных файлов и указывает раз мер блока данных.

Процедура Reset ([файловая переменная]);

Открывает логический файл (то есть файловая переменная связанная с физическим файлом) для чтения. Естественно, что для чтения следует открывать входной файл. После выполнения процедуры Reset курсор ставится на первый элемент файла (в случае текстового файла на первый символ) и с файла уже можно считывать информацию.

Процедура Rewrite ([файловая переменная]);

Создает и открывает внешний физический файл связанный с файловой переменной для последующей записи в него. Новый созданный файл бывает пустой и курсор становится в самое начало файла. Если описанный в процедуре Assignfile внешний файл уже существует, то он стирается и создаётся заново. Разумеется после выполнения процедуры Rewrite созданный для записи файл является выходным файлом. Процедура Rewrite используется со всеми файловыми типами данных.

Процедура Closefile([файловая переменная]);

Сохраняет и закрывает открытый физический файл связанный с файловой переменной. Как было отмечено в определении файл перед закрытием должен быть открыт (процедурами Reset или Rewrite для всех типов файлов или процедурой Append для текстовых файлов). Если в выходных файлах были произведены изменения, то для сохранения информации они должны быть обязательно закрыты процедурой Closefile. Процедура Closefile может быть использована для любых типов файлов. Если последовательно открывать файл различными процедурами, то в промежутках между этими процедурами оператор Closefile автоматически. То есть если в начале открыть файл для записи процедурой Rewrite, а затем сразу открыть его для чтения процедурой Reset, то до процедуры Reset автоматически произойдёт сохранение и закрытие файла оператором Closefile.

Процедура Read ([файловая переменная], [буферная переменная]);

Для типизированных файлов процедура читает компонент файла в переменную. При каждом считывании текущая позиция в файле продвигается к следующему элементу. Для текстовых файлов читается одно или несколько значений в одну или несколько переменных. С переменными типа String Read считывает все символы вплоть до следующей метки конца строки (но не включая ее), или пока функция Eof (F) не примет значение True. Переменной присваивается получившаяся в ре-зультате символьная строка. В случае переменной целого или вещественного типа процедура ожидает поступления последовательности символов, образующих число по правилам синтаксиса языка Object Pascal. Считывание прекращается при обнаружении первого пробела, символа табуляции или метки конца строки, или в том случае, если функция Eof (F) принимает значение True. Если числовая строка не соответствует ожидаемому формату, то происходит ошибка ввода-вывода.

Процедура Write ([файловая переменная], [выражение]);

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

Процедура Seek ([файловая переменная], [номер записи]);

Перемещает текущую позицию файла к определенному компоненту. Вы можете использовать процедуру только с открытыми типизированными или нетипизированными файлами. Текущая позиция файла F перемещается к номеру N. Номер первого компонента файла — 0. Инструкция Seek (F, FileSize (F)) перемещает текущую позицию файла в конец файла.

Процедура FileSize ([файловая переменная]);

Возвращает размер в байтах файла F. Однако, если F — типизированный файл, FileSize возвратит число записей в файле. Перед использованием функции FileSize, файл должен быть открыт. Если файл пуст, FileSize (F) возвращает 0. F — переменная любого файлового типа.

Процедура FilePos ([файловая переменная]);

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

Процедура EOF ([файловая переменная]);

Функция Eof возвращает истину, если курсор файла, находится в конце.

Файл, должен был, быть назначен, и открыт с помощью Reset. Предупреждение: после чтения последней строки файла, Eof будет true, даже при том, что данные считались успешно.

Так, что используйте Eof перед чтением, чтобы видеть нужно ли чтение.

Процедура IoResult;

Возвращает результат последней операции ввода/вывода.

Если операция завершилась нормально, то это число 0, положительное число, если операция потерпела неудачу.

Используйте IOResult, когда вы уже отключили значение по умолчанию отлавливающее ошибки ввода/вывода. Когда $IOChecks включено, Delphi выдает исключения для ошибок. Когда выключено Delphi не выдает исключения, требуя, чтобы код сам следил за результатом ввода/вывода IOResult.

3. Структура базы данных

Как выше было сказано, база данных? это скопление информации и естественно эту информацию надо, где-то хранить. В данной курсовой работе мы будем использовать один файл с расширением van. Все данные хранятся в этом же файле под названием Avon. van, то есть там храниться вся информация о виде продукции, о его названии, номера, цене.

Приведем ниже таблицу данных для формальной записи в файле:

Характеристика

Название поля

Тип поля

Вид продукции

vid

string [40]

Название

name

string [150]

Номер

number

string [10]

Цена

preace

string [10]

Описание

ops

string [150]

Все описание структуры в файле, типов полей и файловых переменных для работы с файлом базы данных делаем в главном модуле Unit1 проекта.

type

t=record

vid: string [40];

name: string [150];

number: string [10];

preace: string [10];

ops: string [150];

end;

TForm1 = class (TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

Image1: TImage;

procedure N1Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N4Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

f: file of T;

a: T;

4. Описание программы

файл программирование информационный справочный

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

Форма ввода новой продукции

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

procedure TForm1. N1Click (Sender: TObject);

begin

assignfile (f, 'Avon. van');

{$I-}

reset (f);

{$I+}

if ioresult < > 0 then rewrite (f);

seek (f, filesize (f));

form2. show;

end;

На форме «Ввод новой продукции» обрабатываем процедуру для хранения данных (Кнопка Сохранить):

procedure TForm2. BitBtn1Click (Sender: TObject);

begin

a. vid:=Edit1. text;

a. name:=Edit2. text;

a. number:=Edit3. text;

a. preace:=Edit4. text;

a. ops:=Edit5. text;

write (f, a);

Edit1. text:='';

Edit2. text:='';

Edit3. text:='';

Edit4. text:='';

Edit5. text:='';

Edit1. setfocus;

end;

Также, обрабатываем процедуру для отмены данных в случае неправильной записи (Кнопка Отмена):

procedure TForm2. BitBtn2Click (Sender: TObject);

begin

Edit1. text:='';

Edit2. text:='';

Edit3. text:='';

Edit4. text:='';

Edit5. text:='';

Edit1. setfocus;

end;

Форма просмотра всей продукции

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

procedure TForm3. FormActivate (Sender: TObject);

var

i: integer;

begin

stringgrid1. Cells[0,0]:='Вид продукции';

stringgrid1. Cells[1,0]:='Название';

stringgrid1. Cells[2,0]:='Номер';

stringgrid1. Cells[3,0]:='Цена';

stringgrid1. Cells[4,0]:='Описание';

assignfile (f,'Avon. van');

{$I-}

reset (f);

{$I+}

if ioresult < > 0 then showmessage ('Файла нет);

i: =1;

while not (EOF (f)) do

begin

read (f, a);

stringgrid1. Cells[0,i]:= a. vid;

stringgrid1. Cells[1,i]:= a. name;

stringgrid1. Cells[2,i]:= a. number;

stringgrid1. Cells[3,i]:= a. preace;

stringgrid1. Cells[4,i]:= a. ops;

i: =i+1;

end;

closefile (f);

end;

Форма поиска по виду продукции

Обрабатываем процедуру нажатия #13 (Enter) после ввода определенного критерия:

implementation

{$R *. dfm}

uses unit1, unit2, unit3;

procedure TForm4. Edit1KeyPress (Sender: TObject; var Key: Char);

var

i: integer;

begin

if key=#13 then

begin

stringgrid1. Cells[0,0]:='Вид продукции';

stringgrid1. Cells[1,0]:='Название';

stringgrid1. Cells[2,0]:='Номер';

stringgrid1. Cells[3,0]:='Цена';

stringgrid1. Cells[4,0]:='Описание';

assignfile (f,'Avon. van');

reset (f);

i: =1;

while not (EOF (f)) do

begin

read (f, a);

if a. vid=edit1. Text then

begin

stringgrid1. Cells[0,i]:= a. vid;

stringgrid1. Cells[1,i]:= a. name;

stringgrid1. Cells[2,i]:= a. number;

stringgrid1. Cells[3,i]:= a. preace;

stringgrid1. Cells[4,i]:= a. ops;

i: =1;

end;

end;

closefile (f);

end;

end;

Поиск происходит аналогично, вот только меняется критерий требования в поиске.

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

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

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

ф Ввод:

§ вводить нужную информацию требуется только в определенную ячейку;

§ кнопку не нажимаем больше одного раза (все данные сохраняются с первого нажатия);

§ кнопка нужна только в том случае, если вы набрали неправильный текст.

§ выход совершается как у стандартных программ на нажатие кнопки.

ф Просмотр:

§ на форме просмотр особых навыков не требуется. При активации формы (нажатие на в главном меню) вся информация показывается сама;

§ выход совершается как у стандартных программ на нажатие кнопки.

ф Поиск:

§ вводим определенный критерий (слова, цифры) в ячейку и нажимаем на клавиатуре кнопку «Enter»;

§ вводим слова (цифры) полностью. Например: Крем — правильно, кре — не правильно.

§ выход совершается как у стандартных программ на нажатие кнопки.

Заключение

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

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

Список литературы

http: //ru. wikipedia. org/wiki/Delphi

http: //www. codenet. ru/progr/delphi/Object-Pascal/files. php

http: //articles. org. ru/cfaq/index. php? qid=444&frommostrecent=yes

http: //www. knigka. info/category/pascal/

http: //rsc-team. ru/cgi-bin/index. pl? rzd=2&group=lection&ind=15

ПоказатьСвернуть
Заполнить форму текущей работой