Автор работы: Пользователь скрыл имя, 21 Декабря 2010 в 01:28, курсовая работа
В данной курсовой работе рассматривается программа автоматизированного ведения продажи, завоза и учета медикаментов в аптеке. Прилагаются описания структуры и каждой таблицы (вплоть до каждого поля) созданной базы данных, каждой формы программы, поясняется назначение каждого элемента формы.
1. Задание. 4
2.Введение.
5
3.Описание базы данных.
7
1.Описание структуры базы данных.
7
2.Описание таблиц и полей таблиц.
8
4.Описание программы.
8
1.Главная форма.
8
4.2. Завоз медикаментов. 9
4.3. Продажа медикаментов. 9
4.4. Смена режима работы. 10
4.5. Выборка записей. 10
4.6. смена паролей. 10
4.7. Отчеты. 11
5.Заключение.
12
6.Список литературы.
13
Приложение
num:word;
Procedure GenerateReport;
begin
rash:=0;
doh:=0;
num:=0;
TableNakl.First;
while not TableNakl.Eof do begin
DecodeDate(TableNakl.
if (year=curyear) and (month=curmonth-1) then begin;
inc(num);
rash:=rash+TableNakl.
doh:=doh+TableNakl.
TableTov.FieldByName('Price').
end;
TableNakl.Next;
end;
assignfile(f,'report.txt');
If Fileexists('report.txt') then append(f)
else rewrite(f);
Writeln(f);
Writeln(f,'====
Отчет за ',curmonth-1,'/',curyear,'г ==
Writeln(f);
Writeln(f,'Совершено ',num,' сделок на общую сумму ',rash,' рублей.');
Writeln(f,'Ожидаемая выручка от реализации ',doh-rash);
closefile(f);
end;
begin
If not PassForm.regexists then begin
ShowMessage('Ключи паролей не найдены и будут воссозданы');
PropForm.writereg('Продажа','
PropForm.writereg('Завоз','2')
PropForm.writereg('
end;
Mode:='Просмотр';
Rights;
DecodeDate(Date,curyear,
if curday=1 then GenerateReport;
end;
procedure TMainForm.SaleButtonClick(
begin
with SaleForm do begin
SpinEdit1.MaxValue:=TableTov.
SpinEdit1.Value:=TableTov.
ShowModal;
end;
end;
procedure TMainForm.RecieveButtonClick(
begin
RecieveForm.ShowModal;
end;
procedure TMainForm.ReportButtonClick(
begin
ReportForm.ShowModal;
end;
procedure TMainForm.PropButtonClick(
begin
PropForm.ShowModal;
end;
procedure TMainForm.SelectButtonClick(
begin
SelectForm.SortButton.Visible:
SelectForm.SelectButton.
SelectForm.Caption:='Найти все';
SelectForm.Height:=260;
SelectForm.Panel1.Visible:=
CancelSelection:=false;
SelectForm.Show;
end;
procedure TMainForm.SaveButtonClick(
begin
If TableTov.State in [dsInsert,dsEdit] then TableTov.Post;
If TableNakl.State in [dsInsert,dsEdit] then TableNakl.Post;
If TablePost.State in [dsInsert,dsEdit] then TablePost.Post;
end;
procedure TMainForm.
begin
SelectForm.SortButton.Visible:
SelectForm.Caption:='Отменить выборку';
SelectForm.SelectButton.
SelectForm.Height:=140;
SelectForm.Panel1.Visible:=
SelectForm.Show;
CancelSelection:=true;
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
QueryTov.Active:=false;
QueryNakl.Active:=false;
QueryPost.Active:=false;
end;
end.
unit FindUnit;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls;
type TSelectForm = class(TForm)
RadioGroup1: TRadioGroup;
SelectButton: TButton;
ExitButton: TButton;
Panel1: TPanel;
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
ComboBox2: TComboBox;
Label3: TLabel;
Edit1: TEdit;
SortButton: TButton;
procedure ExitClick(Sender: TObject);
procedure SelectButtonClick(Sender: TObject);
procedure SortClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var SelectForm: TSelectForm;
Selecttype:boolean;
CancelSelection:boolean;
implementation
uses MainUnit;
{$R *.dfm}
procedure TSelectForm.ExitClick(Sender: TObject);
begin
Close;
end;
procedure TSelectForm.SelectButtonClick(
begin
With MainForm do
case RadioGroup1.ItemIndex of
0: begin
QueryTov.Active:=false;
QueryTov.SQL.Clear;
If CancelSelection Then begin
QueryTov.SQL.Add('Select * From Tovar');
DataSourceTov.DataSet:=
end
else begin
DataSourceTov.DataSet:=
QueryTov.SQL.Add('Select * From Tovar where '+ComboBox1.Text);
If SelectType then QueryTov.SQL.Add(ComboBox2.
else QueryTov.SQL.Add(' Like "'+Edit1.text+'"');
end;
QueryTov.Active:=true;
end;
1: begin
QueryNakl.Active:=false;
QueryNakl.SQL.Clear;
If CancelSelection Then begin
QueryNakl.SQL.Add('Select * From Nakladnie');
DataSourceNakl.DataSet:=
end
else begin
DataSourceNakl.DataSet:=
QueryNakl.SQL.Add('Select * From Nakladnie where '+ComboBox1.Text);
If SelectType then
QueryNakl.SQL.Add(' '+ComboBox2.Text+' '+Edit1.text)
else QueryNakl.SQL.Add(' Like "'+Edit1.text+'"');
end;
QueryNakl.Active:=true;
end;
2: begin
QueryPost.Active:=false;
QueryPost.SQL.Clear;
If CancelSelection Then begin
QueryPost.SQL.Add('Select * From Postavschik');
DataSourcePost.DataSet:=
end
else begin
DataSourcePost.DataSet:=
QueryPost.SQL.Add('Select * From Postavschik where '+ComboBox1.Text);
If SelectType then
QueryPost.SQL.Add(' '+ComboBox2.Text+' '+Edit1.text)
else QueryPost.SQL.Add(' Like "'+Edit1.text+'"');
end;
QueryPost.Active:=true;
end;
end;
Close;
end;
procedure TSelectForm.RadioGroup1Click(
begin
case RadioGroup1.ItemIndex of
0:begin ComboBox1.Items:=MainForm.
1:begin ComboBox1.Items:=MainForm.
2:begin ComboBox1.Items:=MainForm.
end;
end;
procedure TSelectForm.ComboBox1Change(
begin
Combobox2.Items.Clear;
If (ComboBox1.Text='Price') or
(ComboBox1.Text='Col') or
(ComboBox1.Text='Recieved') or
(ComboBox1.Text='Sum')
then begin
Combobox2.Items.Add('=');
Combobox2.Items.Add('>');
Combobox2.Items.Add('<');
Combobox2.Items.Add('>=');
Combobox2.Items.Add('<=');
Combobox2.Items.Add('<>');
Selecttype:=true;
end
else If (ComboBox1.Text='TovarCode') or
(ComboBox1.Text='NaklNum') or
(ComboBox1.Text='PostCode')
then begin
Combobox2.Items.Add('=');
Combobox2.ItemIndex:=0;
Selecttype:=true;
end
else If (ComboBox1.Text='TovarName') or
(ComboBox1.Text='PostName')
then begin
Combobox2.Items.Add('
Combobox2.ItemIndex:=0;
Selecttype:=false;
end;
end;
procedure TSelectForm.SortClick(Sender: TObject);
Var txt:string;
begin
txt:=ComboBox1.Text;
With MainForm do
case RadioGroup1.ItemIndex of
0:begin
QueryTov.Active:=false;
QueryTov.SQL.Clear;
DataSourceTov.DataSet:=
QueryTov.SQL.Add('Select * From Tovar where '+txt+'='+Txt+' order by '+txt);
QueryTov.Active:=true;
end;
1:begin
QueryNakl.Active:=false;
QueryNakl.SQL.Clear;
DataSourceNakl.DataSet:=
QueryNakl.SQL.Add('Select * From Nakladnie where '+Txt+'='+txt+' order by '+Txt);
QueryNakl.Active:=true;
end;
2:begin
QueryPost.Active:=false;
QueryPost.SQL.Clear;
DataSourcePost.DataSet:=
QueryPost.SQL.Add('Select * From Postavschik where '+Txt+'='+Txt+' order by '+Txt);
QueryPost.Active:=true;
end;
end;
Close;
end;end.
unit PassUnit;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Registry;
type TPassForm = class(TForm)
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
PassButton: TButton;
CancelButton: TButton;
procedure ComboBoxChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ChMode;
procedure PassButtonClick(Sender: TObject);
procedure CancelButtonClick(Sender: TObject);
function regexists:boolean;
private { Private declarations }
public { Public declarations }
end;
var PassForm: TPassForm;
Mode:string[20];
SalerPwd, RecieverPwd, AdminPwd:string[10];
Информация о работе Разработка информационно-справочной системы «Аптека»