49108 (Справочная система продавца–консультанта компьютерного салона), страница 3
Описание файла
Документ из архива "Справочная система продавца–консультанта компьютерного салона", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "49108"
Текст 3 страницы из документа "49108"
Выбор кнопки "Добавить запись".
Выбор кнопки "Выход".
1.2.5 Описание алгоритма программы
Алгоритм работы программы представлен в виде блок-схемы, которая демонстрирует кнопки вызова форм. После запуска файла "Kompsalon.exe" на экране монитора выводится форма "Регистрация". Сначала на ней появляется заставка, с описанием темы дипломного проекта и информация о разработчике данного программного продукта, но через 5 секунд она пропадает. После чего появляются компоненты регистрации продавцов.
На форме "Регистрация" находится две кнопки:
"Выход", в соответствии с названием эта кнопка приводит к закрытию приложения;
"Продолжить", при нажатии на неё программа автоматически сверяет данные продавца, и если данные введены неправильно или не совпадают с данными имеющихся продавцов, то автоматически на форме (окне) программы появляется надпись: "Данные продавца неверны! Попробуйте повторить регистрацию".
Если же программа при нажатии на кнопку "Продолжить" введённые продавцом данные при заполнении регистрации, были успешно проняты, то запускается форма "Главная форма программы". Она является главной и на ней происходят все основные операции.
Сначала на ней появляются кнопки "Справка" и "Выход", а также раздел "Выбор таблицы", в котором, по сути объединены кнопки: "Продажа товара", "Товар", "Сотрудники", "Клиенты", "Продажи".
При нажатии на "Справка" - открывается форма "Справка". Здесь непосредственно представлено описание о разработчике программы и о работе с программой.
Кнопка "Выход", приводит к закрытию программы. При этом если же она будет нажата, программа спросит пользователя, хочет ли он выйти или нет.
Раздел "Выбор таблицы", состоит из нескольких кнопок, при нажатии на любую из них появляется подраздел, который содержит в себе такие основные элементы как: кнопки управления базой данных, непосредственно саму таблицу и окно поиска:
"Сотрудники", здесь предоставляется возможность редактировать, добавлять и удалять информацию о продавцах;
"Продажи", позволяет редактировать, добавлять и удалять информацию о продажах. Так же в этом разделе при помощи кнопки "Вывести на печать" можно вывести на печать список проданных товаров. Причём, благодаря функции поиска можно выводить не только всю информацию, но и ту, которая необходима.
"Клиенты", позволяет редактировать, добавлять и удалять информацию о клиентах (покупателях товара);
"Товар", позволяет редактировать, добавлять и удалять информацию о товаре. Здесь, так же расположена кнопка "Вывести список заканчивающегося товара", она выводит на печать тот товар, количество которого на складе осталось меньше десяти единиц;
"Продажа товара", в этом подразделе происходит выбор и продажа товара. При помощи функции поиска продавец без труда может найти необходимый клиенту (заказчику) товар и выбрать его, нажав на кнопку "Выбрать товар". При нажатии открывается форма (окно) "Серийный номер". На ней размещены кнопки "Отмена" и "Продолжить". Также она выводит информацию о количестве данного товара на складе и количестве уже выбранного товара, непосредственно здесь же происходит и запрос о выборе количества товара. Кнопка "Отмена" приводит к закрытию форы "Серийный номер", а при нажатии на "Продолжить" появляется текстовая область, в которую необходимо ввести серийный номер выбираемого изделия и опять нажать на "Продолжить". Как только введённое количество товара закончится (для каждого будет введён свой серийный номер) форма закроется. Одновременно с закрытием "Серийный номер" на форме "Главная форма программы" появляется таблица с выбранным товаром и подраздел "Выбор товара", в котором можно удалить выбранный товар, задать скидку как на один так и на весь на товар, отменить скидку как на один так и на весь товар.
Кнопка "Отменить продажу" приводит к отмене продажи, то есть происходит отмена продажи и очистка списка выбранного товара.
Кнопка "Закончить выбор" открывает раздел регистрации клиента (покупателя). Здесь можно ввести данные о новом покупателе, а можно выбрать из уже зарегистрированных. Кнопка "Отмена" возвращает к выбору товара, "Продолжить" приводит к показу информации о клиенте и продавце.
Далее появляется кнопка "Продать товар". При нажатии на неё происходит продажа выбранного товара. Появляется сообщение, которое говорит о том, что товар продан и выводится гарантийный талон.
Схема вызова форм программы представлена на рисунке (Рис.16).
Рисунок 16. Схема вызова форм программы
1.2.6 Описание функциональных точек
В проекте используется 8 форм, 29 невизуальных компонентов и 20 основных процедур обработки событий, которые в совокупности предназначены для автоматизации обслуживания клиентов компьютерного салона. Все невизуальные компоненты находятся на форме "DM". Форма "DM" представлена на рисунке (Рис. 17).
Каждый из этих компонентов выполняет свою определённую функцию. Например, компоненты с названиями: Tovar1, Prodavez, Klienti, Prodazi, ADOZacaz, ADOGart, FirmIzg, Reg1, ADOQTovar, ADOQSotrydniki, ADOQKlienti, ADOQZaprosProdazi, ADOQZViv, ADOQZacTovar, ADOQGaranti - используются для подключения таблиц из базы данных "Комп салон".
Компоненты: DSTovar1, DSKlienti, DSZacaz, DSProdavez, DSProdazi, DSGart, FirmIzg1, DSTovar, DSSotrydniki, DSQklienti, DSZaprosProdazi, DSViv, DSZacTovar – используются для вывода информации из базы данных в таблицы.
Рисунок 17. Форма "DM"
Reg2.pas
-
procedure Edit1KeyPress – процедура перехода между полями ввода по нажатию Enter
procedure TReg.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then //нажатие Enter
edit2.SetFocus;//Переход на следующую строку при нажатии Enter
end;
-
procedure TReg.BitBtn2Click – процедура нажатия на кнопку продолжить
procedure TReg.BitBtn2Click(Sender: TObject);
var f:integer;
begin
if (edit1.text='') or (edit2.text='') or (edit3.text='') or (edit6.text='')then
begin //вывод соответствующего сообщния
messagedlg('ПОЖАЛУЙСТО ЗАПОЛНИТЕ ВСЕ ПОЛЯ!!! ',mterror,[mbok],0);
end else
begin
for f:=1 to DM.Reg1.RecordCount do
begin
if (edit1.text<>DM.Reg1.FieldByName('Фамилия').AsString) or (edit2.text<>DM.Reg1.FieldByName('Имя').AsString) or (edit3.text<>DM.Reg1.FieldByName('Отчество').AsString) or (edit6.text<>DM.Reg1.FieldByName('Пароль').AsString) then
begin
DM.Reg1.Next;//Переход к следующеё строке
Label1.Visible:=False;//Скрытие надписи
Label6.Visible:=True;//Появление надписи
end
else
begin
reg.Hide;//Закрытие формы reg
Prodat11.Show;//Открытие формы Prodat11
end;
-
procedure TReg.Timer1Timer – процедура скрытия заставки
procedure TReg.Timer1Timer(Sender: TObject);
begin
Panel1.Visible:=False;//Скрытие панели
Reg.Caption:='Регистрация';//Задание заголовка формы
Label1.Visible:=True;//Появление надписи
Label2.Visible:=True;//Появление надписи
Label3.Visible:=True;//Появление надписи
Label4.Visible:=True;//Появление надписи
Label5.Visible:=True;//Появление надписи
end;
-
procedure TReg.FormClose – процедура закрытия программы
procedure TReg.FormClose(Sender: TObject; var Action: TCloseAction);
begin //Вывод соответствующего сообщения
if MessageDlg('Вы хотите выйти из программы?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Application.Terminate;//Закрытие приложения
end;
sernom.pas
-
procedure TSerNom.BitBtn2Click – Процедура отказа от продажи товара
procedure TSerNom.BitBtn2Click(Sender: TObject);
begin
Prodat11.Enabled:=True;
Prodat11.Refresh;//Обновление формы Prodat11
sernom1.Edit1.Clear;//Очистка текстового поля
sernom1.Hide;//Закрытие формы sernom1
dm.ADOZacaz.First;//Переход к первой записи в таблице ADOZacaz
Prodat11.Refresh;//Обновление формы Prodat11
begin
if dm.ADOZacaz.FieldByName('№ товара').AsString<>'' then
begin
Prodat11.DBGrid12.Visible:=True;//Появление компонента
Prodat11.DBGrid13.Visible:=True;//Появление компонента
Prodat11.Panel6.Visible:=True;//Появление компонента
End;
Prodat11.Button16.Click;//Нажатие кнопки
end;
Prodat11.Button16.Click;//Нажатие кнопки
end;
-
procedure TSerNom.BitBtn1Click – Процедура сохранения серийного номера, и пересчета скидки на товар
procedure TSerNom.BitBtn1Click(Sender: TObject);
var m1, m2, m3,po,w,p,p2,a,d:Integer;
begin
begin
if Prodat11.Edit24.Text='' then
begin
Prodat11.Edit24.Text:='0';//Занесение информации в текстовое поле
end;
end;
Prodat11.Enabled:=True;
begin
if Edit1.Text='' then
begin//Вывод соответствующего сообщения
ShowMessage('Пожалуйсто введите серийный номер');
end
else
begin
begin
d:=StrToInt(Prodat11.Edit24.Text);//Задание значения переменной
if d>100 then
begin
Prodat11.Edit24.Text:='100';//Занесение информации в текстовое поле
end;
end;
Prodat11.GroupBox7.Enabled:=False;
Prodat11.Button2.Enabled:=False;
Prodat11.Button3.Enabled:=False;
Prodat11.Button4.Enabled:=False;
Prodat11.Button5.Enabled:=False;
Prodat11.Button6.Enabled:=False;
Prodat11.CheckBox2.Checked:=True;//Изменение значения компонента
dm.ADOZacaz.Insert;//Добавление строки в таблицу ADOZacaz
dm.ADOZacaz.FieldByName('№ товара').AsString:=Prodat11.DBEdit1.Text;//Занесение информации в таблицу ADOZacaz
dm.ADOZacaz.FieldByName('Идентифик_номер').AsString:=sernom1.Edit1.Text;//Занесение информации в таблицу ADOZacaz
dm.ADOZacaz.FieldByName('Стоимость').AsString:=Prodat11.DBEdit6.Text;//Занесение информации в таблицу ADOZacaz
dm.ADOZacaz.FieldByName('Льготы').AsString:=Prodat11.Edit24.Text;//Занесение информации в таблицу ADOZacaz
m1:=0;//Обнуление переменной
m1:=StrToInt(dm.ADOZacaz.FieldByName('Стоимость').AsString);
m2:=1;//Задание значения переменной
m3:=0;//Обнуление переменной
m3:=StrToInt(dm.ADOZacaz.FieldByName('Льготы').AsString);//Задание значения переменной
begin
if m3=0 then
begin
po:=m1*m2;//Задание значения переменной
end
else
begin
a:=m1*m2;//Задание значения переменной
po:=a-(a*m3 div 100);//Задание значения переменной
end;
end;
dm.ADOZacaz.FieldByName('Итого').AsString:=IntToStr(po);//Занесение информации в таблицу ADOZacaz
dm.ADOZacaz.Post;//Сохранение занесённой информации в таблице ADOZacaz
Prodat11.colvtov:=Prodat11.colvtov-1;//Задание значения переменной
Prodat11.BitBtn53.Click;//Нажатие кнопки
Prodat11.Button16.Click;//Нажатие кнопки
Prodat11.BitBtn7.Visible:=True;//Появление кнопки
Prodat11.Button16.Click;//Нажатие кнопки
Prodat11.BitBtn9.Visible:=True;//Появление кнопки
Prodat11.SpeedButton1.Visible:=true;//Появление кнопки
Prodat11.SpeedButton2.Visible:=true;//Появление кнопки
Prodat11.SpeedButton3.Visible:=true;//Появление кнопки
Prodat11.SpeedButton4.Visible:=true;//Появление кнопки
Prodat11.GroupBox6.Visible:=True;//Появление компонента
Prodat11.DBGrid12.Visible:=True;//Появление компонента
Prodat11.DBGrid13.Visible:=True;//Появление компонента
Prodat11.GroupBox8.Visible:=True;//Появление компонента
Prodat11.Button16.Click;//Нажатие кнопки
Prodat11.Panel6.Visible:=True;//Появление панели
Prodat11.colpoc:=Prodat11.colpoc+1;//Задание значения переменной
sernom1.Label2.Caption:='Введите Серийный номер '+ IntToStr(Prodat11.colpoc);//Задание надписи
end;
end;
begin
if Prodat11.colvtov<>0 then
begin
sernom1.Edit1.Clear;//Очистка текстового поля