Мегаобучалка Главная | О нас | Обратная связь


Разработка рабочего проекта



2019-07-03 188 Обсуждений (0)
Разработка рабочего проекта 0.00 из 5.00 0 оценок




 

Разработка программы

 

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

В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (dBASE, FoxPro, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных. В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от SE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в различных форматах

Спецификация программы

 

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

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

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

База данных — это набор файлов (таблиц), в которых находится информация. Как правило, база данных состоит из нескольких таблиц, которые размещают в одном каталоге. Каталог для новой базы данных создается обычным образом, например, при помощи Проводника.

 

Текст программы

 

unit Unit1;

interface

uses

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

Dialogs, Grids, Menus, StdCtrls;

type

 TForm1 = class(TForm)

 sg: TStringGrid;

 mm: TMainMenu;

 N1: TMenuItem;

 N2: TMenuItem;

 N3: TMenuItem;

 N4: TMenuItem;

 N5: TMenuItem;

 N6: TMenuItem;

 N7: TMenuItem;

 N8: TMenuItem;

 N9: TMenuItem;

 N10: TMenuItem;

 N11: TMenuItem;

 procedure FormCreate(Sender: TObject);

 procedure N2Click(Sender: TObject); // Процедура нажатия пункта в главнам меню Фаил - Сохранить

 procedure N3Click(Sender: TObject); // Процедура нажатия пункта в главнам меню Фаил - Загрузить

 procedure N5Click(Sender: TObject); // Процедура нажатия пункта в главнам меню Файл - Выход

 procedure N7Click(Sender: TObject); // Процедура нажатия пункта в главнам меню Продавец - Добавить

 procedure N8Click(Sender: TObject); // Процедура нажатия пункта в главнам меню Продавец - Удалить

 procedure N9Click(Sender: TObject); // Процедура нажатия пункта в главнам меню Продавец - Редактировать

 procedure N10Click(Sender: TObject); // Процедура нажатия пункта в главнам меню Отчет

 procedure N11Click(Sender: TObject); // Процедура нажатия пункта в главнам меню О программе private

 { Private declarations }

 public

 { Public declarations }

 Procedure LoadBD; // Загрузка Базы

 Procedure SaveBD; // Сохранение Базы

 end;

var

 Form1: TForm1;

 God: integer; // Нынешний год

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- Таблица ведения базы данных торговой фирмы

 

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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


Внедрение

 

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) быстрая разработка приложений. Технология разработки приложений с использованием средств визуализации и повторного использования кода

 




2019-07-03 188 Обсуждений (0)
Разработка рабочего проекта 0.00 из 5.00 0 оценок









Обсуждение в статье: Разработка рабочего проекта

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (188)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)