на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка базы данных
p align="left">implementation

uses Unit2, Unit3;

{$R *.dfm}

function CalcComiss(index:integer):integer; // Подсчет комиссионных

// по номеру продавца в таблице

var year,dohod:integer;

begin

Result:=0; // Изначально комиссионные = 0

with form1.sg do

begin

year:=StrToInt(Cells[2,index]); // Узнаем год приема на работу

Dohod:=StrToInt(Cells[3,index]); // И средний доход за день

end;

if god-year>=10 then // Если продавец работает 10 лет и больше

Result:=Result+1; // Добавляем 1%

if Dohod>=1000 then // Если еще и продает на сумму 1000 или больше

Result:=Result+6 else // то добавляем 6%

Result:=Result+5; // Если же нет, то 5%

end;

procedure TForm1.SaveBD;

var I:integer;

s:TStringList;

begin

S:=TStringList.Create; // Создаем Список строк

for i:=1 to sg.RowCount-2 do // Проходим по всей таблице

begin

{Переносим в список данные из таблицы}

S.Add(Sg.Cells[0,i]);

S.Add(Sg.Cells[1,i]);

S.Add(Sg.Cells[2,i]);

S.Add(Sg.Cells[3,i]);

end;

S.SaveToFile('Base.txt'); // Сохраняем

S.Free; // Очищаем память

end;

procedure Tform1.LoadBD; // Загрузка базы

var I:integer;

s:TstringList;

begin

sg.RowCount:=2;

S:=TStringList.Create; // Создаем в памяти Список строк

S.LoadFromFile('Base.txt'); // Загружаем в него файл с базой

For i:=0 to S.Count div 4 -1 do // Организуем цикл загрузки 4х данных

// для каждого продавца

begin

sg.RowCount:=sg.RowCount+1; // Увеличиваем таблицу на 1 пункт

{Помещаем в таблицу данные}

sg.Cells[0, sg.RowCount-2]:=S[i*4];

sg.Cells[1, sg.RowCount-2]:=S[i*4+1];

sg.Cells[2, sg.RowCount-2]:=S[i*4+2];

sg.Cells[3, sg.RowCount-2]:=S[i*4+3];

sg.Cells[4, sg.RowCount-2]:=IntToStr(CalcComiss(sg.RowCount-2));

end;

S.Free; // Очищаем память от уже ненужного файла

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

{Заполняем заголовок таблицы}

sg.Cells[0,0]:='Фамилия и имя продавца';

sg.Cells[1,0]:='Табельный номер';

sg.Cells[2,0]:='Год приема на работу';

sg.Cells[3,0]:='Выручка $ за день';

sg.Cells[4,0]:='% комиссионных';

God:=StrToInt(Copy(DateToStr(Date),7,4)); // Узнаем нынешний год

LoadBD; // Загружаем базу с диска

end;

procedure TForm1.N5Click(Sender: TObject);

begin

close; // Выход

end;

procedure TForm1.N8Click(Sender: TObject);

var i, j:integer;

begin

{Удаление продавца из списка, все следующие за ним продавцы, просто поднимаются на ячейку выше}

if sg.Selection.Top<>sg.RowCount-1 then

begin

for i:=sg.Selection.Top+1 to sg.RowCount-1 do

for j:=0 to 4 do

sg.Cells[j,i-1]:=sg.Cells[j,i];

sg.RowCount:=sg.RowCount-1;

end;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

LoadBd; // Загружаем базу с диска

end;

procedure TForm1.N3Click(Sender: TObject);

begin

SaveBD; //Сохраняем

end;

procedure TForm1.N10Click(Sender: TObject);

begin

Form3.ShowModal;

end;

procedure TForm1.N7Click(Sender: TObject);

var I:integer;

begin

{Открываем окно "Добавить" и в случае нажатия на кнопку Ok, добавляем продавца в таблицу}

Form2.Caption:='Добавить';

for i:=1 to 4 do // Цикл очистки полей ввода

TEdit(Form2.FindComponent('Edit'+IntToStr(i))).text:='';

if form2.showmodal=mrOk then

begin

sg.RowCount:=sg.RowCount+1; // Увеличиваем таблицу на 1 пункт

{Помещаем в таблицу данные}

sg.Cells[0, sg.RowCount-2]:=Form2.Edit1.Text;

sg.Cells[1, sg.RowCount-2]:=Form2.Edit2.Text;

sg.Cells[2, sg.RowCount-2]:=Form2.Edit3.Text;

sg.Cells[3, sg.RowCount-2]:=Form2.Edit4.Text;

sg.Cells[4, sg.RowCount-2]:=IntToStr(CalcComiss(sg.RowCount-2));

end;

end;

procedure TForm1.N9Click(Sender: TObject);

var i:integer;

begin

if sg.Selection.Top<>sg.RowCount-1 then

begin

Form2.Caption:='Редактировать';

for i:=1 to 4 do

