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

📄 operatoradd.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons;

type
  TFrm_OperatorAdd = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Bevel1: TBevel;
    Bevel2: TBevel;
    Edt_Id: TEdit;
    Edt_gname: TEdit;
    Edt_Passwd: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ckbx_Card: TCheckBox;
    ckbx_system: TCheckBox;
    ckbx_report: TCheckBox;
    Label4: TLabel;
    Label5: TLabel;
    Bevel3: TBevel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    edt_Tel: TEdit;
    cmbBX_Sex: TComboBox;
    procedure FormActivate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    procedure ValidCheck(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_OperatorAdd: TFrm_OperatorAdd;
implementation

uses sys_dm, sys_global, operator ;
{$R *.DFM}

var
  checkFlag: char;
  oldid: string ;

procedure TFrm_OperatorAdd.FormActivate(Sender: TObject);
begin
  // 若为增加
  if M_mode = 'a' then
  begin
    ckbx_system.Checked := true ;
    ckbx_Card.Checked := true ;
    ckbx_report.Checked := true ;
  end;
  // 若为修改
  if M_mode = 'e' then
  with frm_sys_dm.qr_tmp1 do
  begin
    oldid := Fieldbyname('Id').AsString ;
    Edt_Id.text := Fieldbyname('Id').AsString ;
    Edt_gname.text := Fieldbyname('gname').AsString ;
    cmbBX_Sex.Text := Fieldbyname('sex').AsString ;
    Edt_tel.text := Fieldbyname('tel').AsString ;
    Edt_Passwd.text := Fieldbyname('Passwd').AsString ;

    if fieldbyname('R_system').asstring = '1' then
       ckbx_system.Checked := true
    else
       ckbx_system.Checked := false ;

    if fieldbyname('R_Card').asstring = '1' then
       ckbx_Card.Checked := true
    else
       ckbx_Card.Checked := false ;

    if fieldbyname('R_report').asstring = '1' then
       ckbx_report.Checked := true
    else
       ckbx_report.Checked := false ;

    if UpperCase(Edt_Id.text) = 'SYS' then
    begin
      edt_id.Enabled := false ;
      edt_gName.Enabled := false ;
      edt_passwd.SetFocus ;
      edt_passwd.SelLength := 0;
    end;
  end;
end;


procedure TFrm_OperatorAdd.ValidCheck(Sender: TObject);
begin
  Edt_Id.text := trim(Edt_Id.text);
  Edt_gname.text := trim(Edt_gname.text);
  cmbBX_Sex.Text := trim(cmbBX_Sex.Text) ;
  Edt_Passwd.text := trim(Edt_Passwd.text);

  if Edt_Id.text = '' then  begin
    MessageBox(handle, '  要有编号! ','错误提示', mb_ok+mb_iconstop);
    edt_id.SetFocus ;
    checkFlag := '0' ;
    exit;
  end;
  if Edt_gname.text = '' then  begin
    MessageBox(handle, '  要有姓名! ','错误提示', mb_ok+mb_iconstop);
    edt_gname.SetFocus ;
    checkFlag := '0' ;
    exit;
  end;
end;

procedure TFrm_OperatorAdd.BitBtn1Click(Sender: TObject);
begin
  checkFlag := '1' ;
  ValidCheck(sender);
  if checkFlag='0' then exit; // 若检查通不过

  if M_mode = 'a' then
  with frm_sys_dm.qr_tmp2 do
  begin
    close;
    sql.clear;
    sql.add('insert into operator');
    sql.add('(id,gname,sex,tel,passwd,r_system,r_card,r_report)');
    sql.add('values (:id,:gname,:sex,:tel,:passwd,:r_system,:r_card,:r_report)');
    Parameters.parambyname('id').value := edt_id.text ;
    Parameters.parambyname('gname').value := edt_gname.text ;
    Parameters.parambyname('sex').value := cmbBX_Sex.Text ;
    Parameters.parambyname('tel').value := edt_tel.text ;
    Parameters.parambyname('passwd').value := edt_passwd.text ;
    if ckbx_system.Checked then
       Parameters.parambyname('R_system').value := '1'
    else
       Parameters.parambyname('R_system').value := '0' ;
    if ckbx_Card.Checked then
       Parameters.parambyname('R_Card').value := '1'
    else
       Parameters.parambyname('R_Card').value := '0' ;
    if ckbx_report.Checked then
       Parameters.parambyname('R_report').value := '1'
    else
       Parameters.parambyname('R_report').value := '0' ;
    try
      execsql;
    except
      messagebox(handle, '电脑出错,未能删除该条记录!','错误提示',mb_ok+mb_iconstop);
      edt_gname.SetFocus ;
      exit;
    end;
  end;
  // 修改一条记录
  if M_mode = 'e' then
  with frm_sys_dm.qr_tmp2 do
  begin
    close;
    sql.clear;
    sql.add('update operator');
    sql.add('set id=:newid,gname=:gname,sex=:sex,tel=:tel,passwd=:passwd,R_system=:R_system,R_card=:R_card,R_report=:R_report');
    sql.add('where id=:oldid');
    Parameters.parambyname('newid').value := edt_id.text ;
    Parameters.parambyname('gname').value := edt_gname.text ;
    Parameters.parambyname('sex').value := cmbBX_Sex.Text ;
    Parameters.parambyname('tel').value := edt_tel.text ;
    Parameters.parambyname('passwd').value := edt_passwd.text ;
    Parameters.parambyname('oldid').value := oldid ;
    if ckbx_system.Checked then
       Parameters.parambyname('R_system').value := '1'
    else
       Parameters.parambyname('R_system').value := '0' ;
    if ckbx_Card.Checked then
       Parameters.parambyname('R_Card').value := '1'
    else
       Parameters.parambyname('R_Card').value := '0' ;
    if ckbx_report.Checked then
       Parameters.parambyname('R_report').value := '1'
    else
       Parameters.parambyname('R_report').value := '0' ;
    try
      execsql;
    except
      messagebox(handle, '电脑出错,未能更改该条记录!','错误提示',mb_ok+mb_iconstop);
      edt_gname.SetFocus ;
      exit;
    end;
  end;

  with frm_sys_dm.qr_tmp1 do  // 对增加和修改重新显示
  begin
    close;
    open;
    locate('id',edt_Id.text,[]); // 定位于增加或修改的记录
  end;
  close;
end;

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

procedure TFrm_OperatorAdd.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case key of
    vk_return:
    begin
      if ((activecontrol is tcombobox) and ((ssalt in shift) or (activecontrol as tcombobox).droppeddown)) then
        exit;
      SelectNext(ActiveControl As Twincontrol,true,true);
      key:=0;
    end;
    vk_up,vk_down:
    begin
      if (ssAlt in shift) or ((ActiveControl is Tcombobox)and((ActiveControl as Tcombobox).droppeddown)) then
        exit;
      SelectNext(ActiveControl As Twincontrol,key=vk_down,true);
      key:=0;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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