Скачиваний:
9
Добавлен:
17.06.2023
Размер:
2.15 Mб
Скачать

ПРИЛОЖЕНИЕ А Функциональная модель по стандарту IDEF0

Рисунок А.1 – Контекстная диаграмма

Рисунок А.2 – Диаграмма IDEF0 первого уровня

32

Рисунок А.3 – Диаграмма IDEF0 второго уровня «Прием заявки»

Рисунок А.4 – Диаграмма IDEF0 второго уровня «Исполнение работы»

Рисунок А.5 – Диаграмма IDEF0 второго уровня «Обработка данных»

33

Рисунок А.6 – Диаграмма IDEF0 второго уровня «Создание отчетов»

Рисунок А.7 – Диаграмма IDEF3 третьего уровня «Смена пароля»

34

ПРИЛОЖЕНИЕ Б Описание таблиц базы данных

Таблица Б.1 – Описание свойств полей таблиц базы данных

Имя поля

Тип данных

Размер

Обязательное

Индексированной поле

 

 

 

поля

поле

 

 

 

PSWDTBL

 

 

 

 

 

 

P_Id

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

P_Login

Текстовый

50

Да

Нет

 

 

P_Pass

Текстовый

50

Нет

Нет

 

 

 

Логический

-

-

Нет

 

 

Klient

 

 

 

 

 

 

Klient

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

NazvanieFirm

Текстовый

50

Да

Да

(Совпадения

не

 

 

 

 

допускаются)

 

FIO

Текстовый

50

-

Нет

 

 

paspotr

Текстовый

50

Нет

Нет

 

 

adres

Текстовый

50

Нет

Нет

 

 

telefon

Текстовый

50

Нет

Нет

 

 

EDIT

Логический

-

Нет

Нет

 

 

nSkidka

 

 

 

 

 

 

id_sk

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

nazvanie

Текстовой

50

Нет

Да

(Совпадения

не

 

 

 

 

допускаются)

 

velichina

Числовой

Действител

Нет

Нет

 

 

 

 

ьное

 

 

 

 

EDIT

Логический

 

-

Нет

 

 

Oplata

 

 

 

 

 

 

ID_OPLATA

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

Status

Текстовый

50

Нет

Нет

 

 

SostojnieZakaza

 

 

 

 

 

 

id_CZ

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

Sostojnie

Текстовый

50

Нет

Нет

 

 

Sotrudnik

 

 

 

 

 

 

id_sotr

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

FIO

Текстовый

50

Нет

Нет

 

 

FIO

Текстовый

50

Нет

Нет

 

 

Dolgnost

Текстовый

50

Нет

Нет

 

 

Telefon

Текстовый

50

Нет

Нет

 

 

35

Продолжение таблицы Б1

Adres

Текстовый

50

Нет

Нет

 

 

Works

 

 

 

 

 

 

id_Work

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

Nazvanie

Текстовый

50

Да

Да

(Совпадения

не

 

 

 

 

допускаются)

 

 

 

 

 

 

 

 

Praice

Числовой

Длинное

Да

Нет

 

 

 

 

целое

 

 

 

 

Zakaz

 

 

 

 

 

 

id_zakaz

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

Nazvanie

Текстовый

50

Нет

Нет

 

 

Klient

Числовой

Длинное

Нет

Нет

 

 

 

 

целое

 

 

 

 

Sotrudnik

Числовой

Длинное

Да

Нет

 

 

 

 

целое

 

 

 

 

Skidka

Числовой

Длинное

Да

Нет

 

 

 

 

целое

 

 

 

 

DataNach

Дата/время

-

-

Нет

 

 

StatusZakaza

Числовой

Длинное

Да

Нет

 

 

 

 

целое

 

 

 

 

StatusOplat

Числовой

Длинное

Да

Нет

 

 

 

 

целое

 

 

 

 

Zakaz_Work

 

 

 

 

 

 

nomer

Счетчик

Длинное

Да

Да

(Совпадения

не

 

 

целое

 

допускаются)

 

id_zakaza

Числовой

Длинное

Да

Нет

 

 

 

 

целое

 

 

 

 

id_work

Числовой

Длинное

Да

Нет

 

 

 

 

целое

 

 

 

 

36

ПРИЛОЖЕНИЕ В

Листинг программы

unit DataM;

O1Query: TADOQuery;

 

O1DataSource: TDataSource;

interface

Label10: TLabel;

 

Otchet2: TLabel;

uses

DogQuery: TADOQuery;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

DogDataSource: TDataSource;

Forms,

pQuery: TADOQuery;

Dialogs, DB, ADODB, IniFiles, StdCtrls;

pDataSource: TDataSource;

 

CheckEditQuery: TADOQuery;

type

DataSource1: TDataSource;

TDM = class(TForm)

Label11: TLabel;

ADOConnection1: TADOConnection;

Edit: TADODataSet;

SotrQuery: TADOQuery;

procedure ADOConnection1BeforeConnect(Sender: TObject);

KlientQuery: TADOQuery;

private

SkidkaQuery: TADOQuery;

{ Private declarations }

SotrDataSource: TDataSource;

public

KlientDataSource: TDataSource;

{ Public declarations }

SkidkaDataSource: TDataSource;

end;

ZakazDataSource: TDataSource;

 

ZakazQuery: TADOQuery;

var

ZWQuery: TADOQuery;

DM: TDM;

ZWDataSource: TDataSource;

 

WorkQuery: TADOQuery;

implementation

WorkDataSource: TDataSource;

Uses MainFor;

Label1: TLabel;

{$R *.dfm}

Label2: TLabel;

 

Label3: TLabel;

procedure TDM.ADOConnection1BeforeConnect(Sender: TObject);

Label4: TLabel;

var DBPath:widestring; //путь к БД

Label5: TLabel;

F :TIniFile; // файл с путем к БД

Label6: TLabel;

begin

S_zakazaQuery1: TADOQuery;

 

S_zakazaDataSource: TDataSource;

F:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini')

S_oplatQuery: TADOQuery;

;

S_olaDataSource: TDataSource;

DBPath:=F.ReadString('Section_DBPath','Path','');

Label7: TLabel;

ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.

Label8: TLabel;

0;Data Source='+DBPath+'db1.mdb;Persist Security Info=False';

Label9: TLabel;

end;

ZaprosQuery: TADOQuery;

end.

ZaprosDataSource1: TDataSource;

 

unit Klient;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

 

procedure DBNavigator1BeforeAction(Sender: TObject;

interface

Button: TNavigateBtn);

 

procedure DBEdit1Change(Sender: TObject);

uses

procedure DBEdit2Enter(Sender: TObject);

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

procedure DBEdit3Enter(Sender: TObject);

Forms,

procedure DBEdit4Enter(Sender: TObject);

Dialogs, Grids, DBGrids, StdCtrls, Mask, DBCtrls, ExtCtrls;

procedure DBEdit5Enter(Sender: TObject);

 

procedure DBEdit6Enter(Sender: TObject);

type

procedure DBEdit2Exit(Sender: TObject);

TS_Klient = class(TForm)

procedure DBEdit3Exit(Sender: TObject);

DBGrid1: TDBGrid;

procedure DBEdit4Exit(Sender: TObject);

DBNavigator1: TDBNavigator;

procedure DBEdit5Exit(Sender: TObject);

DBEdit1: TDBEdit;

procedure DBEdit6Exit(Sender: TObject);

DBEdit2: TDBEdit;

procedure DBNavigator1Click(Sender: TObject; Button:

DBEdit3: TDBEdit;

TNavigateBtn);

DBEdit4: TDBEdit;

private

DBEdit5: TDBEdit;

{ Private declarations }

DBEdit6: TDBEdit;

procedure Refresh;

Label1: TLabel;

procedure isEdit;

Label2: TLabel;

procedure notEdit;

Label3: TLabel;

function checkEdit:boolean;

Label4: TLabel;

public

Label5: TLabel;

{ Public declarations }

Label6: TLabel;

end;

Timer1: TTimer;

const

DBEdit7: TDBEdit;

Klient_SQL='SELECT * FROM Klient';

DBEdit8: TDBEdit;

var

Label7: TLabel;

S_Klient: TS_Klient;

procedure FormCreate(Sender: TObject);

ins:boolean;// признак редактирования

procedure Timer1Timer(Sender: TObject);

 

37

implementation

begin

Uses DataM;

ins:=false;

{$R *.dfm}

// Если нажата кнопка "Вставить", тогда

procedure TS_Klient.Refresh;

// передаём фокус в DBEdit1,если он доступен

var i:integer;

if Button=nbInsert then

begin

begin

 

ins:=true;

DM.ADOConnection1.Connected:=true;

if DBEdit1.Enabled then DBEdit1.SetFocus;

DM.KlientQuery.SQL.Clear;

end;

DM.KlientQuery.SQL.Add('SELECT * FROM Klient;');

// Если нажата кнопка "Обновить"

DM.KlientQuery.Open;

if (Button=nbRefresh) then

end;

 

 

end;

procedure TS_Klient.FormCreate(Sender: TObject);

 

begin

procedure TS_Klient.DBEdit1Change(Sender: TObject);

DM.ADOConnection1.Connected:=true;

begin

DM.KlientQuery.SQL.Clear;

if (DBEdit1.Text<>'')and(not ins) then checkEdit;

DM.KlientQuery.SQL.Add('SELECT * FROM Klient;');

end;

DM.KlientQuery.Open;

 

end;

procedure TS_Klient.DBEdit2Enter(Sender: TObject);

 

begin

 

Timer1.Enabled:=false;

procedure TS_Klient.isEdit;

if (DBEdit1.Text<>'')and(not ins) then

begin

if not checkEdit then isEdit;

 

end;

if DBEdit1.Text<>'' then

 

begin

procedure TS_Klient.DBEdit3Enter(Sender: TObject);

DM.CheckEditQuery.SQL.Text:='UPDATE Klient SET Klient.EDIT =

begin

True WHERE Klient.Klient='+DBEdit1.Text+';';

Timer1.Enabled:=false;

DM.CheckEditQuery.ExecSQL;

if (DBEdit1.Text<>'')and(not ins) then

DM.CheckEditQuery.SQL.Text:=Klient_SQL+' WHERE

if not checkEdit then isEdit;

Klient='+DBEdit1.Text+';';

end;

DM.CheckEditQuery.Open;

 

end;

procedure TS_Klient.DBEdit4Enter(Sender: TObject);

end;

begin

procedure TS_Klient.notEdit;

Timer1.Enabled:=false;

begin

if (DBEdit1.Text<>'')and(not ins) then

 

if not checkEdit then isEdit;

if DBEdit1.Text<>'' then

end;

begin

 

DM.CheckEditQuery.SQL.Text:='UPDATE Klient SET Klient.EDIT =

procedure TS_Klient.DBEdit5Enter(Sender: TObject);

False WHERE Klient.Klient='+DBEdit1.Text+';';

begin

DM.CheckEditQuery.ExecSQL;

Timer1.Enabled:=false;

DM.CheckEditQuery.SQL.Text:=Klient_SQL+' WHERE

if (DBEdit1.Text<>'')and(not ins) then

Klient='+DBEdit1.Text+';';

if not checkEdit then isEdit;

DM.CheckEditQuery.Open;

end;

end;

 

end;

procedure TS_Klient.DBEdit6Enter(Sender: TObject);

function TS_Klient.checkEdit:boolean;

begin

var bool:boolean;

Timer1.Enabled:=false;

begin

if (DBEdit1.Text<>'')and(not ins) then

checkEdit:=false;

if not checkEdit then isEdit;

if DBEdit1.Text<>'' then DM.CheckEditQuery.SQL.Text:=Klient_SQL+'

end;

WHERE Klient='+DBEdit1.Text+';';

 

DM.CheckEditQuery.Open;

procedure TS_Klient.DBEdit2Exit(Sender: TObject);

if DBEdit8.Text<>'' then

begin

begin

Timer1.Enabled:=true;

bool:=not strtobool(DBEdit8.Text);

notEdit;

DBEdit1.Enabled:=bool;

end;

DBEdit2.Enabled:=bool;

 

DBEdit3.Enabled:=bool;

procedure TS_Klient.DBEdit3Exit(Sender: TObject);

DBEdit4.Enabled:=bool;

begin

DBEdit5.Enabled:=bool;

Timer1.Enabled:=true;

DBEdit6.Enabled:=bool;

notEdit;

Label7.Visible:= not bool;

end;

checkEdit:=not bool;

 

end;

procedure TS_Klient.DBEdit4Exit(Sender: TObject);

end;

begin

procedure TS_Klient.FormClose(Sender: TObject; var Action:

Timer1.Enabled:=true;

TCloseAction);

notEdit;

begin

end;

notEdit;

 

DM.KlientQuery.Close;

procedure TS_Klient.DBEdit5Exit(Sender: TObject);

end;

begin

 

Timer1.Enabled:=true;

procedure TS_Klient.DBNavigator1BeforeAction(Sender: TObject;

notEdit;

Button: TNavigateBtn);

end;

var n:integer;

 

38

procedure TS_Klient.DBEdit6Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Klient.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

begin

if (Button=nbPost ) then

begin

if (S_Klient.DBEdit3.Text='') or (S_Klient.DBEdit6.Text='') then begin

MessageDlg('Введите все данные!',mtError,[mbOk],0);

Abort;

end;

//if bool=true then end;

end;

procedure TS_Klient.Timer1Timer(Sender: TObject); begin

if DBNavigator1.Controls[6].Enabled then begin

DBNavigator1.BtnClick(nbEdit);

DBNavigator1.BtnClick(nbRefresh);

end;

end;

end.

unit MainFor;

interface

uses

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

Dialogs, Menus, jpeg, ExtCtrls, IniFiles;

type

TMainForm = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

BD: TMenuItem;

Exit: TMenuItem; Klient: TMenuItem; Sotr: TMenuItem; Skidka: TMenuItem; Work: TMenuItem; Oformlenie: TMenuItem; N14: TMenuItem;

OpenDialog1: TOpenDialog; N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

procedure BDClick(Sender: TObject); procedure SotrClick(Sender: TObject); procedure KlientClick(Sender: TObject); procedure SkidkaClick(Sender: TObject); procedure WorkClick(Sender: TObject); procedure OformlenieClick(Sender: TObject); procedure N5Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject); private

{Private declarations } public

{Public declarations } end;

var

MainForm: TMainForm;

implementation

Uses DataM, Klient, Skidka, Work, Zakaz, O_1, O2, O_3, O_31, O3, Sotrr,

o_sotr; {$R *.dfm}

procedure TMainForm.BDClick(Sender: TObject); var F:TiniFile;// дискриптор DBPath:widestring;// путь к БД

begin

//создаем объект ини-файла, ассоциируя его с физическим файлом на диске

F:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini')

;

//запускаем диалог открытия, если запущен успешно, то...

if OpenDialog1.Execute then begin

//сохраняем пользовательский путь

DBPath:=ExtractFilePath(OpenDialog1.FileName);

//записываем в разделе Section_DBPath значение DBPath в параметр Path ини-файла

F.WriteString('Section_DBPath','Path', DBPath); DM.ADOConnection1.Close;

//формируем ConnectionString DM.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLE DB.4.0;DataSourse='+DBPath+'db1.mdb;Persist Security Info=False';

//открываем соединение

DM.ADOConnection1.Open;

end;

//освобождаем память

F.Free;

end;

procedure TMainForm.SotrClick(Sender: TObject); begin

S_Sotr:= TS_Sotr.Create(self); //создаём форму

S_Sotr.ShowModal; //выводим на экран модально end;

procedure TMainForm.KlientClick(Sender: TObject); begin

S_Klient:=TS_Klient.Create(self); S_Klient.ShowModal;

end;

procedure TMainForm.SkidkaClick(Sender: TObject); begin

S_Skidka:=TS_Skidka.Create(self); S_Skidka.ShowModal;

end;

procedure TMainForm.WorkClick(Sender: TObject); begin

S_Work:=TS_Work.Create(self); S_Work.ShowModal;

end;

procedure TMainForm.OformlenieClick(Sender: TObject); begin

S_Zakaz:= TS_Zakaz.Create(self); //создаём форму

S_Zakaz.ShowModal; //выводим на экран модально

end;

procedure TMainForm.N5Click(Sender: TObject);

39

