Xreferat.com » Рефераты по географии » Обделка вертикальных стволов

Обделка вертикальных стволов

EditUser, UserList,

EditTub, Calc1;

{$R *.DFM}

const

siMDIChilds = 'OpenMDIChilds';

procedure TStaftForm.SetUserLevel;

begin

case glUserLevel of

ulOperator:

begin

DictSetupMenu.Visible := False;

DictSetupMenu.Enabled := False;

UserMenuItem.Visible := False;

UserMenuItem.Enabled := False;

end;

ulManager:

begin

DictSetupMenu.Visible := True;

DictSetupMenu.Enabled := True;

UserMenuItem.Visible := False;

UserMenuItem.Enabled := False;

end;

ulAdministrator:

begin

DictSetupMenu.Visible := True;

DictSetupMenu.Enabled := True;

UserMenuItem.Visible := True;

UserMenuItem.Enabled := True;

end;

end;

end;

procedure TStaftForm.TileMenuItemClick(Sender: TObject);

begin

Tile;

end;

procedure TStaftForm.CascadeMenuItemClick(Sender: TObject);

begin

Cascade;

end;

procedure TStaftForm.MinimizeAllMenuItemClick(Sender: TObject);

var

I: Integer;

begin

for I := MDIChildCount - 1 downto 0 do

MDIChildren[I].WindowState := wsMinimized;

end;

procedure TStaftForm.ArrangeAllMenuItemClick(Sender: TObject);

begin

ArrangeIcons;

end;

procedure TStaftForm.AboutMenuItemClick(Sender: TObject);

begin

ShowAboutDialog('Расчет тюбинговой обделки', 'Королев А.В.',

'МГГУ', nil, 1, 0, 1996);

end;

procedure TStaftForm.PrinterSetupMenuItemClick(Sender: TObject);

begin

PrinterSetup.Execute;

end;

procedure TStaftForm.ExitMenuItemClick(Sender: TObject);

begin

Close;

end;

function TStaftForm.ShowForm(FormClass: TFormClass): TForm;

var

Form: TForm;

begin

Result := nil;

StartWait;

try

Form := FindForm(FormClass);

if Form = nil then

Application.CreateForm(FormClass, Form);

with Form do begin

if WindowState = wsMinimized then WindowState := wsNormal;

Show;

end;

Result := Form;

finally

StopWait;

end;

end;

procedure TStaftForm.FormStorageRestorePlacement(Sender: TObject);

var

IniFile: TrxIniFile;

List: TStrings;

I: Integer;

FormClass: TFormClass;

Form: TForm;

begin

StartWait;

try

SpeedBar.Visible := True;

IniFile := TrxIniFile.Create(FormPlacement.IniFileName);

try

if (glUserLevel in [ulManager, ulAdministrator]) then begin

List := TStringList.Create;

try

IniFile.ReadList(siMDIChilds, List);

for I := 0 to List.Count - 1 do begin

FormClass := TFormClass(GetClass(List[I]));

if FormClass <> nil then ShowForm(FormClass);

end;

finally

List.Free;

end;

end;

finally

IniFile.Free;

end;

finally

StopWait;

end;

end;

procedure TStaftForm.FormStorageSavePlacement(Sender: TObject);

var

IniFile: TrxIniFile;

List: TStrings;

I: Integer;

begin

IniFile := TrxIniFile.Create(FormPlacement.IniFileName);

try

IniFile.EraseSection(siMDIChilds);

List := TStringList.Create;

try

for I := MDIChildCount - 1 downto 0 do

List.Add(MDIChildren[I].ClassName);

if List.Count > 0 then

IniFile.WriteList(siMDIChilds, List);

finally

List.Free;

end;

finally

IniFile.Free;

end;

end;

function TStaftForm.DBSecurity1CheckUser(UsersTable: TTable;

const

Password: String): Boolean;

begin

Result := (Password = UsersTable.FieldByName('Password').AsString);

if Result then begin

glUserName := UsersTable.FieldByName('UserName').AsString;

glUserID := UsersTable.FieldByName('ID').AsInteger;

glUserLevel := cUserLevel(UsersTable.FieldByName('UserLevel')

.AsInteger);

Result := (glUserLevel <> ulInvalid);

end;

if Result then SetUserLevel;

end;

procedure TStaftForm.UserMenuItemClick(Sender: TObject);

begin

ShowForm(TUserListForm);

end;

procedure TStaftForm.ShowHint(Sender: TObject);

begin

HintPanel.Caption := Application.Hint;

end;

procedure TStaftForm.UpdateMenuItems(Sender: TObject);

begin

{ Enable or disable menu items and buttons }

CascadeMenuItem.Enabled := MDIChildCount > 0;

TileMenuItem.Enabled := MDIChildCount > 0;

ArrangeAllMenuItem.Enabled := MDIChildCount > 0;

MinimizeAllMenuItem.Enabled := MDIChildCount > 0;

TileWindowsItem.Enabled := MDIChildCount > 0;

CascadeWindowsItem.Enabled := MDIChildCount > 0;

end;

procedure TStaftForm.FormCreate(Sender: TObject);

begin

Application.OnHint := ShowHint;

Screen.OnActiveFormChange := UpdateMenuItems;

SetAutoSubClass(True);

{ set wait cursor to SQL }

WaitCursor := crSQLWait;

{ register classes of MDI-child forms }

{RegisterClasses([TDictForm, TRatesForm, TItemReportForm]);}

end;

procedure TStaftForm.FormDestroy(Sender: TObject);

begin

Screen.OnActiveFormChange := nil;

Application.HelpCommand(HELP_QUIT,0);

end;

procedure TStaftForm.InsuranceMenuItemClick(Sender: TObject);

begin

Form1.ShowModal;

end;

procedure TStaftForm.EditItemClick(Sender: TObject);

begin

EditDataForm.Show;

end;

end.

unit UserList;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,

Controls, Forms, Dialogs, DBCtrls, ExtCtrls, DBTables, DB, Grids,

DBGrids, RXDBCtrl, Placemnt, StdCtrls, Buttons;

type

TUserListForm = class(TForm)

UsersTable: TTable;

dsUsers: TDataSource;

UsersGrid: TrxDBGrid;

UsersTablePassword: TStringField;

Panel1: TPanel;

DBNavigator: TDBNavigator;

FormPlacement: TFormPlacement;

UsersTableID: TFloatField;

UsersTableUserName: TStringField;

UsersTableFullName: TStringField;

UsersTableUserLevel: TFloatField;

BitBtn1: TBitBtn;

procedure DBNavigatorClick(Sender: TObject; Button:

TNavigateBtn);

procedure UsersGridDblClick(Sender: TObject);

procedure FormPlacementSavePlacement(Sender: TObject);

procedure FormPlacementRestorePlacement(Sender: TObject);

procedure FormCreate(Sender: TObject);

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

end;

var

UserListForm: TUserListForm;

implementation

uses

EditUser, IniFiles, Global;

const

SAccessDenied = 'Недостаточно прав. Доступ запрещен';

{$R *.DFM}

procedure TUserListForm.DBNavigatorClick(Sender: TObject;

Button: TNavigateBtn);

begin

case Button of

nbInsert:

begin

EditUserData('', UsersTable, True);

end;

nbEdit:

begin

EditUserData('', UsersTable, False);

end;

end;

end;

procedure TUserListForm.UsersGridDblClick(Sender: TObject);

begin

EditUserData('', UsersTable, False);

end;

procedure TUserListForm.FormPlacementSavePlacement(Sender: TObject);

var

IniFile: TIniFile;

I: Integer;

begin

IniFile := TIniFile.Create(FormPlacement.IniFileName);

try

for I := 0 to ComponentCount - 1 do begin

if Components[I] is TrxDBGrid then

TrxDBGrid(Components[I]).SaveLayout(IniFile);

end;

finally

IniFile.Free;

end;

end;

procedure TUserListForm.FormPlacementRestorePlacement(Sender:

TObject);

var

IniFile: TIniFile;

I: Integer;

begin

IniFile := TIniFile.Create(FormPlacement.IniFileName);

try

for I := 0 to ComponentCount - 1 do begin

if Components[I] is TrxDBGrid then

TrxDBGrid(Components[I]).RestoreLayout(IniFile);

end;

finally

IniFile.Free;

end;

end;

procedure TUserListForm.FormCreate(Sender: TObject);

begin

if not (glUserLevel in [ulAdministrator]) then begin

raise Exception.Create(SAccessDenied);

end;

UsersTable.Open;

end;

procedure TUserListForm.FormClose(Sender: TObject;

var

Action: TCloseAction);

begin

Action := caFree;

end;

end.

program Shaft;

uses

Forms,

Main in 'MAIN.PAS' {StaftForm},

Global in 'GLOBAL.PAS',

EditUser in 'EDITUSER.PAS',

UserList in 'USERLIST.PAS' {UserListForm},

Edittub in 'EDITTUB.PAS' {EditDataForm},

Editform in 'EDITFORM.PAS' {EdTubForm},

Calc1 in 'CALC1.PAS' {Form1},

Draw in 'DRAW.PAS' {DrawForm};

{$R *.RES}

begin

Application.CreateForm(TStaftForm, StaftForm);

Application.CreateForm(TEditDataForm, EditDataForm);

Application.CreateForm(TEdTubForm, EdTubForm);

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TDrawForm, DrawForm);

Application.Run;

end.

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: