📄 editlog.pas
字号:
unit EditLog;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids,
Db, DBTables, ExtCtrls, ConstDef, FieldDef;
type
TFrmEditLog = class(TForm)
DBNavLog: TDBNavigator;
BtnCancel: TButton;
QueryLog: TQuery;
DataSourceLog: TDataSource;
DBGridLog: TDBGrid;
QueryLogSAccount: TStringField;
QueryLogSPsw: TStringField;
QueryLogSOpName: TStringField;
QueryLogCOpClass: TStringField;
QueryLogSMark: TStringField;
QueryLogBLog: TBooleanField;
QueryLogsCaHasLog: TStringField;
DBEditAccount: TDBEdit;
DBEditMark: TDBEdit;
LabAccount: TLabel;
LabMark: TLabel;
LabLoged: TLabel;
DBEditName: TDBEdit;
LabName: TLabel;
DBTextLoged: TDBText;
Label1: TLabel;
DBComboBoxClass: TDBComboBox;
QueryLogsCaClass: TStringField;
procedure BtnCancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure QueryLogBeforePost(DataSet: TDataSet);
procedure QueryLogCalcFields(DataSet: TDataSet);
procedure DBComboBoxClassChange(Sender: TObject);
procedure DBNavLogClick(Sender: TObject; Button: TNavigateBtn);
procedure DataSourceLogDataChange(Sender: TObject; Field: TField);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmEditLog: TFrmEditLog;
implementation
{$R *.DFM}
procedure TFrmEditLog.BtnCancelClick(Sender: TObject);
begin
ModalResult:=mrCancel;
end;
procedure TFrmEditLog.FormCreate(Sender: TObject);
begin
Session.AddPassword(Psw_Log);
QueryLog.DatabaseName:=DefSrvAlias;
end;
procedure TFrmEditLog.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Session.RemovePassword(Psw_Log);
end;
procedure TFrmEditLog.FormShow(Sender: TObject);
begin
with QueryLog do begin
close;
SQL.Clear;
SQL.Add('SELECT SAccount,SOpName,SMark,SPsw');
SQL.Add(',COpClass,BLog');
SQL.Add('FROM "Log.db"');
SQL.Add('WHERE not (COpClass = :SysWChar)');
ParamByName('SysWChar').AsString:=DefSysWChar;
Prepare;
Open;
end;
end;
procedure TFrmEditLog.QueryLogBeforePost(DataSet: TDataSet);
begin
if wFunShowASK('确定要修改此项记录吗?',[mbYes]+[mbNo])<>mrYes
then begin
DBNavLog.BtnClick(nbCancel); Abort;
end;
end;
procedure TFrmEditLog.QueryLogCalcFields(DataSet: TDataSet);
begin
if QueryLogBLog.Value then
QueryLogsCaHasLog.Value:='已登录'
else
QueryLogsCaHasLog.Value:='未登录';
if QueryLogCOpClass.Value=DefSysOpChar then
QueryLogsCaClass.Value:=DefSysOpClass
else if QueryLogCOpClass.Value=DefSysMChar then
QueryLogsCaClass.Value:=DefSysMClass
else if QueryLogCOpClass.Value=DefSVChar then
QueryLogsCaClass.Value:=DefSVClass
else
QueryLogsCaClass.Value:=DefSysNullClass;
end;
procedure TFrmEditLog.DBComboBoxClassChange(Sender: TObject);
var
sStr: string;
cChoice: char;
begin
sStr:=DBComboBoxClass.Items[DBComboBoxClass.ItemIndex];
cChoice:=sStr[1];
DBComboBoxClass.Text:=cChoice;
end;
procedure TFrmEditLog.DBNavLogClick(Sender: TObject; Button: TNavigateBtn);
begin
if (Button=nbInsert) or (Button=nbEdit)
then DBEditAccount.SetFocus;
end;
procedure TFrmEditLog.DataSourceLogDataChange(Sender: TObject;
Field: TField);
begin
if QueryLogBLog.Value then
DBTextLoged.Font.Color:=clRed
else
DBTextLoged.Font.Color:=clGreen;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -