Автоматизированное рабочее место администратора фитнес-клуба

Автор: Пользователь скрыл имя, 05 Апреля 2012 в 16:58, дипломная работа

Описание работы

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

Содержание

Введение
Глава 1. Аналитическая часть
1.1. Понятия и характеристика баз данных
1.2. Анализ предметной области «Автоматизированное рабочее место администратора фитнес-клуба»
1.2.1. Должностная инструкция администратора фитнес-клуба
1.2.2. Особенности автоматизации работы фитнес-клуба
Глава 2. Проектная часть
2.1. Инфологическое проектирование. Создание ER-диаграммы
2.2. Логическое проектирование
2.3. Нормализация таблиц реляционной базы данных
2.4. Применение CASE-средства ERwin для информационного проектирования
Глава 3. Разработка и реализация приложения
3.1. Выбор средств создания интерфейса
3.2. Разработка интерфейса
3.3. Программирование работы приложения в среде Borland Delphi 7
Заключение
Список литературы
Приложения

Работа содержит 1 файл

Дипломная работа Хакмовой Р.Р..doc

— 2.79 Мб (Скачать)

         if (chbClient.Checked=True)and(chbRoom.Checked=True)and(chbDate.Checked=False) then

         Filt:='(КлиентID='+IntToStr(c)+') and (ЗалID='+IntToStr(r)+')';

         if (chbClient.Checked=True)and(chbRoom.Checked=False)and(chbDate.Checked=True) then

         Filt:='(КлиентID='+IntToStr(c)+') and (Дата>='+DateToStr(dtpDateFrom.Date)+') and (Дата<'+DateToStr(dtpDateTo.Date)+')';

         if (chbClient.Checked=False)and(chbRoom.Checked=True)and(chbDate.Checked=True) then

         Filt:='(ЗалID='+IntToStr(r)+') and (Дата>='+DateToStr(dtpDateFrom.Date)+') and (Дата<'+DateToStr(dtpDateTo.Date)+')';

         //3

         if (chbClient.Checked=True)and(chbRoom.Checked=True)and(chbDate.Checked=True) then

         Filt:='(КлиентID='+IntToStr(c)+') and (ЗалID='+IntToStr(r)+') and (Дата>='+DateToStr(dtpDateFrom.Date)+') and (Дата<'+DateToStr(dtpDateTo.Date)+')';

         with uDM.DM.tbRegistration do

                       begin

                          Filter:=Filt;

               Filtered:=True;

                       end;

      end;

   procedure TfmRegistration.bbtPrintClick(Sender: TObject);

      var

                    ExcelApp,range: OLEVariant;

                    row: Integer;

         CellFrom,CellTo: string;

      begin

         try

                       ExcelApp := CreateOleObject('Excel.Application');

         except

                       Exit;

         end;

                       ExcelApp.Visible := True;

            ExcelApp.Workbooks.Add;

            ExcelApp.WorkSheets[1].Cells[1, 1]:=DateToStr(Now);

            range:=ExcelApp.WorkSheets[1].Range['A1', 'A2'];

            range.columnWidth:=13;

            range:=ExcelApp.WorkSheets[1].Range['B1', 'B2'];

            range.columnWidth:=13;

            range:=ExcelApp.WorkSheets[1].Range['C1', 'C2'];

            range.columnWidth:=25;

            range:=ExcelApp.WorkSheets[1].Range['D1', 'D2'];

            range.columnWidth:=25;

            range:=ExcelApp.WorkSheets[1].Range['E1', 'E2'];

            range.columnWidth:=25;

            range:=ExcelApp.WorkSheets[1].Range['A2', 'E2'];

            range.font.size:=12;

            range.font.bold:=True;

            ExcelApp.WorkSheets[1].Cells[2, 4]:='Предварительная запись';

            range:=ExcelApp.WorkSheets[1].Range['A4', 'E4'];

            range.font.bold:=True;

            range.HorizontalAlignment := 3;

            ExcelApp.WorkSheets[1].Cells[4, 1]:='Дата';

            ExcelApp.WorkSheets[1].Cells[4, 2]:='Время';

            ExcelApp.WorkSheets[1].Cells[4, 3]:='Клиент';

            ExcelApp.WorkSheets[1].Cells[4, 4]:='Зал';

            ExcelApp.WorkSheets[1].Cells[4, 5]:='Комментарий';

            if uDM.DM.tbRegistration.RecordCount>0 then

                          begin

                  row:=5;

                             with uDM.DM.tbRegistration do

                                begin

                                   First;

                        while Eof=False do

                                      begin

                              ExcelApp.WorkSheets[1].Cells[row, 1]:=Fields[0].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 2]:=FormatDateTime('tt AM/PM',Fields[1].AsDateTime);

                              ExcelApp.WorkSheets[1].Cells[row, 3]:=Fields[5].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 4]:=Fields[6].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 5]:=Fields[4].AsString;

                                         Next;

                              row:=row+1;

                                      end;

                        First;

                     end;

                  CellFrom := 'A5';

                  CellTo := 'A' + InttoStr(row-1);

                  range:=ExcelApp.WorkSheets[1].Range[CellFrom, CellTo];

                  range.HorizontalAlignment := 3;

                  CellFrom := 'B5';

                  CellTo := 'B' + InttoStr(row-1);

                  range:=ExcelApp.WorkSheets[1].Range[CellFrom, CellTo];

                  range.HorizontalAlignment := 3;

                  CellFrom := 'A4';

                  CellTo := 'E' + InttoStr(row-1);

                  range:=ExcelApp.WorkSheets[1].Range[CellFrom, CellTo];

                  range.Borders.Weight := 2;

                          end;

      end;

