Смекни!
smekni.com

Справочная система продавца–консультанта компьютерного салона (стр. 4 из 8)

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;//Появлениетаблицы