begin

O1:= TO1.Create(self); //создаём форму

O1.ShowModal; //выводим на экран модально end;

procedure TMainForm.N7Click(Sender: TObject); begin

O_2:= TO_2.Create(self); //создаём форму

O_2.ShowModal; //выводим на экран модально end;

procedure TMainForm.N8Click(Sender: TObject); begin

O_YSLYGA:= TO_YSLYGA.Create(self); //создаём форму

O_YSLYGA.ShowModal; //выводим на экран модально end;

procedure TMainForm.N9Click(Sender: TObject); begin

SmenaParol:= TSmenaParol.Create(self); //создаём форму

SmenaParol.ShowModal; //выводим на экран модально end;

procedure TMainForm.N10Click(Sender: TObject); begin

Form1:= TForm1.Create(self); //создаём форму

Form1.ShowModal; //выводим на экран модально end;

procedure TMainForm.N11Click(Sender: TObject); begin

Form3:= TForm3.Create(self); //создаём форму Form3.ShowModal;

end;

procedure TMainForm.N12Click(Sender: TObject); var F:TiniFile;

DBPath1:string; begin

F:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini');

//Считываем путь резервного копирования из файла option.ini

DBPath1:=F.ReadString('Section_DBPath','Path',''); F.Free;

// делаем резервную копию файла БД

CopyFile(pchar(DBPath1+'db1.mdb'),pchar(DBPath1+'COPY_db1.mdb') ,false);

MessageDlg('Создана резервная копия БД ',mtInformation, [mbOk], 0);

end;

end.

unit O_1;

interface

uses

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

Dialogs, Menus, ComCtrls, Grids, DBGrids, StdCtrls, OleServer, ExcelXP,

WordXP;

type

TO1 = class(TForm) DBGrid1: TDBGrid;

HeaderControl1: THeaderControl; PopupMenu1: TPopupMenu; SaveDialog1: TSaveDialog; Excel1: TMenuItem;

Edit1: TEdit;

ComboBox1: TComboBox; WordDocument1: TWordDocument; WordApplication1: TWordApplication; procedure FormCreate(Sender: TObject);

procedure Edit1Change(Sender: TObject); private

{Private declarations } public

{Public declarations } end;

var

O1: TO1;

implementation Uses DataM;

{$R *.dfm}

procedure TO1.FormCreate(Sender: TObject); var i:integer;

begin DM.ADOConnection1.Connected:=true; DM.O1Query.SQL.Clear;

DM.O1Query.SQL.Add('SELECT * FROM Opros;'); DM.O1Query.Open;

for i:=0 to DBGrid1.Columns.Count-1 do ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);

end;

procedure TO1.Edit1Change(Sender: TObject); Var S:String;

begin

if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;

//Сохранение имени поля DBGrid1 в переменную S, по индексу выбранной записи в ComboBox1

S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName;

DM.O1Query.SQL.Clear;

//Формирования запроса по полю сохранённому в переменной S

DM.O1Query.SQL.Add('Select * from Opros WHERE '+s+' LIKE

"'+Edit1.text+'%"'); // Обновляем

DM.O1Query.Close;

DM.O1Query.Open;

end;

end.

unit O_31;

interface

uses

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

Dialogs, StdCtrls, Buttons, DBCtrls;

type

TSmenaParol = class(TForm) DBLookupComboBox1: TDBLookupComboBox; Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn;

procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject);