procedure TfmRegistration.bbtExitClick(Sender: TObject);

begin

fmRegistration.Close;

end;

end.

 

////////

unit uClients;

interface

uses

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

  ExtCtrls, StdCtrls, DBCtrls, Buttons, ExtDlgs, DBGrids, Grids, Mask, DB,

  ComObj, jpeg;

type

  TfmClients = class(TForm)

    Panel1: TPanel;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    DBEdit1: TDBEdit;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    Splitter1: TSplitter;

    DBEdit4: TDBEdit;

    Label4: TLabel;

    Label5: TLabel;

    DBEdit5: TDBEdit;

    DBEdit6: TDBEdit;

    Label6: TLabel;

    Label7: TLabel;

    DBEdit7: TDBEdit;

    DBEdit8: TDBEdit;

    Label8: TLabel;

    DBCheckBox1: TDBCheckBox;

    DBNavigator1: TDBNavigator;

    bbtExit: TBitBtn;

    Bevel1: TBevel;

    Label9: TLabel;

    edFirstName: TEdit;

    CheckBox1: TCheckBox;

    Label10: TLabel;

    lbQuantity: TLabel;

    DBImage1: TDBImage;

    OpenPictureDialog1: TOpenPictureDialog;

    btFoto: TButton;

    Panel2: TPanel;

    DBGrid1: TDBGrid;

    DBGrid2: TDBGrid;

    Splitter2: TSplitter;

    bbtPrint: TBitBtn;

    procedure edFirstNameChange(Sender: TObject);

    procedure CheckBox1Click(Sender: TObject);

    procedure btFotoClick(Sender: TObject);

    procedure bbtPrintClick(Sender: TObject);

    procedure bbtExitClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  fmClients: TfmClients;

implementation

uses uDM;

   procedure TfmClients.edFirstNameChange(Sender: TObject);

      begin

         if edFirstName.Text='' then

            begin

               uDM.DM.tbClients.First;

            end

         else

            begin

               uDM.DM.tbClients.Locate('Фамилия',edFirstName.Text,[loCaseInsensitive,loPartialKey]);

            end;

      end;

   procedure TfmClients.CheckBox1Click(Sender: TObject);

      begin

         if CheckBox1.Checked=True then

            begin

               with uDM.DM.tbClients do

                  begin

                     Filter:='';

                     Filter:='Активен=True';

                     Filtered:=True;

                  end;

            end

         else

            begin

               uDM.DM.tbClients.Filtered:=False;

            end;

      end;

   procedure TfmClients.btFotoClick(Sender: TObject);

      var

                    b: TBitmap;

         j: TJPEGImage;

         ext:string;

      begin

         if OpenPictureDialog1.Execute then

                       begin

                          ext:=ExtractFileExt(OpenPictureDialog1.FileName);

                                     if (ext='.jpg') or (ext='.jpeg') then

                                                   begin

                                                      uDM.DM.tbClients.Edit;

                                                                  b:=TBitmap.Create;

                                           j := TJPEGImage.Create;

                                                                  j.LoadFromFile(OpenPictureDialog1.FileName);

                                           b.Assign(j);

                                                                  DBImage1.Picture.Graphic.Assign(b);

                                                                  uDM.DM.tbClients.Post;

                                                   end;

               if (ext='.bmp') then

                             begin

                                uDM.DM.tbClients.Edit;

                     b:=TBitmap.Create;

                                           b.LoadFromFile(OpenPictureDialog1.FileName);

                                           DBImage1.Picture.Graphic.Assign(b);

                                           uDM.DM.tbClients.Post;

                  end

               else

                             begin

                                Exit;

                  end;

            end;

      end;

procedure TfmClients.bbtPrintClick(Sender: TObject);

      var

                    ExcelApp,range: OLEVariant;

                    row: Integer;

         CellFrom,CellTo: string;

      begin

         try

                       ExcelApp := CreateOleObject('Excel.Application');

         except

                       Exit;

         end;

                       ExcelApp.Visible := True;

            ExcelApp.Workbooks.Add;

            ExcelApp.WorkSheets[1].Cells[1, 1]:=DateToStr(Now);

            range:=ExcelApp.WorkSheets[1].Range['A1', 'A2'];

            range.columnWidth:=18;

            range:=ExcelApp.WorkSheets[1].Range['B1', 'B2'];

            range.columnWidth:=18;

            range:=ExcelApp.WorkSheets[1].Range['C1', 'C2'];

            range.columnWidth:=18;

            range:=ExcelApp.WorkSheets[1].Range['D1', 'D2'];

            range.columnWidth:=9;

            range:=ExcelApp.WorkSheets[1].Range['E1', 'E2'];

            range.columnWidth:=15;

            range:=ExcelApp.WorkSheets[1].Range['F1', 'F2'];

            range.columnWidth:=22;

            range:=ExcelApp.WorkSheets[1].Range['G1', 'G2'];

            range.columnWidth:=27;

            range:=ExcelApp.WorkSheets[1].Range['H1', 'H2'];

            range.columnWidth:=20;

            range:=ExcelApp.WorkSheets[1].Range['I1', 'I2'];

            range.columnWidth:=15;

            range:=ExcelApp.WorkSheets[1].Range['A2', 'E2'];

            range.font.size:=12;

            range.font.bold:=True;

            ExcelApp.WorkSheets[1].Cells[2, 4]:='Клиенты';

            range:=ExcelApp.WorkSheets[1].Range['A4', 'I4'];

            range.font.bold:=True;

            range.HorizontalAlignment := 3;

            ExcelApp.WorkSheets[1].Cells[4, 1]:='Фамилия';

            ExcelApp.WorkSheets[1].Cells[4, 2]:='Имя';

            ExcelApp.WorkSheets[1].Cells[4, 3]:='Отчество';

            ExcelApp.WorkSheets[1].Cells[4, 4]:='Активен';

            ExcelApp.WorkSheets[1].Cells[4, 5]:='Дата рождения';

            ExcelApp.WorkSheets[1].Cells[4, 6]:='Телефоны';

            ExcelApp.WorkSheets[1].Cells[4, 7]:='Адрес';

            ExcelApp.WorkSheets[1].Cells[4, 8]:='Договор';

            ExcelApp.WorkSheets[1].Cells[4, 9]:='Кол-во визитов';

            if uDM.DM.tbClients.RecordCount>0 then

                          begin

                  row:=5;

                             with uDM.DM.tbClients do

                                begin

                                   First;

                        while Eof=False do

                                      begin

                              ExcelApp.WorkSheets[1].Cells[row, 1]:=Fields[1].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 2]:=Fields[2].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 3]:=Fields[3].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 4]:=Fields[10].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 5]:=Fields[4].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 6]:=Fields[5].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 7]:=Fields[6].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 8]:=Fields[7].AsString;

                              ExcelApp.WorkSheets[1].Cells[row, 9]:=Fields[9].AsString;

                                         Next;

                              row:=row+1;

                                      end;

                        First;

                     end;

                  CellFrom := 'D5';

                  CellTo := 'D' + InttoStr(row-1);

                  range:=ExcelApp.WorkSheets[1].Range[CellFrom, CellTo];

                  range.HorizontalAlignment := 3;

                  CellFrom := 'E5';

                  CellTo := 'E' + InttoStr(row-1);

                  range:=ExcelApp.WorkSheets[1].Range[CellFrom, CellTo];

                  range.HorizontalAlignment := 3;

                  CellFrom := 'I5';

                  CellTo := 'I' + InttoStr(row-1);

                  range:=ExcelApp.WorkSheets[1].Range[CellFrom, CellTo];

                  range.HorizontalAlignment := 3;

                  CellFrom := 'A4';

                  CellTo := 'I' + InttoStr(row-1);

                  range:=ExcelApp.WorkSheets[1].Range[CellFrom, CellTo];

                  range.Borders.Weight := 2;

                          end;

      end;