TEdit(Form2.FindComponent('Edit'+IntToStr(i))).text:=sg.cells[i-1,sg.selection.top];

if form2.showmodal=mrOk then

begin

{Помещаем в таблицу данные}

sg.Cells[0, sg.selection.top]:=Form2.Edit1.Text;

sg.Cells[1, sg.selection.top]:=Form2.Edit2.Text;

sg.Cells[2, sg.selection.top]:=Form2.Edit3.Text;

sg.Cells[3, sg.selection.top]:=Form2.Edit4.Text;

sg.Cells[4, sg.selection.top]:=IntToStr(CalcComiss(sg.selection.top));

end;

end;

end;

procedure TForm1.N11Click(Sender: TObject);

var summ:integer; //Общий доход за этот месяц

kom:integer; //Комиссионные выплаты

z:integer; //Доход с вычетом комиссионных выплат

days:integer; //Дней в этом месяце

i,j,k:integer; //Вспомогательные переменные

begin

case StrToInt(copy(DateToStr(Date),4,2)) of //Проверяем какой щас месяц

1,3,5,7,8,10,12:days:=31; // если месяц 1,3,5,7,8,10,12 то дней в месяце 31

2: days:=28; // если месяц 2 то дней в месяце 28

else days:=30; // иначе в месяце 30 дней

end;

summ:=0; //Общим доходам за этот месяц присваеваем ноль

kom:=0; //Комиссионным выплатам присваеваем ноль

z:=0; //Доходам с вычетом комиссионных выплат присваеваем ноль

for i:=1 to sg.RowCount-2 do

begin

j:=calccomiss(i);

k:=strtoint(sg.cells[3,i])*days;

j:=Trunc((j / 100)*K); //"Trunc" - целая часть числа

kom:=kom+j; //считаем Комиссионные выплаты

z:=z+k-j; //считаем Доход с вычетом комиссионных выплат

summ:=summ+k; // считаем Общий доход за этот месяц

end;

showmessage('Общий доход за этот месяц: '+inttostr(summ)+#13#10+'Комиссионные выплаты: '+inttostr(kom)+#13#10+'Доход с вычетом комиссионных выплат: '+inttostr(z)+#13#10+'Дней в этом месяце: ' +inttostr(days));

end;

end.

Рисунок 1- Таблица ведения базы данных торговой фирмы

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

1) Общие сведения.

Программа написана в среде программирования Delphi. Для запуска программы необходима операционная система Windows 98, NT, 2000, Me, XP. Программа не предназначена для работы в DOS.

2) Функциональное назначение.

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

3) Используемые технические средства (минимальные требования).

Рекомендуемые системные требования: процессор Pentium-133 и выше, ОЗУ 16Мб, место на диске не меньше 4Мб.

4) Вызов и загрузка.

Исполняемый файл программы - Basa.exe. В родительском каталоге программы также содержится файл БД - Base.txt. Запустить программу можно пользуясь стандартным приложением для Windows «проводник» или через «Мой компьютер», просмотрев содержимое диска.

5) Входные данные.

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

6) Выходные данные.

Выходные данные выводятся на экран компонентом StringGrid.

2.5 Тестирование

Тестирование было проведено на примере Базы Данных в каталоге A:\База данных\Base.txt (см. Приложение А). В базу данных было произведено введение данных о продавцах. Всего было введено 20 строк с Фамилиями и Именами, Табельным номером, Годом приема на работу и Выручки за день. Все данные были введены в случайном порядке. В результате ввода все продавцы, которые имели выручку больше 1000 долларов в день или проработали более 10 лет, получают 6% комиссионных, а остальные 5% комиссионных (по условию задачи). В результате был произведен подсчет данных и программа вывела отчет об общих доходах за этот месяц, комиссионных выплатах, доходах с вычетом комиссионных выплат и дней в этом месяце, все данные были верны. Программа без затруднений вывела все результаты.

3. Внедрение

1) Условия выполнения программы.

Для выполнения программы необходим IBM совместимый компьютер с процессором 133МГц и выше, ОЗУ объемом не менее 16Мб и стандартным набором внутренних и внешних устройств. Программное обеспечение - ОС Windows 95 и более поздние версии Windows.

2) Выполнение программы.

Для того чтобы запустить программу на панели управления щелкните кнопкой мыши кнопку Пуск. Выберете в развернувшимся меню пункт Программы->проводник. В проводнике выберете нужный каталог с файлом Basa.exe и дважды щелкните по нему левой кнопкой мыши. Программа запустится. На экране вы увидите окно программы (рис. 2).

Рисунок 2- Окно программы База Данных

Для добавления в таблицу данных необходимо нажать в главном меню пункт «Продавец - Добавить» (Рис.3).

Рисунок 3- Меню для: добавления, удаления, редактирования - строки в таблице

Появится диалоговое окно Добавить (рис.4). В этом окне необходимо ввести Имя и фамилию, Табельный номер - цифрами, Год приема на работу - цифрами, Сумма продаж за день - цифрами, затем нажать на кнопку «Ок», если хотите добавить, а если нет то кнопку «Нет».

