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

📄 f_cost_active.pas

📁 使用Delphi开发的成本管理系统
💻 PAS
字号:
unit f_cost_active;

interface

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

type
  Tw_cost_active = class(TForm)
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    tb_add: TToolButton;
    tb_edit: TToolButton;
    tb_del: TToolButton;
    tb_can: TToolButton;
    tb_save: TToolButton;
    tb_exit: TToolButton;
    gb_1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    e_id: TEdit;
    e_name: TEdit;
    DBGrid1: TDBGrid;
    data_cost_active: TDataSource;
    ado_cost_active: TADOQuery;
    ado_cost_activecost_active_id: TStringField;
    ado_cost_activecost_active_name: TStringField;
    procedure tb_addClick(Sender: TObject);
    procedure tb_editClick(Sender: TObject);
    procedure tb_delClick(Sender: TObject);
    procedure tb_canClick(Sender: TObject);
    procedure tb_saveClick(Sender: TObject);
    procedure tb_exitClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
     procedure  s_save;
     procedure  s_show;
     procedure  s_clear(bb:boolean);
  end;

var
  w_cost_active: Tw_cost_active;
   bsf:string;
implementation

uses f_main;

{$R *.dfm}
procedure Tw_cost_active.s_save;
 begin
   ado_cost_active.Edit ;
   ado_cost_active.FieldByName('cost_active_id').AsString :=trim(e_id.Text);
   ado_cost_active.FieldByName('cost_active_name').AsString :=trim(e_name.Text);
   ado_cost_active.Post;
 end;
procedure Tw_cost_active.s_show;
 begin
   ado_cost_active.Close;
   ado_cost_active.SQL.Clear;
   ado_cost_active.SQL.Add('select * from  cost_active');
   ado_cost_active.Open;
end;
procedure Tw_cost_active.s_clear(bb:boolean);
var
i:integer;
begin
   e_id.text:='';
   e_name.Text:='';
   tb_add.Enabled:=true;
   tb_edit.Enabled :=true;
   tb_del.Enabled :=true;
   tb_save.Enabled :=false;
   tb_can.Enabled :=false;
   tb_exit.Enabled :=true;
for i:=0 to gb_1.ControlCount-1 do
   begin
     if (gb_1.Controls[i].ClassType=tedit) then
        begin
          if bb=false then
              gb_1.Controls[i].Enabled :=false
            else
               gb_1.Controls[i].Enabled :=true;
         end;
   end;
 end;
procedure Tw_cost_active.tb_addClick(Sender: TObject);
var
 ss:boolean;
begin
 if bsf='xz'  then
   ss:=true;
   s_clear(ss);
   e_id.text:='';
   e_name.Text:='';
   e_id.SetFocus ;
   tb_add.Enabled :=false;
   tb_edit.Enabled :=false;
   tb_save.Enabled :=true;
   tb_del.Enabled :=false;
   tb_can.Enabled :=true;
   tb_exit.Enabled :=false;
end;

procedure Tw_cost_active.tb_editClick(Sender: TObject);
var
i:integer;
begin
if trim(e_id.text)<>'' then  begin
   bsf:='xg';
   for i:=0 to gb_1.ControlCount-1 do
       if (gb_1.Controls[i].ClassType=tedit) or(gb_1.Controls[i].ClassType=tcombobox) then
           gb_1.Controls[i].Enabled :=true;
            tb_add.Enabled :=false;
            tb_save.Enabled :=true;
            tb_del.Enabled :=false;
            tb_can.Enabled :=true;
            tb_exit.Enabled :=false;
            tb_edit.Enabled :=false;
   end
else
   showmessage('请输入修改值');
   exit;
end;

procedure Tw_cost_active.tb_delClick(Sender: TObject);
var
 bb:boolean;
begin
if trim(e_id.Text )<>'' then
 begin
    if MessageDlg('记录是否删除 ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
         begin
          ado_cost_active.Delete;
          s_show;
          bb:=false;
          s_clear(bb);
         end
    else
         exit;
      end
else
   showmessage('请输入删除值!');
   exit;
end;

procedure Tw_cost_active.tb_canClick(Sender: TObject);
var
bb:boolean;
begin
   bb:=false;
   s_clear(bb);
end;
procedure Tw_cost_active.tb_saveClick(Sender: TObject);
var
bb:boolean;
begin
if trim(e_id.Text)='' then
      begin
          showmessage('请输入成本动因号!');
          exit;
      end;
if bsf<>'xg' then
     begin
       ado_cost_active.Close;
       ado_cost_active.SQL.clear;
       ado_cost_active.SQL.Add('select * from cost_active where cost_active_id='+char(39)+trim(e_id.Text)+char(39));
       ado_cost_active.Open;
       end;
if  ado_cost_active.RecordCount <0 then
       begin
         showmessage('请输入值');
         exit;
       end;
 if trim(e_name.Text)='' then
      begin
        showmessage('请输入成本动因名');
        exit;
       end;
if MessageDlg('记录是否保存吗 ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
       begin
         s_save;
         s_show;
         bb:=false;
         s_clear(bb);
       end
    else
        s_show;
        exit;
      end;
procedure Tw_cost_active.DBGrid1CellClick(Column: TColumn);
begin
if  ado_cost_active.RecordCount>0 then
     begin
     e_id.Text:=trim(ado_cost_active.fieldbyname('cost_active_id').AsString );
     e_name.Text:=trim(ado_cost_active.fieldbyname('cost_active_name').AsString );
      end;

end;
procedure Tw_cost_active.tb_exitClick(Sender: TObject);
begin
close;
w_main.Enabled:=true;
end;

procedure Tw_cost_active.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
w_main.Enabled:=true;
end;

procedure Tw_cost_active.FormCreate(Sender: TObject);
begin
w_main.Enabled:=false;
end;
procedure Tw_cost_active.FormShow(Sender: TObject);
var
ss:boolean;
begin
 ss:=false;
 s_clear(ss);
end;
end.

⌨️ 快捷键说明

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