Label4.Visible:=True;//Появление надписи
Label5.Visible:=True;//Появлениенадписи
end;
4. procedureTReg.FormClose – процедура закрытия программы
procedure TReg.FormClose(Sender: TObject; var Action: TCloseAction);
begin //Вывод соответствующего сообщения
if MessageDlg('Вы хотите выйти из программы?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Application.Terminate;//Закрытиеприложения
end;
sernom.pas
5. procedureTSerNom.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;
6. procedureTSerNom.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;//Очисткатекстовогополя
sernom1.Edit1.SetFocus;//перемещениекурсоравтекстовоеполе
BitBtn3.Visible:=False;//Появлениекнопки
Prodat11.Enabled:=False;//Формаактивна//Форманеактивна
end
else
begin
sernom1.Hide;//Закрытиеформы sernom1
Prodat11.Enabled:=True;//Форманеактивна
Prodat11.Panel6.Visible:=True;//Появлениепанели
Prodat11.GroupBox8.Visible:=True;//Появлениекомпонента
Prodat11.BitBtn9.Visible:=true;//Появлениекнопки
Prodat11.BitBtn7.Visible:=true;//Появлениекнопки
Prodat11.Panel6.Visible:=True;//Появлениепанели
Prodat11.Button16.Click;//Нажатиекнопки
end;
Prodat11.Button16.Click;//Нажатиекнопки
end;
Prodat11.Button16.Click;//Нажатиекнопки
end;
7. procedureTSerNom.FormShow – Процедура слежения за количеством товара на складе, и количеством выбранного товара
procedure TSerNom.FormShow(Sender: TObject);
var ng,mk:integer;
begin
sernom1.Label3.Visible:=True;//Появлениенадписи
sernom1.Label4.Visible:=True;//Появлениенадписи
Prodat11.Enabled:=False;//Фомаактивна
sernom1.Edit1.Text:='';//Выводтекста
sernom1.Edit2.Text:='1';//Выводтекста
sernom1.Label2.Caption:='Введите количество товара:';
Prodat11.colpoc:=2;//задание значения переменной
Label3.Caption:='Общее количество товара = '+Prodat11.DBEdit8.Text;//Задание надписи
mk:=0;//Обнулениепеременной
begin
for ng:=1 to DM.ADOZacaz.RecordCount do
begin
if dm.ADOZacaz.FieldByName('№ товара').AsString=Prodat11.DBEdit1.Text then
begin
mk:=mk+1;//Увеличение счётчика переменной
end;
dm.ADOZacaz.Next;//Переход на следующую строку в таблице ADOZacaz
end;
kj:=StrToInt(Prodat11.DBEdit8.Text)-mk;//Задание значения переменной
Label4.Caption:='Количество уже выбранного товара = '+IntToStr(mk)+', доступно = '+ IntToStr(kj);//Занесение текста в надпись
end;
end;
8. procedureTSerNom.Edit2KeyPress – Ограничение вводимой информаци
procedure TSerNom.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
case key of
#13 : ;//Принажатие Enter переноскурсора
#8 : ;//Стереть символ слева Backspace
#145: ;//Верхний опостроф
'0'..'9': ;//Только англиские булвы
' ' : //Пробел
else key:=chr(0);//Иначеничего
end;
end;
9. procedureTProdat11.BitBtn6Click – Выбор товара и запрос на применение установленной скидки
procedure TProdat11.BitBtn6Click(Sender: TObject);
var z,z1,a1,a2,v:integer;
begin
begin
if Prodat11.Edit24.Text='' then
begin
Prodat11.Edit24.Text:='0';//Занесение информации в текстовое поле
end;
end;
begin
if Prodat11.Edit24.Text<>'0' then
begin //Вывод сообщения
if MessageDlg('Оставить скидку на товар?',
mtConfirmation, [mbYes, mbNo], 0) = mrNo then
Prodat11.Edit24.Text:='0';//Занесение информации в текстовое поле
end;
end;
dm.ADOZacaz.First;//Переход к первой записи в таблице ADOZacaz
a1:=0;//Обнуление переменной
a2:=0;//Обнуление переменной
begin
for z1:=1 to DM.ADOZacaz.RecordCount do
begin
if dm.ADOZacaz.FieldByName('№ товара').AsString=Prodat11.DBEdit1.Text then
begin
end;
dm.ADOZacaz.Next;//Переход к следующей записи в таблице ADOZacaz
end;
end;
begin
a2:=StrToInt(Prodat11.DBEdit8.Text);//Присвоениезначенияпеременной
a2:=a2-a1;//Присвоение значения переменной
if a2=0 then
begin
ShowMessage('Тoвара на складе нет');//Вывод сообщения
end
else
begin
begin
sernom1.Show;//Открытиеформы sernom1
sernom1.Label1.Visible:=True;//Появлениенадписи
sernom1.Edit1.Visible:=True;//Появление текстового поля
sernom1.Label2.Visible:=False;//Скрытиенадписи
sernom1.Edit2.Visible:=False;//Скрытие текстового поля
sernom1.Edit1.SetFocus;//Курсор в текстовом поле
Prodat11.colvtov:=1;//Присвоение значения переменной
sernom1.BitBtn3.Visible:=True;//Появление кнопки
end;
begin
sernom1.Show;//Открытиеформы sernom1
sernom1.Label1.Visible:=False;//Скрытиенадписи
sernom1.Edit1.Visible:=False;//Скрытие текстового поля
sernom1.Label2.Visible:=True;//Появлениенадписи
sernom1.Edit2.Visible:=True;//Появление текстового поля
sernom1.BitBtn1.Enabled:=True;
sernom1.Edit2.SetFocus;//Курсорвтекстовомполе
sernom1.BitBtn3.Visible:=True;//Появлениекнопки
end;
end;
end;
end;
10. procedureTProdat11.BitBtn5Click – Процедура сохранения информации о осуществленной продаже и вывод гарантийного талона на печать
procedure TProdat11.BitBtn5Click(Sender: TObject);
var q,t,c,v,z,n,d,fghj:integer;
begin
if Edit78.Text='' then
begin
DM.Pokypatel.Last;//Переход к последней записи в базе данных
DM.Pokypatel.Insert;//Добавление строки в базу данных
DM.Pokypatel.FieldByName('Фамилия').AsString:=Prodat11.Edit6.Text;//Занесение информации в базу данных
DM.Pokypatel.FieldByName('Имя').AsString:=Prodat11.Edit7.Text;//Занесение информации в базу данных
DM.Pokypatel.FieldByName('Отчество').AsString:=Prodat11.Edit8.Text;//Занесение информации в базу данных
DM.Pokypatel.FieldByName('Адрес').AsString:=Prodat11.Edit9.Text;//Занесение информации в базу данных
DM.Pokypatel.FieldByName('Телефон').AsString:=Prodat11.Edit10.Text;//Занесение информации в базу данных
DM.Pokypatel.Post;//Сохранение занесённой информации
Edit12.Text:=IntToStr(DM.Pokypatel.FieldValues['№ покупателя']);
DM.Pokypatel.Refresh;//Обновлениетаблицы
end;
aaa:=aaa+1;
dm.ADOZacaz.First;//Переход к первой записи в таблице ADOZacaz
for q:=1 to dm.ADOZacaz.RecordCount do
begin
DM.Prodazi.Last;//Переход к последней записи в базе данных
DM.Prodazi.Insert;//Добавление строки в базу данных
begin
if Edit78.Text='' then
begin
DM.Pokypatel.Last;//Переход к последней записи в базе данных
DM.Prodazi.FieldByName('№ покупателя').AsString:=DM.Pokypatel.FieldValues['№ покупателя'];//Занесение информации в базу данных
end
else
begin
DM.Prodazi.FieldByName('№ покупателя').AsString:=Edit78.Text;//Занесение информации в базу данных
end;
end;
DM.Prodazi.FieldByName('№ продавца').AsString:=Prodat11.Edit11.Text;//Занесение информации в базу данных
DM.Prodazi.FieldByName('№ товара').AsString:=dm.ADOZacaz.FieldValues['№ товара'];//Занесение информации в базу данных
DM.Prodazi.FieldByName('Дата').AsString:=DateTimeToStr(Date);//Занесение информации в базу данных
DM.Prodazi.FieldByName('Цена покупки').AsString:=dm.ADOZacaz.FieldValues['Стоимость'];//Занесение информации в базу данных
DM.Prodazi.FieldByName('Количество').AsString:='1';
DM.Prodazi.FieldByName('Серийный номер').AsString:=dm.ADOZacaz.FieldValues['Идентифик_номер'];
DM.Prodazi.FieldByName('Скидка%').AsString:=dm.ADOZacaz.FieldValues['Льготы'];
DM.Prodazi.FieldByName('Общая стоимость').AsString:=dm.ADOZacaz.FieldValues['Итого'];//Занесение информации в базу данных
DM.Prodazi.FieldByName('Гарантийный талон').AsString:=IntToStr(aaa);
DM.Prodazi.Post;//Сохранение занесённой информации
dm.ADOZacaz.Next;//Переход на следующую строчку
DM.Tovar1.First;//Переход к первой записи
end;
begin
dm.ADOZacaz.First;//Переход к первой записи
for n:=1 to dm.ADOZacaz.RecordCount do
begin
DM.Tovar1.First;//Переход к первой записи
for d:=1 to DM.Tovar1.RecordCount do
begin
if (dm.ADOZacaz.FieldByName('№ товара').AsString<>dm.Tovar1.FieldByName('№ товара').AsString) then
begin
DM.Tovar1.Next;//Переход к следующеё строке
end
else
begin
DM.Tovar1.Edit;//Редактирование записи в таблице Tovar1
DM.Tovar1.FieldByName('Количество').AsString:=IntToStr(StrToInt(DM.Tovar1.FieldByName('Количество').AsString)-1);
DM.Tovar1.Post;//Сохранение занесённой информации
dm.Tovar1.Next;//Переход к следующеё строке
end;
end;
dm.ADOZacaz.Next;//Переход к следующеё строке
end;
end;
GroupBox2.Visible:=False;//Скрытиекомпонента
GroupBox1.Visible:=false;//Скрытиекомпонента
DBGrid1.Visible:=True;//Появлениетаблицы