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

📄 operator.pas

📁 1. 发卡服务端:Server 项目文件:autojet.prj 2. 计费客户端:Client 项目文件:internet.prj Explorer.prj 先启动Exp
💻 PAS
字号:
unit operator;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, Grids, DBGrids, DBTables, ExtCtrls, StdCtrls, Buttons;

type
  TFrm_operator = class(TForm)
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    BtBtn_New: TBitBtn;
    BtBtn_Edit: TBitBtn;
    BtBtn_Delete: TBitBtn;
    BtBtn_Close: TBitBtn;
    Bevel1: TBevel;
    Bevel2: TBevel;
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure BtBtn_NewClick(Sender: TObject);
    procedure BtBtn_EditClick(Sender: TObject);
    procedure BtBtn_DeleteClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_operator: TFrm_operator;

implementation

uses sys_dm, sys_global, OperatorAdd;

{$R *.DFM}

procedure TFrm_operator.FormShow(Sender: TObject);
begin
  with frm_sys_dm.Qr_tmp1 do
  begin
    close;
    sql.text := 'select * from operator order by id' ;
    open;
  end;
end;

procedure TFrm_operator.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_escape then  close ;
  if key = VK_SPACE then  BtBtn_Edit.Click ;
  if key = vk_delete then  BtBtn_Delete.Click;
  if (key=ord('N')) and (shift-[ssalt]-[ssshift]+[ssctrl]=shift) then
      BtBtn_New.Click ;
end;

procedure TFrm_operator.DBGrid1DblClick(Sender: TObject);
begin
  BtBtn_Edit.Click ;
end;

procedure TFrm_operator.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  frm_sys_dm.qr_tmp1.close;
  frm_sys_dm.qr_tmp2.close;
end;

procedure TFrm_operator.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var
  cellheight : integer ;
begin
  cellheight := rect.bottom-rect.top+1;
  with (sender as TDbgrid).canvas do
  begin
     font.color := clblack;
     if gdselected in state then begin
        font.color := clwhite;
        brush.color := clhighlight;
     end
     else if (rect.top div cellheight) mod 2 <> 0 then begin
        brush.color := clwindow;
     end else
        brush.Color := 16772846 ;

     FillRect(rect);
     textout(rect.left+2,rect.top+2,dbgrid1.columns[datacol].field.asstring);
  end;
end;

procedure TFrm_operator.BtBtn_NewClick(Sender: TObject);
begin
  m_mode := 'a' ;
  Frm_OperatorAdd := TFrm_OperatorAdd.create(application);
  Frm_OperatorAdd.showmodal;
  Frm_OperatorAdd.free ;
end;

procedure TFrm_operator.BtBtn_EditClick(Sender: TObject);
begin
  m_mode := 'e' ;
  Frm_OperatorAdd := TFrm_OperatorAdd.create(application);
  Frm_OperatorAdd.showmodal;
  Frm_OperatorAdd.free ;
end;

procedure TFrm_operator.BtBtn_DeleteClick(Sender: TObject);
var
  M_Id: string;
  M_NextId: string;
  M_Name: string;
begin
  M_Id := frm_sys_dm.qr_tmp1.Fields[0].AsString ;
  M_Name := frm_sys_dm.qr_tmp1.Fields[1].AsString ;

  if UpperCase(M_Id) = 'SYS' then
  begin
    application.MessageBox(' 系统管理员不能删除 !','信息提示',MB_ok+mb_iconstop);
    exit;
  end;
  // 得到下一条记录的ID
  frm_sys_dm.qr_tmp1.Next ;
  if frm_sys_dm.qr_tmp1.eof then
  begin
    frm_sys_dm.qr_tmp1.prior;
    M_NextId :=  frm_sys_dm.qr_tmp1.Fields[0].AsString ;
    frm_sys_dm.qr_tmp1.Next;
  end else
  begin
      M_NextId :=  frm_sys_dm.qr_tmp1.Fields[0].AsString ;
      frm_sys_dm.qr_tmp1.prior;
  end;

  if application.MessageBox(pchar(M_Id+'--'+M_Name+' 将被删去, 您确定吗?'),'信息提示',MB_yesno+mb_iconquestion+MB_DEFBUTTON2)=ID_yes then
  with frm_sys_dm.qr_tmp2 do
  begin
    close;
    sql.clear;
    sql.Add('delete from operator where id = '''+M_Id+'''');
    try
      ExecSQL;  // 执行SQL
      with frm_sys_dm.qr_tmp1 do  // DBGRID重新显示
      begin
        close;
        open;
        // 查找下一条记录
        locate('id',M_NextId,[]);
      end;
    except
      application.messagebox('电脑出错,未能删除该条记录!','错误提示',mb_ok+mb_iconstop);
      exit;
    end;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -