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

📄 pas_depart.pas

📁 比较详细的功能
💻 PAS
字号:
unit pas_depart;

interface

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

type
  TForm_depart = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    ToolBar1: TToolBar;
    select: TSpeedButton;
    ToolButton5: TToolButton;
    add: TSpeedButton;
    ToolButton3: TToolButton;
    selecteveryth: TSpeedButton;
    ToolButton7: TToolButton;
    valid: TSpeedButton;
    ToolButton1: TToolButton;
    unValid: TSpeedButton;
    ToolButton2: TToolButton;
    setUnvalid: TSpeedButton;
    ToolButton4: TToolButton;
    setvalid: TSpeedButton;
    Edit_no: TEdit;
    Edit_name: TEdit;
    Edit_phone: TEdit;
    Edit_tel: TEdit;
    Edit_addr: TEdit;
    Edit_remarks: TEdit;
    DBGrid: TDBGrid;

     procedure selecteverything();
    procedure selectvalid();
    procedure selectunvalid();

    procedure addClick(Sender: TObject);
    procedure selectClick(Sender: TObject);
    procedure selecteveryClick(Sender: TObject);
    procedure validClick(Sender: TObject);
    procedure unvalidClick(Sender: TObject);
    procedure setUnvalidClick(Sender: TObject);
    procedure setvalidClick(Sender: TObject);
    procedure DBGridCellClick(Column: TColumn);
    procedure DBGridDblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_depart: TForm_depart;

implementation

uses Pas_DM;

{$R *.dfm}

procedure TForm_depart.addClick(Sender: TObject);
var
   s:string;
begin
    if (edit_no.Text='') or (edit_name.Text='') or (edit_phone.Text='')
    then
    begin
        showmessage('编号/中文名/手机不能为空');
        exit;
    end;
    with pas_dm.DM.Query_depart do
    begin
      try
          with pas_dm.DM.Query_depart do
          begin
          Close;
          SQL.Clear;
          s:='insert into depart(dp_no,dp_name,dp_phone,dp_tel,dp_addr,dp_remarks,dp_validorno) values('''+trim(edit_no.Text)+''','''+
                edit_name.Text+''','''+edit_phone.Text+''','''+
                edit_tel.Text+''','''+edit_addr.Text+''','''+edit_remarks.Text+''',1)';
          SQL.Add(s);
          ExecSQL;
          showmessage('添加 '+edit_name.Text+' 成功!');
          end;
          except
          showmessage('添加'+edit_name.Text+'失败!可能是编号重复');
      end;

      selectvalid;
end;
end;

procedure TForm_depart.selecteverything;
begin
     with pas_dm.DM.Query_depart do
  begin
    close;
    sql.Clear;
    sql.Add('select dp_no 部门编号,dp_name 部门姓名,dp_phone 部门手机,dp_tel 部门电话,dp_addr 部门地址,dp_remarks 部门备注 from depart ');
    open;
  end;
end;

procedure TForm_depart.selectunvalid;
begin
   with pas_dm.DM.Query_depart do
  begin
    close;
    sql.Clear;
    sql.Add('select dp_no 部门编号,dp_name 部门姓名,dp_phone 部门手机,dp_tel 部门电话,dp_addr 部门地址,dp_remarks 部门备注 from depart where dp_validorno=0 ');
    open;
  end;
end;

procedure TForm_depart.selectvalid;
begin
      with pas_dm.DM.Query_depart do
  begin
    close;
    sql.Clear;
    sql.Add('select dp_no 部门编号,dp_name 部门姓名,dp_phone 部门手机,dp_tel 部门电话,dp_addr 部门地址,dp_remarks 部门备注 from depart where dp_validorno=1 ');
    open;
  end;


end;

procedure TForm_depart.selectClick(Sender: TObject);
var
  s:string;
begin
     if(trim(edit_name.Text)<>'') then
     begin
     s:= ' where dp_name like ''%'+trim(edit_name.Text)+'%'' ';
     end
     else
     begin
     s:='';
     end;
     with pas_dm.DM.Query_depart do
     begin
        close;
        sql.Clear;
        sql.Add(' select dp_no as 部门编号,'+
          ' dp_name as 部门名 ,'+
          ' dp_phone as 手机,'+
          ' dp_tel as 电话,'+
          ' dp_addr as 地址,'+
          ' dp_remarks as 备注'+
          '   from depart '+s);
        open;
     end;
end;


procedure TForm_depart.selecteveryClick(Sender: TObject);
begin
   selecteverything();
end;

procedure TForm_depart.validClick(Sender: TObject);
begin
  selectvalid();
end;

procedure TForm_depart.unvalidClick(Sender: TObject);
begin
   selectunvalid()
end;

procedure TForm_depart.setUnvalidClick(Sender: TObject);
var
  s:string;
begin
   with pas_dm.DM.Query_depart do
   begin
   if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的部门将被设为无效'),'警告', MB_OKCANCEL)
   then
   begin
   try
   s:=dbgrid.Fields[0].AsString;
   Close;
   SQL.Clear;
   SQL.Add('update depart set dp_validorno=0 where dp_no='''+s+'''');
   ExecSQL;
   except
      showmessage('出错');
   end;
   if  RowsAffected=1 then
   begin
      showmessage(s+'设置无效成功');
   end;
   end;
   end;
   selectvalid();
end;

procedure TForm_depart.setvalidClick(Sender: TObject);
var
  s:string;
begin
   with pas_dm.DM.Query_depart do
   begin
   if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的部门将被设为有效'),'警告', MB_OKCANCEL)
   then
   begin
   try
   s:=dbgrid.Fields[0].AsString;
   Close;
   SQL.Clear;
   SQL.Add('update depart set dp_validorno=1 where dp_no='''+s+'''');
   ExecSQL;
   except
      showmessage('出错');
   end;
   if  RowsAffected=1 then
   begin
      showmessage(s+'设置有效成功');
   end;
   end;
   end;
   selectvalid();
end;


procedure TForm_depart.DBGridCellClick(Column: TColumn);
begin
with pas_dm.DM.Query_depart do
   begin
   if dbgrid.FieldCount=0 then
   begin
    showmessage('没有打开数据库');
    exit;
   end;
    if dbgrid.Fields[0].AsString='' then
    begin
    showmessage('数据库没有数据');
    exit;
    end;
    edit_no.Text:=Fields.Fields[0].AsString;
    edit_name.Text:=Fields.Fields[1].AsString;
    edit_phone.Text:=Fields.Fields[2].AsString;
    edit_tel.Text:=Fields.Fields[3].AsString;
    edit_addr.Text:=Fields.Fields[4].AsString;
    edit_remarks.Text:=Fields.Fields[5].AsString;
  end;
 end;

 
procedure TForm_depart.DBGridDblClick(Sender: TObject);
var
  s: string;
begin 
with pas_dm.DM.Query_depart do
 begin
 if dbgrid.FieldCount=0 then
   begin
    showmessage('没有打开数据库');
    exit;
   end;
    if dbgrid.Fields[0].AsString='' then
    begin
    showmessage('数据库没有数据');
    exit;
    end;
    s:= dbgrid.Fields[0].AsString;
  end;
   with pas_dm.DM.AQ1 do
   begin
    close;
    sql.Clear;
    sql.Add('select dp_name,valid= case dp_validorno when ''1'' then ''有效'' else ''无效'' end from depart where dp_no='''+trim(s)+'''');
    open;
    showmessage(trim(dm.AQ1.Fields.Fields[0].AsString)+' 是'+dm.AQ1.Fields.Fields[1].AsString+'的');
    close;
    sql.Clear;
 end;
end;

procedure TForm_depart.FormShow(Sender: TObject);
begin
   selectvalid();
end;

procedure TForm_depart.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if   Key   =   VK_F4   then
      begin
          add.Click;
          Key   :=   0;
          exit;
      end;
end;

end.

⌨️ 快捷键说明

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