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

📄 f_active.pas

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

interface

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

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

var
  w_active: Tw_active;
    bsf:string;
implementation

uses data_1, f_main;

{$R *.dfm}
procedure Tw_active.s_save;
 begin
  ado_active.Edit ;
  ado_active.FieldByName('active_id').AsString :=trim(e_id.Text);
  ado_active.FieldByName('active_name').AsString :=trim(e_name.Text);
  ado_active.FieldByName('active_cost').AsString:=trim(e_cost.Text);
  ado_active.Post;
 end;
procedure Tw_active.s_show;
begin
   ado_active.Close;
   ado_active.SQL.Clear;
   ado_active.SQL.Add('select * from active');
   ado_active.SQL.Add('exec pro_active 501');
   ado_active.SQL.Add('exec pro_active 502');
   ado_active.SQL.Add('exec pro_active 503');
   ado_active.SQL.Add('exec pro_active 504');
   ado_active.SQL.Add('exec pro_active 505');
   ado_active.SQL.Add('exec pro_active 506');
   ado_active.SQL.Add('exec pro_active 507');
   ado_active.SQL.Add('exec pro_active 508');
   ado_active.SQL.Add('exec pro_active 509');
   ado_active.SQL.Add('exec pro_active 510');
   ado_active.SQL.Add('exec pro_active 511');
   ado_active.SQL.Add('exec pro_active 512');
   ado_active.Open;
end;
procedure Tw_active.s_clear(bb:boolean);
var
i:integer;
begin
   e_id.text:='';
   e_name.Text:='';
   e_cost.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_active.FormShow(Sender: TObject);
var
ss:boolean;
begin
 ss:=false;
 s_clear(ss);
end;
procedure Tw_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_cost.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 :=true;
end;
procedure Tw_active.tb_canClick(Sender: TObject);
var
bb:boolean;
begin
   bb:=false;
   s_clear(bb);
   end;
procedure Tw_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;
   e_cost.Enabled:=false;
end;

procedure Tw_active.DBGrid1CellClick(Column: TColumn);
begin
if  ado_active.RecordCount>0 then
     begin
     e_id.Text:=trim(ado_active.fieldbyname('active_id').AsString );
     e_name.Text:=trim(ado_active.fieldbyname('active_name').AsString );
     e_cost.Text:=trim(ado_active.fieldbyname('active_cost').AsString);
    end;
end;

procedure Tw_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_active.Close;
        ado_active.SQL.clear;
        ado_active.SQL.Add('select * from active where active_id='+char(39)+trim(e_id.Text)+char(39));
        ado_active.Open;
       end;
if  ado_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_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_active.Delete;
          s_show;
          bb:=false;
          s_clear(bb);
         end
    else
         exit;
      end
else
   showmessage('请输入删除值!');
   exit;
end;
procedure Tw_active.FormCreate(Sender: TObject);
begin
w_main.Enabled:=false;
ado_active.Close;
ado_active.SQL.Clear;
ado_active.SQL.Add('select * from active');
ado_active.Open;
end;

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

⌨️ 快捷键说明

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