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

📄 gz_shezhi_unit.~pas

📁 通用人力资源系统,分类可以自设定 可以熟练掌握DELPHI语言
💻 ~PAS
字号:
unit gz_shezhi_Unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DBCtrls, DBNavPlus, Grids, DBGridEh, DB, DBTables,
  StdCtrls, CalcExpress, ComCtrls, Mask, RzEdit, RzSpnEdt, Animate, GIFCtrl;

type
  Tgz_shezhi = class(TForm)
    Panel1: TPanel;
    DBNavPlus1: TDBNavPlus;
    vars: TDBMemo;
    Values: TDBMemo;
    Table1: TTable;
    DataSource1: TDataSource;
    CalcExpress1: TCalcExpress;
    Panel2: TPanel;
    StatusBar1: TStatusBar;
    Splitter1: TSplitter;
    dbedt_biaozhi: TDBEdit;
    dbedt_gzdm: TDBEdit;
    dbedt_xsmc: TDBEdit;
    dbedt_zdkd: TDBEdit;
    dbedt_gongshi: TDBEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    cb_biaozhi: TComboBox;
    edt_xsmc: TEdit;
    rse_zdkd: TRzSpinEdit;
    edt_gongshi: TEdit;
    Memo1: TMemo;
    Panel3: TPanel;
    Button3: TButton;
    Button7: TButton;
    Button9: TButton;
    Button4: TButton;
    Button8: TButton;
    Button12: TButton;
    Button5: TButton;
    Button11: TButton;
    Button6: TButton;
    Button10: TButton;
    edt_xs: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    Button20: TButton;
    Button21: TButton;
    Button22: TButton;
    Button23: TButton;
    Button24: TButton;
    Button25: TButton;
    rg_xz: TRadioGroup;
    cb_gjzd: TComboBox;
    Button2: TButton;
    Button13: TButton;
    Button1: TButton;
    Button14: TButton;
    Button26: TButton;
    RxGIFAnimator1: TRxGIFAnimator;
    DBGridEh1: TDBGridEh;
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure cb_biaozhiClick(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure rg_xzClick(Sender: TObject);
    procedure cb_gjzdChange(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button24Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  gz_shezhi: Tgz_shezhi;

implementation

{$R *.dfm}

procedure Tgz_shezhi.Button3Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '+';
  edt_xs.Text := edt_xs.Text + '+';
end;

procedure Tgz_shezhi.Button4Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '-';
  edt_xs.Text := edt_xs.Text + '-';
end;

procedure Tgz_shezhi.Button5Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '*';
  edt_xs.Text := edt_xs.Text + '*';
end;

procedure Tgz_shezhi.Button6Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '/';
  edt_xs.Text := edt_xs.Text + '/';
end;

procedure Tgz_shezhi.Button7Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '(';
  edt_xs.Text := edt_xs.Text + '(';
end;

procedure Tgz_shezhi.Button8Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + ')';
  edt_xs.Text := edt_xs.Text + ')';
end;

procedure Tgz_shezhi.Button10Click(Sender: TObject);
begin
  edt_gongshi.Text := '';
  edt_xs.Text := '';
  memo1.Lines.Clear;
end;

procedure Tgz_shezhi.Button9Click(Sender: TObject);
var
  i: integer;
  biaozhi_zd: integer;
begin
  biaozhi_zd := 0;
  if table1.RecNo < 6 then
  begin
    Application.MessageBox('字段a1到a5不能做为计算变量!', '重新选择', MB_ICONWARNING);
    exit;
  end
  else
    edt_gongshi.Text := edt_gongshi.Text + table1['gzdm'];
  edt_xs.Text := edt_xs.Text + table1['xsmc'];
  if memo1.Lines.Count = 0 then
  begin
    memo1.Lines.Clear;
    memo1.Lines.Add(table1['gzdm']);
  end
  else
  begin
    for i := 0 to memo1.Lines.Count do
    begin
      if uppercase(memo1.Lines.Strings[i]) = uppercase(table1['gzdm']) then
        biaozhi_zd := 1;
    end;
    if biaozhi_zd = 0 then
      memo1.Lines.Add(table1['gzdm']);
  end;

end;

procedure Tgz_shezhi.Button11Click(Sender: TObject);
begin
  if strlen(pchar(edt_gongshi.Text)) > 0 then
  begin
    edt_gongshi.Text := copy(edt_gongshi.Text, 1, strlen(pchar(edt_gongshi.Text)) - 1);
  end;
end;

procedure Tgz_shezhi.cb_biaozhiClick(Sender: TObject);
begin
  if cb_biaozhi.ItemIndex = 1 then
    panel3.Visible := true
  else
    panel3.Visible := false;

end;

procedure Tgz_shezhi.Button12Click(Sender: TObject);
var
  i: integer;
  rp: pchar;
begin
  if memo1.Lines.Count > 0 then
  begin
    for i := memo1.Lines.Count to 0 do
    begin
      rp := strpos(pchar(edt_gongshi.text), pchar(memo1.Lines.Strings[i]));
      if rp = nil then
        memo1.Lines.Delete(i);
    end;
  end;

end;

procedure Tgz_shezhi.rg_xzClick(Sender: TObject);
var
  i: integer;
begin
  if rg_xz.ItemIndex = 0 then
  begin
    cb_gjzd.Items.Clear;
    table1.First;
    for i := 1 to 30 do
      table1.Next;
    with table1 do
      while not eof do
      begin
        cb_gjzd.Items.Add(table1['gzdm'] + '   ' + table1['xsmc']);
        table1.Next;
      end;
    cb_gjzd.ItemIndex := 0;
  end;
  if rg_xz.ItemIndex = 1 then
  begin
    cb_gjzd.Items.Clear;
    for i := 1 to 150 do
      if not table1.Locate('gzdm', 'a' + inttostr(i), [locaseinsensitive]) then
        cb_gjzd.Items.Add('a' + inttostr(i));
    cb_gjzd.ItemIndex := 0;
  end;


end;

procedure Tgz_shezhi.cb_gjzdChange(Sender: TObject);
begin
  if table1.Locate('gzdm', trim(copy(cb_gjzd.Text, 1, 3)), [locaseinsensitive]) then
  begin
    cb_biaozhi.ItemIndex := table1['biaozhi'];
    if table1['biaozhi'] = 1 then
      panel3.Visible := true
    else
      panel3.Visible := false;
    edt_xsmc.Text := table1['xsmc'];
    rse_zdkd.Value := table1['zdkd'];
    if table1['gongshi'] = null then
      edt_gongshi.Text := ''
    else
      edt_gongshi.Text := table1['gongshi'];
    memo1.Lines.Clear;
    memo1.Lines.AddStrings(vars.Lines);
  end;



end;

procedure Tgz_shezhi.Button2Click(Sender: TObject);
var
  shanchu_xs: string;
begin
  if table1.RecNo < 30 then
  begin
    Application.MessageBox('字段a1到a30不能做为计算变量!', '重新选择', MB_ICONWARNING);
    exit;
  end
  else
  begin
    shanchu_xs := '真的要删除 ' + table1['gzdm'] + ' (' + table1['xsmc'] + '  )这项吗?';
// Application.MessageBox('真的要删除 '+pchar(shanchu_xs)+'这项吗?', '请慎重选择!', MB_OKCANCEL + MB_ICONQUESTION) = IDOK
    if Application.MessageBox(pchar(shanchu_xs), '请慎重选择!', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
      table1.Delete;
  end;



end;

procedure Tgz_shezhi.Button13Click(Sender: TObject);
begin

  if trim(edt_xsmc.Text) = '' then
  begin
    Application.MessageBox('应填写〔显示名称〕!', '重新填写', MB_ICONWARNING);
    exit;
  end;
  if cb_biaozhi.ItemIndex = 1 then
  begin
    if trim(edt_gongshi.Text) = '' then
    begin
      Application.MessageBox('公式不能唯空!', '重新填写', MB_ICONWARNING);
      exit;
    end;
    if memo1.Lines.Count = 0 then
    begin
      Application.MessageBox('没有参与公式计算的变量!', '重新填写', MB_ICONWARNING);
      exit;
    end;
  end;
  if rg_xz.ItemIndex = 0 then
  begin
    if table1.Locate('gzdm', trim(copy(cb_gjzd.Text, 1, 3)), [locaseinsensitive]) then
    begin
      table1.Edit;
      table1['biaozhi'] := cb_biaozhi.ItemIndex;
      table1['xsmc'] := edt_xsmc.Text;
      table1['zdkd'] := rse_zdkd.Value;
      table1['gongshi'] := edt_gongshi.Text;
      vars.Lines.Clear;
      vars.Lines.AddStrings(memo1.Lines);
      table1.Post;
      Application.MessageBox('保存成功!', '提示', mb_ok);
    end;
  end;
  if rg_xz.ItemIndex = 1 then
  begin
    if Application.MessageBox('是否选择好了添加位置?', '请慎重选择!', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
    begin
      table1.Insert;
      table1['biaozhi'] := cb_biaozhi.ItemIndex;
      table1['gzdm'] := cb_gjzd.text;
      table1['xsmc'] := edt_xsmc.Text;
      table1['zdkd'] := rse_zdkd.Value;
      table1['gongshi'] := edt_gongshi.Text;
      vars.Lines.Clear;
      vars.Lines.AddStrings(memo1.Lines);
      table1.Post;
      Application.MessageBox('添加成功!', '提示', mb_ok);
    end;

  end;

end;

procedure Tgz_shezhi.Button15Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '0';
  edt_xs.Text := edt_xs.Text + '0';
end;

procedure Tgz_shezhi.Button16Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '1';
  edt_xs.Text := edt_xs.Text + '1';

end;

procedure Tgz_shezhi.Button17Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '2';
  edt_xs.Text := edt_xs.Text + '2';

end;

procedure Tgz_shezhi.Button18Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '3';
  edt_xs.Text := edt_xs.Text + '3';

end;

procedure Tgz_shezhi.Button19Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '4';
  edt_xs.Text := edt_xs.Text + '4';

end;

procedure Tgz_shezhi.Button20Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '5';
  edt_xs.Text := edt_xs.Text + '5';

end;

procedure Tgz_shezhi.Button21Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '6';
  edt_xs.Text := edt_xs.Text + '6';

end;

procedure Tgz_shezhi.Button22Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '7';
  edt_xs.Text := edt_xs.Text + '7';

end;

procedure Tgz_shezhi.Button23Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '8';
  edt_xs.Text := edt_xs.Text + '8';

end;

procedure Tgz_shezhi.Button24Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '9';
  edt_xs.Text := edt_xs.Text + '9';

end;

procedure Tgz_shezhi.Button25Click(Sender: TObject);
begin
  edt_gongshi.Text := edt_gongshi.Text + '.';
  edt_xs.Text := edt_xs.Text + '.';

end;

procedure Tgz_shezhi.Button1Click(Sender: TObject);
begin

  if trim(edt_xsmc.Text) = '' then
  begin
    Application.MessageBox('应填写〔显示名称〕!', '重新填写', MB_ICONWARNING);
    exit;
  end;
  if cb_biaozhi.ItemIndex = 1 then
  begin
    if trim(edt_gongshi.Text) = '' then
    begin
      Application.MessageBox('公式不能唯空!', '重新填写', MB_ICONWARNING);
      exit;
    end;
    if memo1.Lines.Count = 0 then
    begin
      Application.MessageBox('没有参与公式计算的变量!', '重新填写', MB_ICONWARNING);
      exit;
    end;
  end;
  if rg_xz.ItemIndex = 0 then
  begin
    if table1.Locate('gzdm', trim(copy(cb_gjzd.Text, 1, 3)), [locaseinsensitive]) then
    begin
      table1.Edit;
      table1['biaozhi'] := cb_biaozhi.ItemIndex;
      table1['xsmc'] := edt_xsmc.Text;
      table1['zdkd'] := rse_zdkd.Value;
      table1['gongshi'] := edt_gongshi.Text;
      vars.Lines.Clear;
      vars.Lines.AddStrings(memo1.Lines);
      table1.Post;
      Application.MessageBox('保存成功!', '提示', mb_ok);
    end;
  end;
  if rg_xz.ItemIndex = 1 then
  begin
    if Application.MessageBox('是否追加?', '请慎重选择!', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
    begin
      table1.append;
      table1['biaozhi'] := cb_biaozhi.ItemIndex;
      table1['gzdm'] := cb_gjzd.text;
      table1['xsmc'] := edt_xsmc.Text;
      table1['zdkd'] := rse_zdkd.Value;
      table1['gongshi'] := edt_gongshi.Text;
      vars.Lines.Clear;
      vars.Lines.AddStrings(memo1.Lines);
      table1.Post;
      Application.MessageBox('追加成功!', '提示', mb_ok);
    end;

  end;

end;

procedure Tgz_shezhi.Button14Click(Sender: TObject);
begin
  close;
end;

procedure Tgz_shezhi.Button26Click(Sender: TObject);
var
  i, biaozhi_zd: integer;
begin
  edt_gongshi.Text := edt_gongshi.Text + 'chuqin';
  edt_xs.Text := edt_xs.Text + '该月天数';
  if memo1.Lines.Count = 0 then
  begin
    memo1.Lines.Clear;
    memo1.Lines.Add('chuqin');
  end
  else
  begin
    for i := 0 to memo1.Lines.Count do
    begin
      if uppercase(memo1.Lines.Strings[i]) = uppercase('chuqin') then
        biaozhi_zd := 1;
    end;
    if biaozhi_zd = 0 then
      memo1.Lines.Add('chuqin');
  end;
end;

end.

⌨️ 快捷键说明

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