Назначение и область применения
12
Назначение программы: ведение учета работы продавцов. Область применения: справочная информация. Постановка задачи
База данных представляет собой диалоговое окно с пользователем. Программа должна обеспечивать хранение, редактирование данных продавцов и содержать поля: Фамилия и имя, Табельный номер, год приема на работу и выручка в день.
Организация входных и выходных данных
В программе используются следующие переменные и объекты, в которых хранятся входные и выходные данные: Form1 – для отображения данных базы. StringGrid – таблица, содержащая БД. MainMenu – для сервисных функций. Form2 – для ввода и изменения данных в базе. Выбор состава технических и программных средств
Среда программирования – Delphi – весьма быстрая и удобная для разработки приложений различного назначения для Windows. Для нормальной работы программы необходим IBM совместимый компьютер с тактовой частотой процессора не ниже 144МГц и выше, оперативной памятью 16 Мб, жесткий диск объемом не менее 500Мб.
Разработка рабочего проекта
Разработка программы
С точки зрения пользователя, база данных — это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую пользователь может найти интересующие его сведения. Если система позволяет, то он может внести изменения в базу данных: добавить новую информацию или удалить ненужную. С точки зрения программиста, база данных — это набор файлов, содержащих информацию. Разрабатывая базу данных для пользователя, программист создает программу, которая обеспечивает работу с файлами данных.[1] В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (dBASE, FoxPro, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.[2] В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от SE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в Различных форматах.
Спецификация программы
База данных — это набор однородной, как правило, упорядоченной по некоторому критерию, информации. База данных может быть представлена в "бумажном" или в компьютерном виде. Типичным примером "бумажной" базы данных является каталог библиотеки — набор бумажных карточек, содержащих информацию о книгах. Информация в этой базе однородная (содержит сведения только о книгах) и упорядоченная (карточки расставлены, например, в соответствии с алфавитным порядком фамилий авторов). [3] Следует обратить внимание, что каждая запись состоит из одинаковых полей. Некоторые поля могут быть не заполнены, однако они все равно присутствуют в записи. На бумаге базу данных удобно представить в виде таблицы. Каждая строка таблицы соответствует записи, а ячейка таблицы — полю. При этом заголовок столбца таблицы — это имя поля, а номер строки таблицы — номер записи. Информацию компьютерных баз данных обычно выводят на экран в виде таблиц. Таблицы физически хранится в отдельном файле. В простейшем случае источником информации для программы, работающей с базой данных, может быть вся таблица. Однако, как правило, пользователя интересует не вся информация, находящаяся в базе данных, а только какая-то ее часть. Он выбирает и просматривает только некоторые, удовлетворяющие его запросу записи. Поэтому в модель базы данных помимо таблицы, представляющей собой всю базу данных, было введено понятие запроса, являющегося выборкой, т. е. группой записей базы данных. База данных — это набор файлов (таблиц), в которых находится информация. Как правило, база данных состоит из нескольких таблиц, которые размещают в одном каталоге. Каталог для новой базы данных создается обычным образом, например, при помощи Проводника. Исполняемый файл программы «База данных Торговая фирма» имеет название Basa.exe и находится в корневом каталоге диска А. Состав проекта представлен в приложении.
Текст программы
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 N5Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N9Click(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;
{$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 ShowMessage('Выполнил Самсонов Евгений '+#13+'Группа ОИ-809'); //Автор 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,kom:integer; i,j,k,z:integer; days:integer; begin case StrToInt(copy(DateToStr(Date),4,2)) of 1,3,5,7,8,10,12:days:=31; 2: days:=28; else days:=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); 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) Общие сведения. Программа написана с среде программирования Delphi. Для запуска программы необходима операционная система Windows 98, Nt, 2000, Me, XP. Программа не предназначена для работы в DOS. 2) Функциональное назначение. Программа может использоваться на различных торговых точках с небольшим количеством продавцов. 3) Используемые технические средства (минимальные требования). Рекомендуемые системные требования: процессор Pentium-133 и выше, ОЗУ 16Мб, место на диске не меньше 4Мб. 4) Вызов и загрузка. Исполняемый файл программы – Basa.exe. В родительском каталоге программы также содержится файл БД – Base.txt. Запустить программу можно пользуясь стандартным приложением для Windows «проводник» или через «Мой компьютер», просмотрев содержимое диска. 5) Входные данные. Входные данные представляют собой фамилию и имя, табельный номер, год приема на работу, и выручку продавца в день. 6) Выходные данные. Выходные данные выводятся на экран компонентом StringGrid.
Заключение С точки зрения пользователя, база данных — это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую пользователь может найти интересующие его сведения. Если система позволяет, то он может внести изменения в базу данных: добавить новую информацию или удалить ненужную. С точки зрения программиста, база данных — это набор файлов, содержащих информацию. Разрабатывая базу данных для пользователя, программист создает программу, которая обеспечивает работу с файлами данных. 1) Условия выполнения программы. Для выполнения программы необходим IBM совместимый компьютер с процессором 133МГц и выше, ОЗУ объемом не менее 16Мб и стандартным набором внутренних и внешних устройств. Программное обеспечение – ОС Windows 95 и более поздние версии Windows. 2) Выполнение программы. Для того чтобы запустить программу на панели управления щелкните кнопкой мыши кнопку Пуск. Выберете в развернувшимся меню пункт Программы->проводник. В проводнике выберете нужный каталог с файлом Basa.exe и дважды щелкните по нему левой кнопкой мыши. Программа запустится. При выборе в главном меню пункта «Автор» появляется сообщение с краткой информацией о программе и разработчике (см. рис.2).
Рисунок 2 – Окно «Автор» Глоссарий
12
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (128)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |