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

📄 u_zjkgl_zjkgl.pas

📁 这是一个非常使用的DELPHI源码的例子,用的是SQL数据库和DELPHI企业版
💻 PAS
字号:
unit U_zjkgl_zjkgl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, ToolWin, StdCtrls, ImgList, ActnList,
  XPStyleActnCtrls, ActnMan, Grids, DBGrids,u_public_define, DBCtrls, Mask,
  Excel2000, OleServer,strutils;

type
  TFrm_Zjkgl_Zjkgl = class(TForm)
    Tbar: TToolBar;
    ToolButton1: TToolButton;
    P2: TPanel;
    Label2: TLabel;
    ToolButton6: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton13: TToolButton;
    ToolButton16: TToolButton;
    ToolButton17: TToolButton;
    ToolButton18: TToolButton;
    ImageList1: TImageList;
    ActionManager1: TActionManager;
    Zj: TAction;
    Zx: TAction;
    Cz: TAction;
    Excel: TAction;
    Exit1: TAction;
    ToolButton15: TToolButton;
    Lvw_Lb: TDBGrid;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    ExcelApplication1: TExcelApplication;
    ExcelWorksheet1: TExcelWorksheet;
    ExcelWorkbook1: TExcelWorkbook;
    procedure Size_Tz();
    procedure FormResize(Sender: TObject);
    procedure ZjExecute(Sender: TObject);
    procedure Exit1Execute(Sender: TObject);
    procedure Lvw_LbCellClick(Column: TColumn);
    procedure  enable_ctrl(bb:boolean);
    procedure ZxExecute(Sender: TObject);
    procedure CzExecute(Sender: TObject);  //锁定控件
    procedure  excel_out();

    procedure ExcelExecute(Sender: TObject);  // 报表输出
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Zjkgl_Zjkgl: TFrm_Zjkgl_Zjkgl;

implementation
  uses u_zjkgl_zjkgl_grzj,u_data,u_data_update,u_zhgl_zhgl_qtzj,U_Bb_Zjk_Zjkmx;
 var
    mbMoving:Boolean ;
 
{$R *.dfm}

procedure TFrm_Zjkgl_Zjkgl.Size_Tz();
  begin

    lvw_lb.Left:=5;
    lvw_lb.Width:=self.Width-18;
    p2.Left:=lvw_lb.Left;
    p2.Width:=lvw_lb.Width;

  //设置 Top 属性
    if tbar.Visible then
      begin
        Lvw_Lb.Top :=tbar.Height+p2.Height+5;
      end
    else
      begin
        lvw_lb.Top:=p2.Height+5;
      end;

   //设置 height 属性
   lvw_lb.Height := self.Height- (p2.Top + p2.Height) - 40;
  //
  end;
procedure TFrm_Zjkgl_Zjkgl.FormResize(Sender: TObject);
begin
     Size_Tz();
     if g_str_jbxx='增减明细' then
       begin
          frm_bb_zjk_zjkmx:=Tfrm_bb_zjk_zjkmx.Create(application);
          frm_bb_zjk_zjkmx.ShowModal;
          g_str_jbxx:='';
       end;

end;

procedure TFrm_Zjkgl_Zjkgl.ZjExecute(Sender: TObject);
begin
   //G_Str_JBxx:='人员insert';
   frm_zjkgl_zjkgl_grzj:=Tfrm_zjkgl_zjkgl_grzj.Create(application);
   frm_zjkgl_zjkgl_grzj.ShowModal;

   data.Mr_zjb.Close;
   data.Mr_zjb.Open;
   self.Lvw_Lb.DataSource:=Data.Mr_zjb_s;
   data.Mr_zjb.Active:=true;

end;
procedure TFrm_Zjkgl_Zjkgl.Exit1Execute(Sender: TObject);
begin
  close;
//
end;

procedure TFrm_Zjkgl_Zjkgl.Lvw_LbCellClick(Column: TColumn);
begin
 // g_str_selectkh:=dbedit2.Text;
 // g_str_selectbh:=dbedit1.Text;
 // enable_ctrl(true);
end;
procedure TFrm_Zjkgl_Zjkgl.enable_ctrl(bb:boolean);

begin
  //
  end;
procedure TFrm_Zjkgl_Zjkgl.ZxExecute(Sender: TObject);
begin
  frm_zhgl_zhgl_qtzj:=Tfrm_zhgl_zhgl_qtzj.Create(application);
  frm_zhgl_zhgl_qtzj.ShowModal;
     data.Mr_zjb.Close;
   data.Mr_zjb.Open;
   data.Mr_zjb.Active:=true;
end;

procedure TFrm_Zjkgl_Zjkgl.CzExecute(Sender: TObject);
begin
   frm_bb_zjk_zjkmx:=Tfrm_bb_zjk_zjkmx.Create(application);
   frm_bb_zjk_zjkmx.ShowModal;
end;

procedure TFrm_zjkgl_zjkgl.excel_out();
    var i,j,k:integer;
        DataCount,HeadCount:integer;
        Bt:array[1..11] of string;

    begin
    //判断有无数据,如果没数据不能输出
     i:=lvw_lb.DataSource.DataSet.RecordCount;
      if i=0 then
        begin
           application.MessageBox('无记录不能打印!','明日科技');
           exit;
        end;
        //判断有无Excel安装
    try

     excelapplication1.Connect;
     except
        application.MessageBox('机器没有正确安装Excel!','明日科技有限公司');
        exit;
    end;
    //建立连接,进行命名
     excelapplication1.Visible[1]:=true;
     excelapplication1.Caption:='增减款管理报表';
     excelapplication1.Workbooks.Add(null,0);
     excelapplication1.Workbooks.Add(emptyparam,0);
     excelworkbook1.ConnectTo(excelapplication1.Workbooks[1]);
     excelworksheet1.ConnectTo(excelworkbook1.Worksheets[1] as _Worksheet);
    //打印表头
      bt[1]:='时间';
      bt[2]:='编号';
      bt[3]:='卡号';
      bt[4]:='部门名称';
      bt[5]:='余额';
      bt[6]:='增减金额';
      bt[7]:='增减后余额';
      bt[8]:='增减类别';
      bt[9]:='增减方式';
      bt[10]:='收费员';
      bt[11]:='增减分类';
      HeadCount:=11;
     for k:=1 to headcount do
       begin
         excelworksheet1.Cells.Item[1,k]:=Bt[k];
       end;
       //打印数据
     datacount:=lvw_lb.DataSource.DataSet.RecordCount;
     while not lvw_lb.DataSource.DataSet.Bof do
       begin
        lvw_lb.DataSource.DataSet.Prior;
       end;
      for j:=2 to datacount+1 do
         begin
             for k:=1 to  headcount do
                begin
                   excelworksheet1.Cells.Item[j,k]:=lvw_lb.Fields[k-1].Text;
                end;
                lvw_lb.DataSource.DataSet.Next;
         end;
     excelapplication1.Disconnect;

   //  application.MessageBox('报表导出成功','明日科技');
    end;
procedure TFrm_Zjkgl_Zjkgl.ExcelExecute(Sender: TObject);
begin
  excel_out;
end;

end.

⌨️ 快捷键说明

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