Рисунок 4- Окно добавить

Если вы нажали «Ок» то в таблице появится строчка с данными которые вы набрали (Рис. 5).

Рисунок 5- Так выглядит таблица после добавления в ней строчки

Чтобы сохранить данные в текстовом файле, нужно в главном меня выбрать пункт «Файл - Сохранить». Если вы вынесли изменения в таблицу но не сохраняли их, вы можете вернуть документ в исходное состояние, так как он выглядел перед открытием, то вам необходимо в главном меня выбрать пункт «Файл - Загрузить». (Рис.6).

Рисунок 6- Меню Файл: сохранить, загрузить, выход

Чтобы вывести отчет, в главном меню программы необходимо выбрать пункт «Отчет». На экране появится диалоговое окно, в котором вы увидите отчет о: общим доходам за этот месяц, комиссионным выплатам, доходе с вычетом комиссионных выплат и дней в этом месяце. Это окошко вы можете видеть на Рис.7.

Рисунок 7- Окно - отчет

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

Рисунок 8- Окно - О программе

Для выхода из программы База Данных можно нажать на крестик, а можно нажать на пункт, в главном меню 11, «Файл - Выход» (Рис. 6).

Заключение

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

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

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

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

Глоссарий

п/п

Новое понятие

Содержание

1

2

3

1

Информационно-коммуникационные технологии (ИКТ)

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

2

Система программирования

система программирования -- это система для разработки новых программ на конкретном языке программирования

3

База данных (БД)

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

4

Компонент

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

5

Файл

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

6

Исполняемый файл

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

7

Файл проекта

автоматически создаваемый файл, связывающий вместе все файлы приложения и содержащий код инициализации

8

Файл формы

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

9

Проект

совокупность файлов, обеспечивающих разработку приложения в Delphi

10

RAD (Rapid Application Development)

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

Список использованных источников

1. Архангельский А.Я. «Приемы программирования в Delphi».: Издательство «Бином-Пресс» 2006г. -944 стр. -ISBN 5-9518-0145-1

2. С.И. Бобровский «Delphi 7 Учебный курс».: Издательство «Питер» 2004. - 736 с. - ISBN 5-8046-0086-9

3.Г.В. Галисеев «Компоненты в Delphi 7».: Издательство «Вильямс» 2004г. - 624стр. -ISBN 5-8459-0555-9

4. А. Шкрыль «Delphi.Народные советы».: Издательство BHV-СПБ 2007г. - 400стр. - ISBN 5-9775-0047-5

5. Культин Н.Б. «Основы программирования в Delphi 7».: Издательство BHV- СПБ. 2008г. - 480 с. -ISBN 978-5-9775-0235-1

6. Культин Н.Б. Программирование на Object Pascal в Delphi 5.Самоучитель.:Издательство BHV-СПБ. - 464стр. -ISBN 5-8206-0079-7

7. Лабзина Т.А. Алгоритмические языки и программирование Юнита 5. Издательство НОУ СГУ, 1999.

8. Е.Марков «Программирование в Delphi 7».:Издательство BHV-СПБ. 2003г. -784стр. -ISBN 5-94157-116-X

9. В.Кадлец «Delphi. Книга рецептов. Практические примеры, трюки и секреты».: Издательство «Наука и техника». 2006г. - 384стр. - ISBN 80-251-0017-0

10. Фаронов В.В. «Delphi 2005. Разработка приложений для баз данных и Интернета».: Издательство «Питер». 2006г. - 608стр. - ISBN 5-469-01191-7

11. Анатолий Хомоненко «Delphi 7. Наиболее полное руководство».: Издательство: BHV - Санкт - Петербург, 2006 г.-1216 стр.-ISBN 5-94157-267

12. Дмитрий Осипов «Delphi. Профессиональное программирование».: Издательство: Символ-Плюс, 2006 г.-1056 стр.-ISBN 5-93286-074-Х

Приложение А

База данных на которой проводилось тестирование

Фамилия и Имя

Табельный номер

Год приема на работу

Выручка за день

Петров Денис

001

2000

400

Боброва Елена

002

1987

250

Борисова Елена

003

1995

345

Афонина Екатерина

004

1993

654

Дворниченко Владимир

005

1996

865

Сидоренко Николай

006

1998

1024

Мартакова Валерия

007

1997

567

Бондаренко Иван

008

1995

856

Свиридова Мария

009

1989

687

Иванушкина Мария

010

2000

1050

Заботина Нина

011

1995

678

Попова Татьяна

012

2005

1420

Галкина Виктория

013

2003

758

Тимошина Анастасия

014

1998

754

Афанасьевна Анна

015

2001

574

Пучкова Алена

016

1999

854

Голубев Егор

017

2004

966

Гуреев Владислав

018

1997

924

Курсин Степан

019

1994

125

Казаков Андрей

020

2000

876

Страницы: 1, 2



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