⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editlog.pas

📁 计量功能 事件记录 购电提醒 欠费报警 负荷控制 自检功能 显示功能 用户插卡错误信息显示
💻 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 + -