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

📄 u_sl.pas

📁 人力资源管理系统是一个典型的数据库应用程序
💻 PAS
字号:
unit U_sl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, ExtCtrls, ComCtrls, Buttons,
  ToolWin;

type
  Tfrm_sl = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    ToolButton1: TToolButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    ToolButton2: TToolButton;
    SpeedButton6: TSpeedButton;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    procedure SpeedButton1Click(Sender: TObject);
    procedure editvalue;
    procedure editclear;
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure SpeedButton6Click(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
    m:integer;
  end;
  const
  m=0;
var
  frm_sl: Tfrm_sl;

implementation

uses U_data;

{$R *.dfm}

procedure Tfrm_sl.SpeedButton1Click(Sender: TObject);
var
bh:string;
begin
with data1.ADOpublic do
begin
   close;
   sql.Clear;
   sql.Add('select max(级别号) as ss from 个人所得税税率表 ');
   open;
end;
if data1.ADOpublic.FieldByName('ss').Value=null then
bh:='0'
else
bh:=inttostr(data1.ADOpublic.FieldByName('ss').Value+1);
editclear;
edit1.Text:=bh;
edit2.ReadOnly:=false;
edit3.ReadOnly:=false;
edit4.ReadOnly:=false;
speedbutton4.Enabled:=true;
speedbutton5.Enabled:=true;
end;

procedure Tfrm_sl.editclear;
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
end;

procedure Tfrm_sl.editvalue;
begin
edit1.Text:=data1.ADOQYsl.FieldByName('级别号').Value;
edit2.Text:=data1.ADOQYsl.FieldByName('应纳所得税金额下限').Value;
edit3.Text:=data1.ADOQYsl.FieldByName('应纳所得税金额上限').Value;
edit4.Text:=data1.ADOQYsl.FieldByName('税率').Value;
end;

procedure Tfrm_sl.SpeedButton3Click(Sender: TObject);
begin
if messagebox(self.Handle,'真的要删除吗?','提示',mb_yesno+mb_iconquestion)=idyes then
   begin
   data1.ADOQYsl.Delete;
   edit1.Clear;
   edit2.Clear;
   edit3.Clear;
   edit4.Clear;
   end;
end;

procedure Tfrm_sl.SpeedButton2Click(Sender: TObject);
begin
m:=1;
speedbutton4.Enabled:=true;
speedbutton5.Enabled:=true;
edit1.ReadOnly:=false;
edit2.ReadOnly:=false;
edit3.ReadOnly:=false;
edit4.ReadOnly:=false;
end;

procedure Tfrm_sl.SpeedButton5Click(Sender: TObject);
begin
editvalue;
speedbutton4.Enabled:=false;
speedbutton5.Enabled:=false;
edit1.ReadOnly:=true;
edit2.ReadOnly:=true;
edit3.ReadOnly:=true;
edit4.ReadOnly:=true;
end;

procedure Tfrm_sl.SpeedButton4Click(Sender: TObject);
begin
if (trim(edit1.Text)<>'') and (trim(edit2.Text)<>'') and (trim(edit3.Text)<>'') and (trim(edit4.Text)<>'') then
   if m=0 then
      try
      with data1.ADOQYsl do
         begin
            close;
            sql.Clear;
            sql.Add('insert 个人所得税税率表 values (:a,:b,:c,:D)');
            parameters.ParamByName('a').Value:=trim(edit1.Text);
            parameters.ParamByName('b').Value:=trim(edit2.Text);
            parameters.ParamByName('c').Value:=trim(edit3.Text);
            parameters.ParamByName('d').Value:=trim(edit4.Text);
            execsql;
         end;
         editclear;
         application.MessageBox('添加成功','提示',64);
         speedbutton4.Enabled:=false;
         speedbutton5.Enabled:=false;
         edit1.ReadOnly:=true;
         edit2.ReadOnly:=true;
         edit3.ReadOnly:=true;
         edit4.ReadOnly:=true;
         edit1.Clear;
         edit2.Clear;
         edit3.Clear;
         edit4.Clear;
         self.OnShow(sender);
      except
         application.MessageBox('系统出错!','提示',64);
      end
   else
      begin
         with data1.ADOQYsl do
            begin
               edit;
               fieldbyname('级别号').Value:=trim(edit1.Text);
               fieldbyname('应纳所得税金额下限').Value:=trim(edit2.Text);
               fieldbyname('应纳所得税金额上限').Value:=trim(edit3.Text);
               fieldbyname('税率').Value:=trim(edit4.Text);
               post;
            end;
            application.MessageBox('修改成功','提示',64);
            m:=0;
            speedbutton4.Enabled:=false;
            speedbutton5.Enabled:=false;
            edit1.ReadOnly:=true;
            edit2.ReadOnly:=true;
            edit3.ReadOnly:=true;
            edit4.ReadOnly:=true;
      end
else
   application.MessageBox('请完整的添写信息!','提示',64);
end;

procedure Tfrm_sl.FormShow(Sender: TObject);
begin
with data1.ADOQYsl do
   begin
      close;
      sql.Clear;
      sql.Add('select * from 个人所得税税率表');
      open;
   end;
   data1.ADOQYsl.Active:=true;
   if data1.ADOQYsl.FieldByName('级别号').Value=null then
   begin
      application.MessageBox('数据库中没有数据,请向数据库中添加数据!','提示',64);
      speedbutton1.Click;
   end

end;

procedure Tfrm_sl.DBGrid1CellClick(Column: TColumn);
begin
if dbgrid1.DataSource.DataSet<>nil then
   if dbgrid1.DataSource.DataSet.RecordCount>0 then
   editvalue
end;

procedure Tfrm_sl.SpeedButton6Click(Sender: TObject);
begin
close;
end;

procedure Tfrm_sl.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (key=vk_return) or (key=vk_down) then
edit4.SetFocus
end;

procedure Tfrm_sl.Edit4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (key=vk_return) or (key=vk_down) then
edit2.SetFocus
else
if key=vk_up then
edit1.SetFocus;
end;

procedure Tfrm_sl.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (key=vk_return) or (key=vk_down) then
edit3.SetFocus
else
if key=vk_up then
edit4.SetFocus;
end;

end.

⌨️ 快捷键说明

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