Организация пользовательского интерфейса
Интерфейс программы “Лекарственные средства” представлен на первой форме. Для удобства работы с базой при наведении курсора на объект появляются подсказки в статусной строке. Также присутствуют кнопки, для управления базой данных. В первой форме предусмотрен поиск позволяющий искать нужную запись.
Процедуры кнопок формы1: Кнопка добавление: procedure TForm1.Button1Click(Sender: TObject); Begin If table1.State = dsBrowse then table1.insert; end; Кнопка Изменения: procedure TForm1.Button2Click(Sender: TObject); Begin If table1.State = dsBrowse then table1.edit; end; Кнопка Удаления: procedure TForm1.Button3Click(Sender: TObject); Begin If table1.State = dsBrowse then If Messagedlg('',mtconfirmation,[mbYes,mbNo],0)=mrYes then table 1. delete; end; Процедура на кнопку поиск: procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean); Begin Accept:=Dataset['Name_lek'] = Edit1.text; end; procedure TForm1.CheckBox1Click(Sender: TObject); Begin Table1.Filtered:=CheckBox1.Checked; Table 1. Filtered:= true; end; Форма 2 на которой находятся таблицы Предприятие и Накладная.
Процедуры кнопок Формы 2:
Процедура кнопки перехода на Форму1: procedure TForm2.BitBtn1Click(Sender: TObject); Begin Form1.show; Form2.hide; end; Процедура кнопки перехода на Форму3: procedure TForm2.BitBtn2Click(Sender: TObject); Begin Form3.show; Form2.hide; end; Процедура соединения таблиц двух таблиц, дочерняя таблица Накладная с родительской таблицей Предприятие: procedure TForm2.OnActivate(Sender: TObject); Begin DBGrid2.Columns.Items[1].PickList.Clear; With Table1 do begin first; While not eof do Begin DBGrid2.columns.Items[1].Picklist.add(FieldByName('Kod_pred').value); next; end; end; А также на форме присутствуют кнопки управления базой данных, как для таблицы Предприятие так и для таблицы Накладная: кнопки добавления,изменения, удаления, сохранения, отмены. Процедура кнопки Запомнить: procedure TForm2.Button4Click(Sender: TObject); Begin If table1.State in [dsInsert,dsEdit]then
table 1. post; end; Процедура кнопки Отменить: procedure TForm2.Button9Click(Sender: TObject); Begin If table1.State in [dsInsert,dsEdit]then table 1. Cancel; end; Процедура кнопки Добавить: procedure TForm2.Button1Click(Sender: TObject); Begin If table1.State = dsBrowse then table 1. insert; end; Процедура кнопки Изменить: procedure TForm2.Button2Click(Sender: TObject); Begin If table1.State = dsBrowse then table 1. edit; end; Процедура кнопки Удалить: procedure TForm2.Button3Click(Sender: TObject); Begin If table1.State = dsBrowse then If Messagedlg('',mtconfirmation,[mbYes,mbNo],0)=mrYes then table 1. delete; end;
Форма 3 с таблицами Поступление и Продажа. На форме 3 находятся таблицы Продажа и Поступление. В этих таблицах фиксируется сколько лекарственных средств поступило на склад и по какой цене. Также фиксируется Код предприятия с которым установлены торговое соглашение, номер накладной где указан товар и в каком количестве. В таблице Продажа также фиксируются цена на лекарственные средства но при этом учитывается транспортировка и по этим параметрам устанавливается продажная цена.
Процедуры управляющих кнопок: procedure TForm3.Button1Click(Sender: TObject); Begin If table2.State = dsBrowse then table2.insert; end; procedure TForm3.Button4Click(Sender: TObject); Begin If table2.State in [dsInsert,dsEdit]then table2.post; end; procedure TForm3.Button3Click(Sender: TObject); Begin If table2.State = dsBrowse then table2.edit; end; procedure TForm3.Button2Click(Sender: TObject); Begin If table2.State = dsBrowse then If Messagedlg('',mtconfirmation,[mbYes,mbNo],0)=mrYes then table2.delete; end; procedure TForm3.Button5Click(Sender: TObject); Begin If table1.State = dsBrowse then table1.insert; end; procedure TForm3.Button6Click(Sender: TObject); Begin If table1.State = dsBrowse then If Messagedlg('',mtconfirmation,[mbYes,mbNo],0)=mrYes then table1.delete; end; procedure TForm3.Button7Click(Sender: TObject); Begin If table1.State = dsBrowse then table1.edit; end; procedure TForm3.Button8Click(Sender: TObject); Begin If table1.State in [dsInsert,dsEdit]then table1.post; end; end; end; Процедуры соединения таблиц: DBGrid2.Columns.Items[1].PickList.Clear;
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|