3.3 Организация пользовательского интерфейса

Интерфейс программы “Лекарственные средства” представлен на первой форме. Для удобства работы с базой при наведении курсора на объект появляются подсказки в статусной строке. Также присутствуют кнопки, для управления базой данных. В первой форме предусмотрен поиск позволяющий искать нужную запись.

 

Процедуры кнопок формы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

table1.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;

Table1.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

table1.post;

end;

 

Процедура кнопки Отменить:

procedure TForm2.Button9Click(Sender: TObject);

begin

If table1.State in [dsInsert,dsEdit]then

table1.Cancel;

end;

 

Процедура кнопки Добавить:

procedure TForm2.Button1Click(Sender: TObject);

begin

If table1.State = dsBrowse then

table1.insert;

end;

 

Процедура кнопки Изменить:

procedure TForm2.Button2Click(Sender: TObject);

begin

If table1.State = dsBrowse then

table1.edit;

end;

 

Процедура кнопки Удалить:

procedure TForm2.Button3Click(Sender: TObject);

begin

If table1.State = dsBrowse then

If Messagedlg('',mtconfirmation,[mbYes,mbNo],0)=mrYes then

table1.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;

with Form2.Table2 do begin

first;

While not eof do Begin

DBGrid2.columns.Items[1].Picklist.add(FieldbyName('Nom_naklad').value);

next;

end;

end;

DBGrid2.Columns.Items[2].PickList.Clear;

with Form2.Table1 do begin

first;

While not eof do Begin

DBGrid2.columns.Items[2].Picklist.add(FieldbyName('Kod_pred').value);

Форма 4 запрос SQL. На данной форме выводится параметрический запрос по полям “Название лекарства” и по ”Количеству проданных лекарств”.

 

Процедура Запроса SQL:

Процедура кнопки обновить список:

procedure TForm4.Button1Click(Sender: TObject);

begin

Query1.Filtered:=false;

Query1.Active:=true;

end;

 

Процедура кнопки поиска :

procedure TForm4.Button3Click(Sender: TObject);

begin

Query1.Filtered:=false;

Case Radiogroup1.itemindex of

0:pole:='Name_lek';

1:pole:='Kolvo_p_lek'

end;

Query1.Filtered:=true;

end;

procedure TForm4.Query1FilterRecord(DataSet: TDataSet;

var Accept: Boolean);

begin

Accept:=Dataset[pole]=edit1.text;

end;

 

Форма 5 на ней показана информация о Программе.


ЗАКЛЮЧЕНИЕ

 

Данная программа пригодится небольшим фирмам занимающихся продажей и учетом лекарственных средств. Моя программа облегчит им работу, уменьшит работу с бумагами накладными и т.д.

После разработки своей программы я узнал более подробно о языке программирования Delphi и приложений к нему в частности BDE Administrator и Database Desktop . BDE Administrator нужен для установления псевдонима. При переносе базы данных на другой компьютер надо обязательно установить псевдоним т.е. каталог где она находится иначе при запуске базы данных выйдет сообщение об ошибке. Database Desktop нужна для создания и редактирования таблиц баз данных. Язык программирования Delphi является более простым для написания баз данных в нем есть все возможные компоненты упрощающие работу. На Delphi написано довольно большое число баз данных.


ЛИТЕРАТУРА

 


Информация о работе «Автоматизация продажи и учета лекарственных средств»
Раздел: Информатика, программирование
Количество знаков с пробелами: 36759
Количество таблиц: 5
Количество изображений: 10

Похожие работы

Скачать
262221
1
0

... моноклональных антител, даже если их получают на основе человеческих гибридом. Эта проблема не нова для медицины и не является непреодолимой. 02.09.10-15.09.10 18 Тема №18. Технология лекарственных форм в экстремальных условиях. По причинам возникновения чрезвычайные ситуации могут быть техногенного, природного, биологического, экологического и социального характера. Внутренними ...

Скачать
41306
0
0

... и контролирует правильность оформления прописей для индивидуального производства лекарств. Ведет текущую и отчетную документацию. Проводит целевое фармацевтическое исследование аптек, других учреждений с целью оценки состояния контроля качества лекарственных средств при их изготовлении, транспортировке, хранении и отпуске. Экспресс-анализ лекарственных форм. Необходимость внутриаптечного ...

Скачать
66988
6
1

... технологий невозможно без глубокой интеграции различных процессов. Поэтому, на наш взгляд, целесообразно рассмотреть проблемы создания интегрированных производств в фармацевтической отрасли.   2. Создание интегрированных производств лекарственных средств Одним из основополагающих принципов управления является формирование организационной структуры компании. В настоящее время в поисках более ...

Скачать
63465
7
1

... Синтетический учет необходим для получения сводных данных, характеризующих финансово – хозяйственную деятельность организации для составления баланса и отчетности. Одним из важнейших средств обобщения данных текущего бухгалтерского учета являются оборотные ведомости. Они составляются на основе как синтетических, так и аналитических счетов. Оборотная ведомость по синтетическим счетам служит для ...

0 комментариев


Наверх