Материал: Автоматизация контроля качества ФГУП "Научно-производственный центр автоматики и приборостроения имени Н.А. Пилюгина"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
117
qResultNormValue: TIntegerField;
qListWaresParamCount: TIntegerField;
qResultCheckLow: TIntegerField;
qListWaresCheckDone: TIntegerField;
qListWaresCheckTrue: TIntegerField;
qChecksResult: TBlobField;
qChecksisCheck: TBooleanField;
qListChecksisCheck: TBooleanField;
SaveDialog: TSaveDialog;
qNormsTolerLow: TIntegerField;
qNormsTolerHigh: TIntegerField;
qResultTolerLow: TIntegerField;
qResultTolerHigh: TIntegerField;
qResultCheckHigh: TIntegerField;
qListNormsTolerLow: TIntegerField;
qListNormsTolerHigh: TIntegerField;
procedure qResultCalcFields(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataInfo: TDataInfo;
Pos: TBookmark;
AttemptLogin, c, UserId: Integer;
Cond, UserLevel, UserName, UserPassword: String;
isLogin: Boolean;
implementation
118
{$R *.dfm}
procedure TDataInfo.qResultCalcFields(DataSet: TDataSet);
begin
if DataSet.FieldByName('NormValue').AsInteger-
DataSet.FieldByName('ParamValue').AsInteger=0 then
begin
DataSet.FieldByName('CheckLow').AsInteger:=0;
DataSet.FieldByName('CheckHigh').AsInteger:=0;
Exit
end;
if DataSet.FieldByName('NormValue').AsInteger-
DataSet.FieldByName('ParamValue').AsInteger>0 then
begin
DataSet.FieldByName('CheckLow').AsInteger:=ABS(DataSet.FieldByName('NormVa
lue').AsInteger-DataSet.FieldByName('ParamValue').AsInteger)-
DataSet.FieldByName('TolerLow').AsInteger;
DataSet.FieldByName('CheckHigh').AsInteger:=0;
end
else
begin
DataSet.FieldByName('CheckLow').AsInteger:=0;
DataSet.FieldByName('CheckHigh').AsInteger:=ABS(DataSet.FieldByName('NormV
alue').AsInteger-DataSet.FieldByName('ParamValue').AsInteger)-
DataSet.FieldByName('TolerHigh').AsInteger;
end
end;
end.
119
// Авторизация пользователя
unit Passw;
interface
uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, StdCtrls,
Dialogs, Buttons, ExtCtrls, DBCtrls, cxGraphics, dxSkinsCore,
dxSkinsDefaultPainters, cxTextEdit, cxControls, cxContainer, cxEdit,
cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit,
cxDBLookupComboBox, Menus, cxLookAndFeelPainters, cxButtons,
cxLookAndFeels;
type
TPasswordDlg = class(TForm)
Label1: TLabel;
Label2: TLabel;
btnYes: TcxButton;
btnNo: TcxButton;
lcbUserName: TDBLookupComboBox;
Password: TEdit;
procedure FormShow(Sender: TObject);
procedure btnNoClick(Sender: TObject);
procedure btnYesClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
PasswordDlg: TPasswordDlg;
120
implementation
uses SysUtils, DataBase, Main;
{$R *.DFM}
procedure TPasswordDlg.FormShow(Sender: TObject);
begin
PasswordDlg.ActiveControl:=lcbUserName;
end;
procedure TPasswordDlg.btnNoClick(Sender: TObject);
begin
if MessageDlg('Заканчиваем
работу?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
ModalResult:=-1;
Exit
end;
ModalResult:=0;
end;
procedure TPasswordDlg.btnYesClick(Sender: TObject);
begin
if lcbUserName.Text='' then
begin
MessageDlg('Выберите пользователя',mtWarning,[mbOk],0);
ModalResult:=mrNone;
end
else
begin
UserId:=DataInfo.qListUsers.FieldByName('Id').asInteger;
121
UserName:=DataInfo.qListUsers.FieldByName('UserName').asString;
UserLevel:=DataInfo.qListUsers.FieldByName('TypeUser').asString;
UserPassword:=Password.Text;
ModalResult:=1
end
end;
end.
unit TypeWare;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxSkinsCore, dxSkinsDefaultPainters, cxStyles, cxGraphics,
cxEdit, cxDBLookupComboBox, cxCheckBox, Menus,
cxLookAndFeelPainters,
StdCtrls, cxButtons, cxVGrid, cxDBVGrid, cxControls, cxInplaceContainer,
cxDropDownEdit, cxLookAndFeels;
type
TfrmTypes = class(TForm)
vgTypes: TcxDBVerticalGrid;
btnYes: TcxButton;
btnNo: TcxButton;
vgTypesTypeName: TcxDBEditorRow;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure btnNoClick(Sender: TObject);
procedure btnYesClick(Sender: TObject);
private
Источник: https://baza.diplomsite.ru/previewfile/1836