procedure TfmClients.bbtExitClick(Sender: TObject);

begin

fmClients.Close;

end;

end.

 

///////

unit uRooms;

interface

uses

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

  ExtCtrls, DBCtrls, Buttons, DBGrids, Grids, StdCtrls;

type

  TfmRooms = class(TForm)

    Panel1: TPanel;

    DBNavigator1: TDBNavigator;

    bbtExit: TBitBtn;

    DBGrid1: TDBGrid;

    procedure bbtExitClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  fmRooms: TfmRooms;

implementation

procedure TfmRooms.bbtExitClick(Sender: TObject);

begin

fmRooms.Close;

end;

end.

 

//////

unit uVisits;

interface

uses

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

  ExtCtrls, StdCtrls, DBCtrls, Buttons, DBGrids, ComCtrls, Grids, Mask,Variants,ComObj;

type

  TfmVisits = class(TForm)

    Panel1: TPanel;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    DBEdit1: TDBEdit;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    bbtExit: TBitBtn;

    DBNavigator1: TDBNavigator;

    DBGrid1: TDBGrid;

    Splitter1: TSplitter;

    DBLookupComboBox1: TDBLookupComboBox;

    Label4: TLabel;

    DBLookupComboBox2: TDBLookupComboBox;

    Label5: TLabel;

    GroupBox1: TGroupBox;

    dblcbClient: TDBLookupComboBox;

    chbClient: TCheckBox;

    chbRoom: TCheckBox;

    dblcbRoom: TDBLookupComboBox;

    chbDate: TCheckBox;

    Label6: TLabel;

    Bevel1: TBevel;

    dtpDateFrom: TDateTimePicker;

    dtpDateTo: TDateTimePicker;

    Label7: TLabel;

    DBEdit4: TDBEdit;

    bbtPrint: TBitBtn;

    procedure chbClientClick(Sender: TObject);

    procedure bbtPrintClick(Sender: TObject);

    procedure bbtExitClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  fmVisits: TfmVisits;

implementation

uses uDM;

procedure TfmVisits.chbClientClick(Sender: TObject);

      var

                    filt:string;

         c,r:Integer;

      begin

         if dblcbClient.KeyValue=null then c:=0

         else c:=dblcbClient.KeyValue;

         if dblcbRoom.KeyValue=null then r:=0

         else r:=dblcbRoom.KeyValue;

         //0

         if (chbClient.Checked=False)and(chbRoom.Checked=False)and(chbDate.Checked=False) then

         Filt:='';

         //1

         if (chbClient.Checked=True)and(chbRoom.Checked=False)and(chbDate.Checked=False) then

         Filt:='КлиентID='+IntToStr(c);

         if (chbClient.Checked=False)and(chbRoom.Checked=True)and(chbDate.Checked=False) then

         Filt:='ЗалID='+IntToStr(r);

         if (chbClient.Checked=False)and(chbRoom.Checked=False)and(chbDate.Checked=True) then

         Filt:='(Дата>='+DateToStr(dtpDateFrom.Date)+') and (Дата<'+DateToStr(dtpDateTo.Date)+')';

         //2

         if (chbClient.Checked=True)and(chbRoom.Checked=True)and(chbDate.Checked=False) then

         Filt:='(КлиентID='+IntToStr(c)+') and (ЗалID='+IntToStr(r)+')';

         if (chbClient.Checked=True)and(chbRoom.Checked=False)and(chbDate.Checked=True) then

         Filt:='(КлиентID='+IntToStr(c)+') and (Дата>='+DateToStr(dtpDateFrom.Date)+') and (Дата<'+DateToStr(dtpDateTo.Date)+')';

Информация о работе Автоматизированное рабочее место администратора фитнес-клуба