Описание функциональных точек
В проекте используется 5 форм, 13 невизуальных компонентов и процедуры обработки событий, которые в совокупности предназначены для автоматизации обслуживания клиентов фирмы, оказывающей ритуальные услуги. Все невизуальные компоненты находятся на форме "DataModule1". Форма "DataModule1" представлена в виде рисунка 12 (приложение 9). Каждый из этих компонентов выполняет свою определённую функцию. Например, компоненты с названиями: Klient_Table1, Uslugi_Table2, Zakaz_Table1, ProdavetsTable1, Nakladn_Table1, ADOTable1 используются для подключения таблиц из базы данных. Компоненты: Klient, Uslugi, Zakaz, Prodavets, Nakladn, DataSource1– используются для вывода информации из базы данных в таблицы. Основные процедуры обработки событий: Файл Glavnaya.pas. 1. procedure TGlavnaya_.Button1Click - процедура добавления нового клиента фирмы;
procedure TGlavnaya_.Button1Click(Sender: TObject); begin DBEdit1.ReadOnly:=false;// активация поля ввода DBEdit2.ReadOnly:=false;// активация поля ввода DBEdit3.ReadOnly:=false; // активация поля ввода Button3.Enabled:=true; //активация кнопки Button4.Enabled:=true;// активация кнопки Button1.Enabled:=false;// деактивация кнопки Button2.Enabled:=false;// деактивация кнопки Button6.Enabled:=false; // деактивация кнопки Button7.Enabled:=false; // деактивация кнопки DBEdit1.SetFocus; // Установка курсора DataModule1.Klient_Table1.Insert; //Добавление записи end;
2. procedure TGlavnaya_.Button3Click – процедура сохранения данных;
procedure TGlavnaya_.Button3Click(Sender: TObject); begin if (DBEdit1.Text='') or (DBEdit2.Text='') or (DBEdit3.Text='') then begin ShowMessage('Заполните все поля'); // вывод сообщения DBEdit1.SetFocus;// установка курсора end else begin Button3.Enabled:=false; // деактивация кнопки Button4.Enabled:=false; // деактивация кнопки Button1.Enabled:=true; // активация кнопки Button2.Enabled:=true; // активация кнопки Button6.Enabled:=true; // активация кнопки Button7.Enabled:=true; // активация кнопки DataModule1.Klient_Table1.Post; // Сохранение записи DBEdit1.ReadOnly:=true; // деактивация поля ввода DBEdit2.ReadOnly:=true; // деактивация поля ввода DBEdit3.ReadOnly:=true; // деактивация поля ввода end; end; 3. procedure TGlavnaya_.Button4Click - процедура нажатия кнопки "Отмена";
procedure TGlavnaya_.Button4Click(Sender: TObject); begin Button3.Enabled:=false; // деактивация кнопки Button4.Enabled:=false; // деактивация кнопки Button1.Enabled:=true; // активация кнопки Button2.Enabled:=true; // активация кнопки Button6.Enabled:=true; // активация кнопки Button7.Enabled:=true; // активация кнопки DataModule1.Klient_Table1.Cancel; // отмена DBEdit1.ReadOnly:=true;// деактивация поля ввода DBEdit2.ReadOnly:=true; // деактивация поля ввода DBEdit3.ReadOnly:=true; // деактивация поля ввода end;
4. procedure TGlavnaya_.Button7Click – процедура перехода к предыдущей записи в таблице
procedure TGlavnaya_.Button7Click(Sender: TObject); begin DataModule1.Klient_Table1.Prior;// переход к предыдущей записи end;
5. procedure TGlavnaya_.Button9Click – процедура создания отчета
procedure TGlavnaya_.Button9Click(Sender: TObject); begin Otch_Nakladnaya_.QRLabel9.Caption:='Товарный чек';// присвоение полю значения Otch_Nakladnaya_.QRLabel26.Caption:=DBEdit1.Text; // присвоение полю значения Otch_Nakladnaya_.QRLabel27.Caption:=DBEdit1.Text;// присвоение полю значения Otch_Nakladnaya_.QuickRep1.Preview;// просмотр отчета end;
6. procedure TGlavnaya_.Button21Click – Процедура сохранения поступившего товара
procedure TGlavnaya_.Button21Click(Sender: TObject); begin if (Edit1.Text='') or (Edit1.Text='0') then ShowMessage('Введите колличество принятого товара') Else begin DBText1.Caption:=IntToStr((strtoint(Edit1.Text))+(strtoint(DBText1.Caption))); DataModule1.Uslugi_Table2.FieldByName('К-во').AsString:=DBText1.Caption;; Edit1.Text:='0'; DataModule1.Uslugi_Table2.Post; // сохранение данных Button13.Enabled:=true; // активация кнопки Button14.Enabled:=true; // активация кнопки Button10.Enabled:=true; // активация кнопки Button15.Enabled:=true; // активация кнопки Button21.Visible:=false; // скрытие кнопки Button21.Enabled:=false; // деактивация кнопки Button11.Visible:=true; // отображение кнопки Button11.Enabled:=false; // деактивация кнопки Button12.Enabled:=false; // деактивация кнопки Edit1.ReadOnly:=true; // деактивация поля ввода end; end;
7. procedure TGlavnaya_.Button11Click – Процедура расчета цены продажи товара
procedure TGlavnaya_.Button11Click(Sender: TObject); begin if (DBEdit7.Text='') or (Edit1.Text='') or (DBEdit11.Text='') or (Edit2.Text='') then ShowMessage('Заполните все поля') // Вывод сообщения Else begin DBText1.Caption:=Edit1.Text; // перенос значения DataModule1.Uslugi_Table2.FieldByName('К-во').AsString:=DBText1.Caption;; Edit1.Text:='0'; Edit3.Text:=IntToStr(((strtoint(DBEdit11.Text))* (strtoint(Edit2.Text))) div (strtoint('100')) ); DBEdit9.Text:=IntToStr((strtoint(Edit3.Text))+(strtoint(DBEdit11.Text))); DataModule1.Uslugi_Table2.Post; Button13.Enabled:=true; //активация кнопки Button14.Enabled:=true; //активация кнопки Button10.Enabled:=true; //активация кнопки Button15.Enabled:=true; //активация кнопки Button21.Visible:=true; // отображение кнопки Button21.Enabled:=false; //деактивация кнопки Button11.Visible:=false; // скрытие кнопки Button11.Enabled:=false; //деактивация кнопки Button12.Enabled:=false; //деактивация кнопки DBEdit7.Enabled:=false; //деактивация поля ввода Edit1.ReadOnly:=true; //деактивация поля ввода DBEdit11.ReadOnly:=true; //деактивация поля ввода Edit2.ReadOnly:=true; //деактивация поля ввода end; end;
8. procedure TGlavnaya_.Button8Click – процедура выбора услуг из списка
procedure TGlavnaya_.Button8Click(Sender: TObject); begin Edit4.Text:=InputBox('Ввод данных','Введите количество товара','1'); // проверка колличества товара if StrToInt(Edit4.Text)>DataModule1.Uslugi_Table2.FieldByName('К-во').AsInteger then begin ShowMessage('Товара не хватает, введите меньшее число!'); // вывод сообщения Button8.Click; // нажатие кнопки end else begin //Изменение колличества товара DataModule1.Uslugi_Table2.Edit;// изменение записи DataModule1.Uslugi_Table2.FieldByName('№_накладной').AsString:=DBEdit4.Text; DataModule1.Uslugi_Table2.FieldByName('К-во').AsInteger:=DataModule1.Uslugi_Table2.FieldByName('К-во').AsInteger-StrToInt(Edit4.Text); DataModule1.Uslugi_Table2.Post;// сохранение записи Edit5.Text:=IntToStr(StrToInt(Edit4.Text) * StrToInt(DBEdit5 .Text)); //Заполнение таблици заказ DataModule1.Zakaz_Table1.Insert; DataModule1.Zakaz_Table1.FieldByName('№_продавца').AsString:='1'; DataModule1.Zakaz_Table1.FieldByName('№_клиента').AsString:=DataModule1.Klient_Table1.FieldByName('Номер_п/п').AsString; DataModule1.Zakaz_Table1.FieldByName('№_услуги').AsString:=DataModule1.Uslugi_Table2.FieldByName('Номер_п/п').AsString; DataModule1.Zakaz_Table1.FieldByName('№_накладной').AsString:=DBEdit4.Text; DataModule1.Zakaz_Table1.FieldByName('Колличество').AsString:=Edit4.Text; DataModule1.Zakaz_Table1.FieldByName('Сумма').AsString:=Edit5.Text; DataModule1.Zakaz_Table1.Post; Button9.Enabled:=true; /////////////////////////////////////////////////////// DataModule1.ADOTable1.Active:=false; DataModule1.ADOTable1.Active:=true; DataModule1.ADOTable1.Filtered:=False; //Деактивация фильтра DataModule1.ADOTable1.Filter:='№_накладной='+Edit6.Text;// //Задание фильтра DataModule1.ADOTable1.Filtered:=True; //Активация фильтра end; End;
Файл Zastavka.pas
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (152)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |