Разработка информационно-справочной системы «Аптека»

Автор работы: Пользователь скрыл имя, 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
Приложение

Файлы: 1 файл

трп курсовая Аптека.doc

— 246.00 Кб (Скачать файл)

implementation

uses mainunit;

{$R *.DFM}

Function TPassForm.regexists:boolean;

Var reg:tregistry;

begin

regexists:=true;

Reg:=TRegistry.Create;

Reg.RootKey:=HKEY_CURRENT_USER;

If REG.OpenKey('Software\OM',true) then begin

  if REG.ValueExists('Продажа') then  SalerPwd:=REG.ReadString('Продажа')

  else regexists:=false;

  if REG.ValueExists('Завоз') then   RecieverPwd:=REG.ReadString('Завоз')

    else regexists:=false;

  if REG.ValueExists('Администрирование') then   AdminPwd:=REG.ReadString('Администрирование')

    else regexists:=false;

    end

else ShowMessage('Ошибка  работы с реестром');

REG.CloseKey;

Reg.Destroy;

end;

Procedure TPassForm.ChMode;

begin

If ComboBox1.Text='Просмотр' then begin

                                Label2.enabled:=false;

                                Edit1.enabled:=false;

                                Edit1.text:='';

                               end

else begin

      Label2.enabled:=true;

      edit1.enabled:=true;

    end;

end;

procedure TPassForm.ComboBoxChange(Sender: TObject);

begin

ChMode;

end;

procedure TPassForm.FormCreate(Sender: TObject);

var Reg:TRegistry;

begin

ChMode;

end;

procedure TPassForm.PassButtonClick(Sender: TObject);

var modestr,pwd:shortstring;

begin

modestr:=AnsiUppercase(Combobox1.text);

pwd:=Edit1.text;

