Для маніпуляцій з записами розроблені функції: сортування, додавання запису, редагування та видалення запису.
Вікно додавання запису містить поля для вводу даних, співпадаючих зі стовбцями таблиці бази даних.
Функція видалення строки з таблиці. Для цього виділяємо необхідно строку, натискаємо кнопку «Видалити запис», після чого з’являється вікно підтвердження операції, якщо користувач хоче продовжити, то натискаємо «Да» .
Наведемо програмну реалізацію функції видалення строки:TForm1.Button9Click(Sender: TObject);MessageBox(0, PChar('Видалити запис: '+DM.ADOTable1DSDesigner.AsString+'?'), 'Ви впевнені?', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2)=id_yesDM.ADOTable1.Delete;;
Функція редагування даних таблиці.
Обраний запис БД відкривається в такому вигляді після натискання кнопки
«Редагувати запис». Після чого корегуємо необхідний запис та зберігаємо зміни.
3.3
Інструкція роботи з програмою
Для початку роботи запускаємо файл під назвою «MenegerRedactor.exe». Після відкриття форми авторизації, користувачу треба зареєструватися - ввести логін та пароль до відповідних полів, після чого натиснути кнопку «Реєстрація» і одразу «Авторизуватися». Для повторного користування програмою не потрібно повторювати процес реєстрації, необхідно ввести вже збережені дані до полів.
Після відкриття головної форми програми користувач побачить чотири вкладки: співробітники салону, клієнти салону, послуги, текстовий редактор. Вкладки співробітників, клієнтів, послуг салону надають можливість доступ до БД косметичного салону. Для таблиць на вкладках передбачені поля сортування, кнопки редагування, видалення та додавання записів.
Розглянемо функції в дії:
а) сортування - виділити строку таблиці та в «Поле сортування» вибрати назву стовбцю по якому будемо сортувати, а в графі «Напрямок сортування» вибрати по зростання чи за спаданням сортувати записи таблиці;
б) видалення запису - виділити потрібний запис та натиснути кнопку «Видалити запис», після чого з’явиться повідомлення в якому необхідно підтвердити або відмінити дію користувача;
в) додати новий запис до таблиці - обравши таблицю для роботи користувач обов’язково захоче додавати нові записи. Після натискання кнопки «Додати запис» з’явиться форма «Редагування записів», в відповідних полях вводимо інформацію, а натиснувши кнопку «Зберегти» додаємо запис до таблиці БД;
г) редагування існуючого запису таблиці - виділити необхідний запис таблиці, натиснути кнопку «Редагувати запис»,відкриється форма редагування з інформацією обраного запису, в необхідному полі вносимо зміни до записів та натискаємо кнопку «Зберегти».
Текстовий редактор - доповнення до основної програми. Для комфортного використання передбачено ряд функцій:
кнопка «Новий», при її натисканні дозволяє створити новий документ для користувача;
кнопка «Відкрити», при її натисканні відкривається вже готовий документ формату txt;
кнопка «Зберегти» та «Зберегти як…» - зберігає надрукований документ;
кнопка «Розмір шрифту», натискання кнопки дозволяє користувача настроювати шрифт тексту;
кнопка «Колір шрифту», натискання кнопки дозволяє обирати колір шрифту;
кнопка «Фоновий колір» - надає можливість настроїти колір вікна для вводу тексту;
кнопки «Роздрукувати» та «Print. Setup» - якщо користувач хоче скористатися принтером, необхідно використовувати ці дві кнопки, першу безпосередньо для роздрукування, друга для настроювання принтеру;
кнопка «Відкрити малюнок» - функція відкриття малюнку в правому вікні програми;
кнопка «Зберегти малюнок» - надає можливість зберегти відкритий малюнок в необхідному для користувача місці;
кнопка «Замінити текст» - завдяки цієї функції користувач може замінити фрагмент тексту на необхідний;
кнопка «Пошук тексту» - пошук по тексту редактора;
кнопка «Вихід» - вихід з програми зі
збереженням набраного тексту.
ВИСНОВКИ
В ході написання дипломної роботи зроблено:
огляд відомих та поширених програм для автоматизації косметичного салону. В аналізі приймали участь програми різних напрямів і призначень. Також аналізу полягали інтерфейс та функціональні можливості ПЗ, згідно з їх тематики;
виконано знайомство з класами і типами послуг, які є в косметичних салонах,а також з основними правилами ліцензування цих послуг;
сформульовано вимоги до технічних та апаратних характеристик комп’ютерного забезпечення, користувача;
розроблена архітектура, моделі та інтерфейс програми;
створена БД та написана програма в Delphi 7.
У результаті була створена програма для автоматизації КС, яка може бути використана в подібних підприємствах. Програма проста і зрозуміла для будь-якого користувача, для її використання не потрібно спеціальне навчання. При цьому вона виконує перші необхідні функції.
Для створення бази даних використовувався Microsoft Office Access. Для написання програми використовувалася мова програмування Delphi, яка має широкі можливості для роботи з базами даних. З'єднання з базою даних здійснено за допомогою технології ADO. Обробка даних проводилася за допомогою операторів мови SQL, що значно прискорює роботу програми.
Програмний продукт придатний для здійснення автоматизації косметичного салону.
ПЕРЕЛІК ПОСИЛАНЬ
1 Салони краси: типи та класи естетичного бізнесу. - Режим доступу: http://www.openbusiness.ru/html/dop5/piter-salon-tip.htm
Варакута С.А., Управління якістю. - Москва, 2008. - 112 с.
Які послуги ліцензуються в салоні краси - ліцензія. - Режим доступу: http://megasite.in.ua/23801-yaki-poslugi-licenzuyutsya-v-saloni-krasi-licenziya.html
Основні можливості програми для салону краси. - Режим доступу: http://salon.x3soft.ru/site/prog/vozmozn.html
Архангельський А.Я. Програмування в Delphi. Підручник з класичним версіями Delphi. - М.: ТОВ «Біном-Пресс», 2006. - 1152 с.: іл.
6 Архангельський А.Я. Програмування в Delphi. - М.: ТОВ «Біном-Пресс», 2004. - 1152 с.: Іл.
Хоменко А.Д. Delphi 7. - СПб.: БХВ Петербург, 2008. - 1216 с.: іл.
Виханский О.С., Наумов А.І., Менеджмент. - Москва, 1998г. - 528 c.
Иванцевич Дж., Лобанов А.А., Людські ресурси управління. - Москва, 1993г. - 120 с.
Д. Сульє, Управління. - Київ, 1992г.
Структури
даних і алгоритми - базові компоненти програми. - Режим доступу:
http://svitohlyad.com.ua/kompyutery/struktury-danyh-i-alhorytmy-bazovi-komponenty-prohramy/
ДОДАТОК А
Текст програмного забезпечення
А.1 Лістинг форми редактора БД програмного продуктуTextRedactor;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, ComCtrls, Menus, StdCtrls, ExtCtrls, Mask,, Jpeg, Printers;= class(TForm)_s: TPageControl;: TTabSheet;: TDBGrid;: TTabSheet;: TTabSheet;: TDBGrid;: TDBGrid;: TRadioGroup;: TRadioGroup;: TRadioGroup;: TRadioGroup;: TRadioGroup;: TRadioGroup;: TGroupBox;: TLabel;: TButton;: TMaskEdit;: TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TTabSheet;: TMemo;: TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TPanel;: TImage;: TButton;: TButton;: TButton;: TButton;: TOpenDialog;: TSaveDialog;: TOpenPictureDialog;: TSavePictureDialog;: TFontDialog;: TColorDialog;: TPrintDialog;: TPrinterSetupDialog;: TFindDialog;: TReplaceDialog;: TButton;: TButton;RadioGroup2Click(Sender: TObject);RadioGroup3Click(Sender: TObject);RadioGroup6Click(Sender: TObject);Button1Click(Sender: TObject);Button4Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button5Click(Sender: TObject);Button6Click(Sender: TObject);Button7Click(Sender: TObject);Button8Click(Sender: TObject);Button9Click(Sender: TObject);Button10Click(Sender: TObject);Button11Click(Sender: TObject);Button22Click(Sender: TObject);Button25Click(Sender: TObject);Button12Click(Sender: TObject);Button24Click(Sender: TObject);Button15Click(Sender: TObject);Button16Click(Sender: TObject);Button23Click(Sender: TObject);Button17Click(Sender: TObject);Button13Click(Sender: TObject);Button14Click(Sender: TObject);Button20Click(Sender: TObject);Button18Click(Sender: TObject);Button19Click(Sender: TObject);FormCreate(Sender: TObject);ReplaceDialog1Replace(Sender: TObject);FindDialog1Find(Sender: TObject);ReplaceDialog1Find(Sender: TObject);Button26Click(Sender: TObject);FormClose(Sender: TObject; var Action: TCloseAction);
{ Private declarations }
{ Public declarations };: TForm1;: string;UnitDM, Redactor, RedactorK, RedactorS;
{$R *.dfm}TForm1.RadioGroup2Click(Sender: TObject);nss: string;RadioGroup1.ItemIndex of
: nss:=' ASC';
: nss:=' DESC';;RadioGroup2 do.ADOTable1.Sort:=Items[ItemIndex]+nss;;TForm1.RadioGroup3Click(Sender: TObject);nsk: string;RadioGroup4.ItemIndex of
: nsk:=' ASC';
: nsk:=' DESC';;RadioGroup3 do.ADOTable2.Sort:=Items[ItemIndex]+nsk;;TForm1.RadioGroup6Click(Sender: TObject);nsp: string;RadioGroup5.ItemIndex of
: nsp:=' ASC';
: nsp:=' DESC';;RadioGroup6 do.ADOTable3.Sort:=Items[ItemIndex]+nsp;;TForm1.Button1Click(Sender: TObject);DM.ADOTable3 do:='[Дата виконання]>='+MaskEdit1.Text;:=True;;;TForm1.Button4Click(Sender: TObject);.ShowModal;;TForm1.Button2Click(Sender: TObject);.ADOTable3.Insert;.ShowModal;;TForm1.Button3Click(Sender: TObject);MessageBox(0, PChar('Видалити запис: '+DM.ADOTable3DSDesigner.AsString
+'?'), 'Ви впевнені?', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2)=id_yesDM.ADOTable3.Delete;;TForm1.Button5Click(Sender: TObject);.ADOTable2.Insert;.ShowModal;;TForm1.Button6Click(Sender: TObject);MessageBox(0, PChar('Видалити запис: '+DM.ADOTable2DSDesigner.AsString
+'?'), 'Ви впевнені?', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2)=id_yesDM.ADOTable2.Delete;;TForm1.Button7Click(Sender: TObject);.ShowModal;;TForm1.Button8Click(Sender: TObject);.ADOTable1.Insert;.ShowModal;;TForm1.Button9Click(Sender: TObject);MessageBox(0, PChar('Видалити запис: '+DM.ADOTable1DSDesigner.AsString
+'?'), 'Ви впевнені?', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2)=id_yesDM.ADOTable1.Delete;;TForm1.Button10Click(Sender: TObject);.ShowModal;;TForm1.Button11Click(Sender: TObject);;;TForm1.Button22Click(Sender: TObject);.Lines.Clear;.Font.Size:=8;.Font.Color:=clWindowText;.Color:=clWindow;;TForm1.Button25Click(Sender: TObject);OpenDialog1.Execute then:=OpenDialog1.FileName;.Lines.LoadFromFile(EditFile);.Caption:='My Word - '+ExtractFileName(EditFile);;;TForm1.Button12Click(Sender: TObject);SaveDialog1.Execute then.Lines.SaveToFile(EditFile); //запись на прямую в файлMemo1.Modified then Memo1.Modified:=false;;TForm1.Button24Click(Sender: TObject);SaveDialog1.Execute then//запись в файл + диалоговое оконо:=SaveDialog1.FileName;.Lines.SaveToFile(EditFile);.Caption:='My Word - '+ExtractFileName(EditFile);Memo1.Modified then Memo1.Modified:=false;;;TForm1.Button15Click(Sender: TObject);FontDialog1.Execute then Memo1.Font:=FontDialog1.Font;;TForm1.Button16Click(Sender: TObject);ColorDialog1.Execute then Memo1.Font.Color:=ColorDialog1.Color;;TForm1.Button23Click(Sender: TObject);ColorDialog1.Execute then Memo1.Color:=ColorDialog1.Color;;TForm1.Button17Click(Sender: TObject);:System.TextFile;:integer;PrintDialog1.Execute then(Stroka);(Stroka);.Canvas.Font:=Memo1.Font;i:=0 to Memo1.Lines.Count-1 do(Stroka,Memo1.Lines[i]);.CloseFile(Stroka);;;TForm1.Button13Click(Sender: TObject);OpenPictureDialog1.Execute then.Picture.LoadFromFile(OpenPictureDialog1.FileName);;TForm1.Button14Click(Sender: TObject);SavePictureDialog1.Execute then.Picture.SaveToFile(SavePictureDialog1.FileName);;TForm1.Button20Click(Sender: TObject);.Execute;;TForm1.Button18Click(Sender: TObject);.Execute;;TForm1.Button19Click(Sender: TObject);.Execute;;TForm1.FormCreate(Sender: TObject);:='Noname.txt';.Caption:='My Word - '+ExtractFileName(EditFile);;TForm1.ReplaceDialog1Replace(Sender: TObject);10;//метка.HideSelection:=true;
://меткаpos(ReplaceDialog1.FindText,Memo1.Text)<>0 then.SelStart:=pos(ReplaceDialog1.FindText,Memo1.Text)-1;.SelLength:=Length(ReplaceDialog1.FindText);.SelText:=ReplaceDialog1.ReplaceText;10;;.HideSelection:=false;;TForm1.FindDialog1Find(Sender: TObject);
{begin
//ищется первое появление строкиpos(FindDialog1.FindText,Memo1.Text)<>0 then.HideSelection:=false;.SelStart:=pos(FindDialog1.FindText,Memo1.Text)-1;.SelLength:=Length(FindDialog1.FindText);('String '+FindDialog1.FindText+' not found!',mtConfirmation,[mbYes],0);},P,FT: PChar;: Word;Sender as TFindDialog do(FT, Length(FindText) + 1);(FT, FindText);:= Memo1.GetTextLen + 1;(Buff, BuffLen);.GetTextBuf(Buff, BuffLen);:= Buff + Memo1.SelStart + Memo1.SelLength;:= StrPos(P, FT);P=nil then MessageBeep(0).SelStart:= P - Buff;.SelLength:= Length(FindText);;(FT, Length(FindText) + 1);(Buff, BuffLen);;;TForm1.ReplaceDialog1Find(Sender: TObject);Sender as TReplaceDialog doTrue doMemo1.SelText <> FindText thenFind(Sender);Memo1.SelLength = 0 then Break;.SelText:= ReplaceText;not (frReplaceAll in Options) then Break;;;TForm1.Button26Click(Sender: TObject);;;TForm1.FormClose(Sender: TObject; var Action: TCloseAction);Memo1.Modified thenMessageDlg('File '+ExtractFileName(EditFile)+' changed'+#10#13'Confirm Exit?',,[mbYes,mbNo],0)=mrYesAction:=caFreeAction:=caNone;;.
А.2 Лістинг форми авторизації користувачаRegistr;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls,IniFiles;= class(TForm): TGroupBox;: TLabel;: TLabel;: TEdit;: TEdit;: TButton;: TButton;: TButton;: TButton;FormCreate(Sender: TObject);FormDestroy(Sender: TObject);btn1Click(Sender: TObject);btn2Click(Sender: TObject);btn3Click(Sender: TObject);btn4Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm4;,Password:string; //текстовые переменные,i,Item:integer; //количество зарегестрированных:TIniFile; //переменная типа TIniFileTextRedactor;
{$R *.dfm}Crypt(Str:string;Key:integer):string;i:Integer;i:=1 to Length(str) do[i]:=chr(ord(str[i]) xor Key);;:=Str;;TForm4.FormCreate(Sender: TObject);
//создание переменной:=TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Data.ini');
//чтение логина:= INI.ReadString('General','Login','Default');
//чтение пароля:=INI.ReadString('General','Pass','Default');;TForm4.FormDestroy(Sender: TObject);
//"удаляем" переменную.Free;;TForm4.btn1Click(Sender: TObject);
//если хоть одно поле неравно тому что нужно ты выходим(edtLogin.text <> Login)or (edtPass.Text <> Password) then halt;
//первая форма Hide.Hide;
//вторую показываем.Show;;TForm4.btn2Click(Sender: TObject);.Text:=InputBox('Заміна пароля','Введіть новий пароль',edtPass.text);:=edtPass.text;.WriteString('General','Pass'+ IntToStr(Item),Crypt(edtPass.text,30));;TForm4.btn3Click(Sender: TObject);.Text:=InputBox('Заміна логіну','Введіть новий логін',edtPass.text);:=edtLogin.text;.WriteString('General','Login'+ IntToStr(Item),Crypt(edtLogin.text,30));;TForm4.btn4Click(Sender: TObject);(count);.WriteString('General','Pass' + IntToStr(count),Crypt(edtPass.text,30));.WriteString('General','Login'+ IntToStr(count),Crypt(edtLogin.text,30));.WriteInteger('General','Count',count);;.
А.3 Лістинг форми редагування запису БД послугRedactor;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, DBCtrls, Mask;= class(TForm): TGroupBox;: TLabel;: TDBEdit;: TLabel;: TLabel;: TDBLookupComboBox;: TDBLookupComboBox;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TButton;: TButton;Button1Click(Sender: TObject);Button2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TFormRedactor;UnitDM;
{$R *.dfm}TFormRedactor.Button1Click(Sender: TObject);DM.ADOTable3.Modified then DM.ADOTable3.Post;;;TFormRedactor.Button2Click(Sender: TObject);.ADOTable3.Cancel;;;.
А.3 Лістинг форми редагування запису БД клієнтів салонуRedactorK;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, DBCtrls, Mask;= class(TForm): TGroupBox;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TButton;: TButton;: TDBEdit;: TDBEdit;Button1Click(Sender: TObject);Button2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm2;UnitDM;
{$R *.dfm}TForm2.Button1Click(Sender: TObject);DM.ADOTable2.Modified then DM.ADOTable2.Post;;;TForm2.Button2Click(Sender: TObject);.ADOTable2.Cancel;;;.
А.3 Лістинг форми редагування запису БД співробітниківRedactorS;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Mask, DBCtrls;= class(TForm): TGroupBox;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TButton;: TButton;Button1Click(Sender: TObject);Button2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm3;UnitDM;
{$R *.dfm}TForm3.Button1Click(Sender: TObject);DM.ADOTable1.Modified then DM.ADOTable1.Post;;;TForm3.Button2Click(Sender: TObject);.ADOTable1.Cancel;;;.