Базы данных торговой фирмы
Содержание
Введение
Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Object Pascal (Delphi) являются результатом функционального расширения Turbo Pascal.
Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.
Версия 1 была предназначена для разработки под 16-разрядную платформу Win16;
Версии со второй компилируют программы под 32-разрядную платформу Win32;
Вместе с 6-й версией Delphi вышла совместимая с ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ под операционную систему GNU/Linux;
Версия 8 способна генерировать байт-код исключительно для платформы .NET. Это первая среда, ориентированная на разработку мультиязычных приложений (лишь для платформы .NET);
Последующие версии (обозначаемые годами выхода, а не порядковыми номерами, как это было ранее) могут создавать как приложения Win32, так и байт-код для платформы .NET.
Delphi for .NET — среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.
Первая версия полноценной среды разработки Delphi для .NET — Delphi 8. Она позволяла писать приложения только для .NET.
В настоящее время, в Delphi 2006, можно писать приложения для .NET, используя стандартную библиотеку классов .NET, VCL для .NET. Среда также позволяет создавать .NET-приложения на C# и Win32-приложения на C++. Delphi 2006 содержит функции для написания обычных приложений с использованием библиотек VCL и CLX.
Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.
В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор.
Однако в ноябре того же года было принято решение отказаться от продажи IDE бизнеса. Тем не менее, разработкой IDE продуктов теперь будет заниматься новая компания — CodeGear, которая будет финансово полностью подконтрольна Borland.
В августе 2006 года Borland выпустил облегченные версию RAD Studio под именем Turbo: Turbo Delphi (для Win32 и .NET), Turbo C#, Turbo C++.
В марте 2008 года было объявлено о прекращении развития этой линейки продуктов.
В марте 2007 года CodeGear порадовала пользователей обновленной линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.
В июне 2007 года CodeGear представила свои планы на будущее, то есть опубликовала так называемый roadmap.
25 августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009. Версия принесла множество нововведений в язык, таких как:
По умолчанию полная поддержка Юникода во всех частях языка, VCL и RTL; замена обращений ко всем функциям Windows API на юникодные аналоги (то есть MessageBox вызывает MessageBoxW, а не MessageBoxA).
Обобщённые типы, они же generics.
Анонимные методы.
Новая директива компилятора $POINTERMATH [ON|OFF].
Функция Exit теперь может принимать параметры в соответствии с типом функции.
Цель этой работы: создание программы ведения базы данных торговой фирмы. Программа включает в себя: формирование и корректирование файлов данных; расчет комиссионного вознаграждения сотрудников фирмы. Файл данных о продавце включает его имя и фамилию, табельный номер, дату поступления на работу. Торговая фирма выплачивает продавцам комиссионное вознаграждение в размере 5%, если товара продано на сумму менее 1000 долл. в день, и 6%, если выручка составляет 1000 долл./день и выше. Продавцы, проработавшие в фирме более 10 лет, получают комиссионные на 1% больше. Сумма выручки за день для каждого продавца вводится с клавиатуры ЭВМ. Организуйте вывод общих итогов по сумме выручки и сумме комиссионного вознаграждения за месяц.
Основная часть
1 Разработка эскизного и технического проектов программы
1.1 Назначение и область применения
Назначение программы: ведение учета работы продавцов.
Область применения: справочная информация.
1.2 Постановка задачи
База данных представляет собой диалоговое окно с пользователем. Программа должна обеспечивать хранение, редактирование данных продавцов и содержать поля: Фамилия и имя, Табельный номер, год приема на работу и выручка в день.
1.3 Организация входных и выходных данных
В программе используются следующие переменные и объекты, в которых хранятся входные и выходные данные:
Form1 – для отображения данных базы.
StringGrid – таблица, содержащая БД.
MainMenu – для сервисных функций.
Form2 – для ввода и изменения данных в базе.
1.4 Выбор состава технических и программных средств
Среда
программирования – Delphi – весьма быстрая
и удобная для разработки приложений различного
назначения для Windows. Для нормальной работы
программы необходим IBM совместимый компьютер
с тактовой частотой процессора не ниже
144МГц и выше, оперативной памятью 16 Мб,
жесткий диск объемом не менее 500Мб.
2 Разработка рабочего проекта
2.1 Разработка программы
С точки зрения пользователя, база данных — это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую пользователь может найти интересующие его сведения. Если система позволяет, то он может внести изменения в базу данных: добавить новую информацию или удалить ненужную. С точки зрения программиста, база данных — это набор файлов, содержащих информацию. Разрабатывая базу данных для пользователя, программист создает программу, которая обеспечивает работу с файлами данных.1
В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (dBASE, FoxPro, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.2
В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от SE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в Различных форматах.
2.2 Спецификация программы
База данных — это набор однородной, как правило, упорядоченной по некоторому критерию, информации. База данных может быть представлена в "бумажном" или в компьютерном виде. Типичным примером "бумажной" базы данных является каталог библиотеки — набор бумажных карточек, содержащих информацию о книгах. Информация в этой базе однородная (содержит сведения только о книгах) и упорядоченная (карточки расставлены, например, в соответствии с алфавитным порядком фамилий авторов). 3
Следует обратить внимание, что каждая запись состоит из одинаковых полей. Некоторые поля могут быть не заполнены, однако они все равно присутствуют в записи. На бумаге базу данных удобно представить в виде таблицы. Каждая строка таблицы соответствует записи, а ячейка таблицы — полю. При этом заголовок столбца таблицы — это имя поля, а номер строки таблицы — номер записи. Информацию компьютерных баз данных обычно выводят на экран в виде таблиц.
Таблицы физически хранится в отдельном файле. В простейшем случае источником информации для программы, работающей с базой данных, может быть вся таблица. Однако, как правило, пользователя интересует не вся информация, находящаяся в базе данных, а только какая-то ее часть. Он выбирает и просматривает только некоторые, удовлетворяющие его запросу записи. Поэтому в модель базы данных помимо таблицы, представляющей собой всю базу данных, было введено понятие запроса, являющегося выборкой, т. е. группой записей базы данных.
База
данных — это набор файлов (таблиц),
в которых находится
Исполняемый
файл программы «База данных Торговая
фирма» имеет название Basa.exe и находится
в корневом каталоге диска А. Состав проекта
представлен в приложении.
2.3 Текст программы
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):
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+
{Помещаем в таблицу данные}
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(
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(
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-
begin
for i:=sg.Selection.Top+1 to sg.RowCount-1 do
for j:=0 to 4 do
sg.Cells[j,i-1]:=sg.
sg.RowCount:=sg.RowCount-
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.
if form2.showmodal=mrOk then
begin
sg.RowCount:=sg.RowCount+1; //Увеличиваем таблицу на 1 пункт
{Помещаем в таблицу данные}
sg.Cells[0, sg.RowCount-2]:=Form2.Edit1.
sg.Cells[1, sg.RowCount-2]:=Form2.Edit2.
sg.Cells[2, sg.RowCount-2]:=Form2.Edit3.
sg.Cells[3, sg.RowCount-2]:=Form2.Edit4.
sg.Cells[4, sg.RowCount-2]:=IntToStr(
end;
end;
procedure TForm1.N9Click(Sender: TObject);
var i:integer;
begin
if
sg.Selection.Top<>sg.RowCount-
begin
Form2.Caption:='Изменить'
for i:=1 to 4 do
TEdit(Form2.
if form2.showmodal=mrOk then
begin
{Помещаем в таблицу данные}
sg.Cells[0, sg.selection.top]:=Form2.
sg.Cells[1, sg.selection.top]:=Form2.
sg.Cells[2, sg.selection.top]:=Form2.
sg.Cells[3, sg.selection.top]:=Form2.
sg.Cells[4, sg.selection.top]:=IntToStr(
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),
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])*
j:=Trunc((j / 100)*K);
kom:=kom+j;
z:=z+k-j;
summ:=summ+k;
end;
showmessage('Общий
доход за этот месяц: '+inttostr(summ)+#13#10+'
end;
end.
2.4 Описание программы
1) Общие сведения.
Программа
написана с среде программирования
Delphi. Для запуска программы
2) Функциональное назначение.
Программа может использоваться на различных торговых точках с небольшим количеством продавцов.
3)
Используемые технические
Рекомендуемые системные требования: процессор Pentium-133 и выше, ОЗУ 16Мб, место на диске не меньше 4Мб.
4) Вызов и загрузка.
Исполняемый файл программы – Basa.exe. В родительском каталоге программы также содержится файл БД – Base.txt. Запустить программу можно пользуясь стандартным приложением для Windows «проводник» или через «Мой компьютер», просмотрев содержимое диска.
5) Входные данные.
Входные данные представляют собой фамилию и имя, табельный номер, год приема на работу, и выручку продавца в день.
6) Выходные данные.
Выходные
данные выводятся на экран компонентом
StringGrid.
Заключение
С точки зрения пользователя, база данных — это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую пользователь может найти интересующие его сведения. Если система позволяет, то он может внести изменения в базу данных: добавить новую информацию или удалить ненужную.
С точки зрения программиста, база данных — это набор файлов, содержащих информацию. Разрабатывая базу данных для пользователя, программист создает программу, которая обеспечивает работу с файлами данных.
1) Условия выполнения программы.
Для
выполнения программы необходим IBM
совместимый компьютер с
2) Выполнение программы.
Для того чтобы запустить программу на панели управления щелкните кнопкой мыши кнопку Пуск. Выберете в развернувшимся меню пункт Программы->проводник. В проводнике выберете нужный каталог с файлом Basa.exe и дважды щелкните по нему левой кнопкой мыши. Программа запустится.
При
выборе в главном меню пункта «Автор»
появляется сообщение с краткой информацией
о программе и разработчике (см. рис.2).
Рисунок 2 – Окно «Автор»
Глоссарий
| № | Понятия | Определение |
| 1 | Объектно-ориентированное программирование | подход к программированию, рассматривающий программу как совокупность объектов и сообщений |
| 2 | Объект |
пакет информации, содержащий данные и процедуры их обработки. Сообщение – это спецификация условий выполнения одной из процедур обработки объекта |
| 3 | Язык программирования |
система обозначений, служащая для точного описания программ или алгоритмов машинных вычислений. Язык программирования – это искусственный язык, в котором алфавит ( набор различных символов языка), синтаксис (правила построения множества текстов или конструкций языка из алфавита языка) и семантика (описание соответствия между текстами и их «смыслами») строго и однозначно определены |
| 4 | Операция | действие в языке программирование, которое выполняется над данными |
| 5 | Структура
программы |
общая схема построения программы, рассматривающая все ее составные компоненты и взаимосвязи между ними |
| 6 | Оператор присваивания | оператор языка программирования, предназначенный для вычисления значения заданного выражения и записи в память полученного результата |
| 7 | Файл |
определенным образом организованная совокупность данных, имеющих общее имя и размещенных на одном из внешних устройств компьютера (например, на жестком или гибком дисках) |
| 8 | Оператор ввода данных | специальный оператор,
предназначенный для ввода |
| 9 | Оператор вывода данных | специальный оператор, предназначенный для вывода данных из памяти в файл, закрепленный за одним из внешних устройств компьютера |
| 10 | Качествопрограммы |
степень соответствия программы своему функциональному назначению с точки зрения предъявляемых к ней требований |

- Байкал - жемчужина Сибири
- Байкальская горная страна
- Байкальский рифт
- Байланыс желілерін талдау
- Байланыс желісі және коммутация жүйелері
- Байланыс жүйесіндегі цифрлық сигнал және оны өткізу жолағы шектеулі арна арқылы тарату
- Байланыс жүйесіндегі цифрлық сигнал және оны өту жолағы шектелген арна арқылы тарату
- Базы данных. Реляционные базы данных. Язык SQL
- Базы данных "Ремонт компьютеров"
- Базы данных розничной клиентуры
- Базы данных «Санаторий»
- Базы данных. Системы управления базами данных
- Базы данных. Создание программы "Телефонный справочник"
- Базы данных Субд