If (modestr='ПРОСМОТР') or

    ((modestr='АДМИНИСТРИРОВАНИЕ') and (pwd=AdminPwd)) or

    ((modestr='ПРОДАЖА')           and (pwd=SalerPwd)) or

    ((modestr='ЗАВОЗ')             and (pwd=RecieverPwd))

     then Mode:=Combobox1.text

     else ShowMessage('Не верно задан режим  '+modestr+#13+'или неверно введен пароль  для режима '+modestr);

Close;

end;

procedure TPassForm.CancelButtonClick(Sender: TObject);

begin

Close;

end;end. 

unit PropUnit;

interface

uses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls, Registry;

type  TPropForm = class(TForm)

    ChPassButton: TButton;

    ExitButton: TButton;

    ComboBox1: TComboBox;

    Label1: TLabel;

    Label2: TLabel;

    Edit1: TEdit;

    Label3: TLabel;

    Edit2: TEdit;

    procedure ExitButtonClick(Sender: TObject);

    procedure ChPassButtonClick(Sender: TObject);

    Procedure writereg(name,value:string);

  private    { Private declarations }

  public    { Public declarations }

  end;

var  PropForm: TPropForm;

implementation

{$R *.DFM}

Procedure TPropForm.writereg(name,value:string);

var Reg:TRegistry;

begin

  Reg:=Tregistry.Create;

  Reg.Rootkey:=HKEY_CURRENT_USER;

  Reg.OpenKey('Software\OM',true);

  Reg.WriteString(name,value);

  Reg.CloseKey;

  Reg.Destroy;

end;

procedure TPropForm.ExitButtonClick(Sender: TObject);

begin

Close;

end;

procedure TPropForm.ChPassButtonClick(Sender: TObject);

begin

If Edit1.text<>Edit2.text then ShowMessage('Пароли не совппадают')

else if length(Edit1.text)>10 then Showmessage('Пароль должен быть не более 10 символов')

else writereg(ComboBox1.text,Edit1.text);

end;

end. 

unit RecieveUnit;

interface

uses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls, DBCtrls, Spin, ExtCtrls, ComCtrls;

type  TRecieveForm = class(TForm)

    AddButton: TButton;

    CancelButton: TButton;

    DBLookupComboBox1: TDBLookupComboBox;

    SpinEdit2: TSpinEdit;

    SpinEdit3: TSpinEdit;

    Label1: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label6: TLabel;

    Bevel1: TBevel;

    Bevel2: TBevel;

    DateTimePicker1: TDateTimePicker;

    Label7: TLabel;

    DBLookupComboBox2: TDBLookupComboBox;

    Label8: TLabel;

    CheckBox1: TCheckBox;

    Edit1: TEdit;

    ComboBox1: TComboBox;

    Label9: TLabel;

    Label10: TLabel;

    CheckBox2: TCheckBox;

    Edit2: TEdit;

    Edit3: TEdit;

    Label11: TLabel;

    Edit4: TEdit;

    procedure CancelButtonClick(Sender: TObject);

    procedure NewPostButtonClick(Sender: TObject);

    procedure AddButtonClick(Sender: TObject);

    procedure CheckBox1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure CheckBox2Click(Sender: TObject);

  private    { Private declarations }

  public    { Public declarations }

  end;

var  RecieveForm: TRecieveForm;

implementation

uses mainunit;

{$R *.DFM}

procedure TRecieveForm.CancelButtonClick(Sender: TObject);

begin

Close;

end;

procedure TRecieveForm.AddButtonClick(Sender: TObject);

begin

with MainForm do begin

If CheckBox1.checked then

   begin

     TableTov.Insert;

     TableTov.FieldByName('TovarName').AsString:=Edit1.Text;

     TableTov.FieldByName('EdIzm').AsString:=ComboBox1.Text;

     TableTov.FieldByName('Price').AsFloat:=strtofloat(Edit4.Text);

     TableTov.FieldByName('Col').AsInteger:=SpinEdit2.Value;

     TableTov.Post;

   end

//Увеличиваем  количество в таблице "медикаменты"

else begin

TableTov.edit;

TableTov.FieldByName('Col').AsInteger:= TableTov.FieldByName('Col').AsInteger+SpinEdit2.Value;

TableTov.post;

 end;

  //Дополняем  таблицу "Накладные"

 TableNakl.Insert;

If not (CheckBox1.checked) then TableNakl.FieldByName('TovarCode').AsInteger:=strtoint(DBLookUpComboBox1.text)

                           else  TableNakl.FieldByName('TovarCode').AsInteger:=TableTov.FieldByName('TovarCode').AsInteger;

TableNakl.FieldByName('Date').AsDateTime:=DateTimePicker1.Date;

TableNakl.FieldByName('Sum').AsInteger:=SpinEdit3.Value;

TableNakl.FieldByName('Recieved').AsInteger:=Spinedit2.Value;

If CheckBox2.checked then

  begin

   TablePost.Insert;

   TablePost.FieldByName('PostName').AsString:=Edit2.text;

   TablePost.FieldByName('PostPhone').AsInteger:=strtoint(Edit3.text);

   TablePost.Post;

   TableNakl.FieldByName('PostCode').AsInteger:=TablePost.FieldByName('PostCode').AsInteger;

  end

  else  TableNakl.FieldByName('PostCode').AsInteger:=strtoint(DBLookUpComboBox2.Text);

TableNakl.Post;

end;

end;

procedure TRecieveForm.CheckBox1Click(Sender: TObject);

begin

DBLookupComboBox1.enabled:=not(DBLookupComboBox1.enabled);

edit1.enabled:=not(edit1.enabled);

ComboBox1.enabled:=not(ComboBox1.enabled);

Edit4.enabled:=not(Edit4.enabled);

end;

procedure TRecieveForm.FormCreate(Sender: TObject);

begin

Edit1.enabled:=false;

ComboBox1.enabled:=false;

Edit4.enabled:=false;

Edit2.enabled:=false;

Edit3.enabled:=false;

end;

procedure TRecieveForm.CheckBox2Click(Sender: TObject);

begin

DBLookupComboBox2.enabled:=not(DBLookupComboBox2.enabled);

Edit2.enabled:=not(Edit2.enabled);

Edit3.enabled:=not(Edit3.enabled);

end;

end. 

unit reportUnit;

interface

uses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls;

type  TReportForm = class(TForm)

    Memo1: TMemo;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private    { Private declarations }

  public    { Public declarations }

  end;

var  ReportForm: TReportForm;

implementation

{$R *.DFM}

procedure TReportForm.Button1Click(Sender: TObject);

begin

Close;

end;

procedure TReportForm.FormCreate(Sender: TObject);

begin

if fileexists('report.txt') then Memo1.Lines.LoadFromFile('report.txt')

else ShowMessage('Файл report.txt в текущем каталоге не найден');

end;end. 

unit SaleUnit;

interface

uses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  DBCtrls, StdCtrls, Db, DBTables, Mask, Spin, Printers;

type  TSaleForm = class(TForm)

    Label1: TLabel;

    SaleYesButton: TButton;

    SailCancelButton: TButton;

    SpinEdit1: TSpinEdit;

    NaklButton: TButton;

    procedure SailCancelButtonClick(Sender: TObject);

    procedure SaleYesButtonClick(Sender: TObject);

    procedure NaklButtonClick(Sender: TObject);

  private    { Private declarations }

  public    { Public declarations }

  end;

var  SaleForm: TSaleForm;

implementation

uses mainunit;

{$R *.DFM}

procedure TSaleForm.SailCancelButtonClick(Sender: TObject);

begin

Close;

end;

procedure TSaleForm.SaleYesButtonClick(Sender: TObject);

begin

with MainForm do begin

TableTov.Edit;

TableTov.Fields[4].AsInteger:=TableTov.Fields[4].AsInteger - SaleForm.SpinEdit1.Value;

TableTov.Post;

end;

end;

procedure TSaleForm.NaklButtonClick(Sender: TObject);

begin

printer.begindoc;

with printer.canvas do begin

textout(200,80,'Накладная  №______');

textout(80,100,'Дата');

textout(280,100,'Продавец');

textout(480,100,'Адрес');

DateSeparator := '.';

textout(80,120,DateToStr(Date));

Информация о работе Разработка информационно-справочной системы «Аптека»