procedure DBLookupComboBox1Click(Sender: TObject); procedure FormShow(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

40

SmenaParol: TSmenaParol;

//устанавливаем фокус в поле ввода пароля

posetitel,pwd:string;

Edit1.SetFocus;

 

DM.pQuery.Close;

implementation

DM.pQuery.SQL.Clear;

Uses DataM, MainFor;

//формируем запрос по ключевому полю для выбранного

{$R *.dfm}

пользователя

 

DM.pQuery.SQL.Add('SELECT * FROM PWDTBL WHERE

procedure TSmenaParol.BitBtn2Click(Sender: TObject);

USER_ID='+inttostr(DBLookupComboBox1.KeyValue)+';');

begin

DM.pQuery.Open;

SmenaParol.Close;

// сохраняем пароль

end;

pwd:=DM.pQuery.FieldByName('PASS').AsString;

 

DM.pQuery.SQL.Clear;

procedure TSmenaParol.BitBtn1Click(Sender: TObject);

// возвращаем запрос в исходное состояние

begin

DM.pQuery.SQL.Add('SELECT * FROM PWDTBL;');

if posetitel<>'' then // если пользователь ясен

DM.pQuery.Open;

// если пароль не совпадает

 

if pwd<>Trim(Edit1.Text) then

end;

// то выдаём сообщение

end;

MessageDlg('Неверный пароль!!!',mtError, [mbOk], 0)

procedure TSmenaParol.FormShow(Sender: TObject);

else // иначе

begin

begin

DM.pQuery.SQL.Clear;

//проверяем дублирование пароля

DM.pQuery.SQL.Add('SELECT * FROM PWDTBL;');

if Edit2.Text=Edit3.Text then

DM.pQuery.Open;

begin

end;

//если совпадает, то обновляем запись в таблице

 

DM.pQuery.SQL.Clear;

end.

DM.pQuery.SQL.Add('UPDATE PWDTBL SET

unit o_sotr;

PASS="'+Edit3.Text+'" WHERE

 

USER_ID='+inttostr(DBLookupComboBox1.KeyValue)+';');

interface

DM.pQuery.ExecSQL;

 

MainForm:= TMainForm.Create(self); // создание формы

uses

основного меню

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

MainForm.Show;

Forms,

(**устанавливаем ограничения в соответствии с

Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ComCtrls;

пользователем**)

 

if posetitel='Гость' then

type

begin

TForm3 = class(TForm)

MainForm.Sotr.Enabled:=false;

Label2: TLabel;

MainForm.Klient.Enabled:=false;

Label3: TLabel;

MainForm.Oformlenie.Enabled:=false;

Label4: TLabel;

MainForm.Work.Enabled:=false;

DateTimePicker1: TDateTimePicker;

MainForm.N9.Enabled:=false;

DateTimePicker2: TDateTimePicker;

end;

Button1: TButton;

if posetitel='Менеджер' then

DataSource1: TDataSource;

begin

ADOQuery1: TADOQuery;

MainForm.Sotr.Enabled:=false;

DBGrid1: TDBGrid;

MainForm.Klient.Enabled:=true;

procedure Button1Click(Sender: TObject);

MainForm.Oformlenie.Enabled:=true;

private

MainForm.Oformlenie.Enabled:=false;

{ Private declarations }

MainForm.Work.Enabled:=false;

function FFormatDate(s1: string): string;

MainForm.N9.Enabled:=false;

public

end;

{ Public declarations }

if posetitel='Администратор'then

end;

begin

 

MainForm.Sotr.Enabled:=true;

var

MainForm.Klient.Enabled:=true;

Form3: TForm3;

MainForm.Oformlenie.Enabled:=true;

period1,period2:string;

MainForm.Oformlenie.Enabled:=true;

implementation

MainForm.Work.Enabled:=true;

 

MainForm.N9.Enabled:=true;

{$R *.dfm}

end;

function TForm3.FFormatDate(s1: string): string;

// скрываем форму

begin

SmenaParol.Hide;

Insert((s1[1]+s1[2]),s1,4);

DM.pQuery.SQL.Clear;

Delete(s1,1,2);

DM.pQuery.Close;

Insert((s1[4]+s1[5]),s1,1);

end

Delete(s1,6,2);

else MessageDlg('Неверное дублирование пароля!!!',mtError,

Delete(s1,3,1);

[mbOk], 0);

Insert('/',s1,3);

end

Delete(s1,6,1);

else MessageDlg('Укажите пользователя',mtWarning, [mbOk],

Insert('/',s1,6);

0);

Insert('#',s1,1);

end;

Insert('#',s1,12);

 

Result := s1;

procedure TSmenaParol.DBLookupComboBox1Click(Sender: TObject);

end;

begin

 

posetitel:= DBLookupComboBox1.Text;

 

if posetitel<>'' then

procedure TForm3.Button1Click(Sender: TObject);

begin

var s1,s2:string;

41

Соседние файлы в папке Курсовые работы