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

📄 jgbbsjlr.pas

📁 公积金监管系统客户端,是新疆公积金监管系统的客户端软件
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit JGBbSjLr;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ImgList, ToolWin, OleCtrls, CELLLib_TLB, ExtCtrls,
  StdCtrls, AppEvnts, SOAPHTTPTrans, DateUtils, ComObj;

type
  TFormJGBbSjLr = class(TForm)
    ImageList1: TImageList;
    ImageList2: TImageList;
    Panel1: TPanel;
    Cell1: TCell;
    Panel4: TPanel;
    Panel6: TPanel;
    LblRQ: TLabel;
    Label17: TLabel;
    DT: TDateTimePicker;
    CboML: TComboBox;
    Panel5: TPanel;
    ToolBar2: TToolBar;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton8: TToolButton;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ApplicationEvents1: TApplicationEvents;
    RichEdit1: TRichEdit;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    procedure FormCreate(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure CboMLChange(Sender: TObject);
    procedure DTChange(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure Cell1ExecuteUserFunc(Sender: TObject; const name: WideString;
      rettype, paranum: Smallint; var paratype: Integer;
      var funcResult: OleVariant);
    procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
  private
    { Private declarations }
    bbfilename: string;
    nY, nM, nD: word;
    Jtb_Ny: string;
    Indx: smallint;
    procedure Getdata1(const Ary: array of double);
    procedure Setdata1(var Ary: array of double);
    procedure Getdata2(const Ary: array of double);
    procedure Setdata2(var Ary: array of double);
    procedure Getdata3(const Ary: array of double);
    procedure Setdata3(var Ary: array of double);
    procedure Getdata4(const Ary: array of double);
    procedure Setdata4(var Ary: array of double);
    procedure Getdata5(const Ary: array of double);
    procedure Setdata5(var Ary: array of double);
    procedure Getdata6(var Ary: array of double);
    function Setdata6: smallint;
    procedure Getdata7;
    function Setdata7: smallint;
    procedure Getdata8;
    function Setdata8: smallint;
    procedure LoadFunction;
    procedure DoEnter(var Msg: TMsg; var Handled: Boolean);
    procedure Gjjtjb;
    function getyhzh(kmdm: string): string;
    function getKhyh(kmdm: string): string;
    function Cw_Calc(cdate: string; Km, Func, ztbh: olevariant): Double;
  public
    { Public declarations }
  end;

var
  FormJGBbSjLr: TFormJGBbSjLr;

implementation

{$R *.dfm}
uses UserFace, DataModule;

procedure TFormJGBbSjLr.LoadFunction;
var
  para1, para2: array[1..5] of smallint;
  FuncName, FuncDepiction, FuncParaCount, FuncReturnType, FuncType: olevariant;
begin
  FuncType := '公积金/财务函数';

  //取公积金存款年初数
  FuncName := 'GETDATA'; //函数名
  FuncReturnType := 1; //返回值类型 0数值
  FuncParaCount := 5; //参数个数
  para1[1] := 1;
  para1[2] := 0;
  para1[3] := 0;
  para1[4] := 1;
  para1[5] := 1;
  para2[1] := 0;
  para2[2] := 0;
  para2[3] := 0;
  para2[4] := 0;
  para2[5] := 1;
  FuncDepiction := '提取按月汇总的下级单位报表单元汇总数据,GETDATA(单位,列号,行号,表号,帐套号)'
    + chr(13) + chr(10) + '参数:单位;列号、行号:原表的实际列与行;报表表号'
    + chr(13) + chr(10) +
    '帐套号:可缺省,默认为第一套帐,4位字符串,用双引号""引起来';
  Cell1.DoAddUserFunctionEX(FuncType, FuncName, FuncReturnType, FuncParaCount,
    para1[1], para2[1], FuncDepiction);

  FuncDepiction := '求取科目的各项指标,Cw_Calc("科目号",n,["帐套号"])' + chr(13)
    + chr(10) + '科目号:字符串,用双引号""引起来;' +
    chr(13) + chr(10) +
    'n功能号:1年初数,2期初数据,3期末余额,4本期发生差额,5本期借方发生,6本期贷方发生额,7本期借贷差,8本期贷借差,9累计借方发生额,10累计贷方发生额,11累计借贷差,12累计贷借差;' +
    chr(13) + chr(10) + '帐套号:可缺省,默认为第一套帐,4位字符串,用双引号""引起来'
    +
    chr(13) + chr(10) +
    '例:Cw_Calc("102",1,"0001") 代表取第一套帐中102科目的年初数';
  Para1[1] := 1;
  para1[2] := 0;
  para1[3] := 1;
  para2[1] := 0;
  para2[2] := 0;
  para2[3] := 1;
  Cell1.DoAddUserFunctionEX(FuncType, 'CW_CALC', 0, 3, para1[1], para2[1],
    FuncDepiction);
  //Cell1.DoAddUserFunctionEX(FuncType,'CW_CALC',0,2,para1[1],para2[1],FuncDepiction);

  FuncName := 'GETKHYH'; //函数名
  FuncReturnType := 1; //返回值类型 0数值
  FuncParaCount := 1;
  para1[1] := 1;
  para2[1] := 0;
  FuncDepiction := '取银行信息,GETKHYH(科目号)'
    + chr(13) + chr(10) + '参数:科目号,不可缺省';
  Cell1.DoAddUserFunctionEX(FuncType, FuncName, FuncReturnType, FuncParaCount,
    para1[1], para2[1], FuncDepiction);

  FuncName := 'GETYHZH'; //函数名
  FuncReturnType := 1; //返回值类型 0数值
  FuncParaCount := 1;
  para1[1] := 1;
  para2[1] := 0;
  FuncDepiction := '取银行信息,GETYHZH(科目号)'
    + chr(13) + chr(10) + '参数:科目号,不可缺省';
  Cell1.DoAddUserFunctionEX(FuncType, FuncName, FuncReturnType, FuncParaCount,
    para1[1], para2[1], FuncDepiction);

end;

procedure TFormJGBbSjLr.Getdata1(const Ary: array of double);
begin
  cell1.DoSetCellData(3, 5, Ary[0]);
  cell1.DoSetCellData(4, 5, Ary[1]);
  cell1.DoSetCellData(3, 6, Ary[2]);
  cell1.DoSetCellData(4, 6, Ary[3]);
  cell1.DoSetCellData(3, 7, Ary[4]);
  cell1.DoSetCellData(4, 7, Ary[5]);
  cell1.DoSetCellData(3, 8, Ary[6]);
  cell1.DoSetCellData(4, 8, Ary[7]);
  cell1.DoSetCellData(3, 9, Ary[8]);
  cell1.DoSetCellData(4, 9, Ary[9]);
  cell1.DoSetCellData(3, 10, Ary[10]);
  cell1.DoSetCellData(4, 10, Ary[11]);
  cell1.DoSetCellData(3, 11, Ary[12]);
  cell1.DoSetCellData(4, 11, Ary[13]);

  cell1.DoSetCellData(7, 5, Ary[14]);
  cell1.DoSetCellData(8, 5, Ary[15]);
  cell1.DoSetCellData(7, 6, Ary[16]);
  cell1.DoSetCellData(8, 6, Ary[17]);
  cell1.DoSetCellData(7, 7, Ary[18]);
  cell1.DoSetCellData(8, 7, Ary[19]);
  cell1.DoSetCellData(7, 8, Ary[20]);
  cell1.DoSetCellData(8, 8, Ary[21]);

  cell1.DoSetCellData(7, 9, Ary[22]);
  cell1.DoSetCellData(8, 9, Ary[23]);

  cell1.DoSetCellData(7, 13, Ary[24]);
  cell1.DoSetCellData(8, 13, Ary[25]);

  cell1.DoSetCellData(7, 14, Ary[26]);
  cell1.DoSetCellData(8, 14, Ary[27]);

  cell1.DoSetCellData(5, 20, Ary[28]);
  cell1.DoSetCellData(5, 21, Ary[29]);

  cell1.DoSetCellData(5, 22, Ary[30]);
  cell1.DoSetCellData(5, 23, Ary[31]);
  cell1.DoSetCellData(5, 24, Ary[32]);
  cell1.DoSetCellData(5, 25, Ary[33]);
  cell1.DoSetCellData(5, 26, Ary[34]);

  cell1.DoSetFormula(3, 16, 'sum(D6:D12)');
  cell1.DoSetFormula(4, 16, 'sum(E6:E12)');

  cell1.DoSetFormula(7, 10, 'sum(H6:H9)');
  cell1.DoSetFormula(8, 10, 'sum(I6:I9)');

  cell1.DoSetFormula(7, 15, 'sum(H14:H15)');
  cell1.DoSetFormula(8, 15, 'sum(I14:I15)');

  cell1.DoSetFormula(7, 16, 'H11+H16');
  cell1.DoSetFormula(8, 16, 'I11+I16');

  cell1.DoSetFormula(5, 27, 'sum(F21:F27)');

end;

procedure TFormJGBbSjLr.Setdata1(var Ary: array of double);
var
  temp: array of olevariant;
  i: smallint;
begin
  setlength(temp, 35);
  for i := 0 to 34 do
    temp[i] := 0;
  cell1.DoGetCellData(3, 5, temp[0]);
  cell1.DoGetCellData(4, 5, temp[1]);
  cell1.DoGetCellData(3, 6, temp[2]);
  cell1.DoGetCellData(4, 6, temp[3]);
  cell1.DoGetCellData(3, 7, temp[4]);
  cell1.DoGetCellData(4, 7, temp[5]);
  cell1.DoGetCellData(3, 8, temp[6]);
  cell1.DoGetCellData(4, 8, temp[7]);
  cell1.DoGetCellData(3, 9, temp[8]);
  cell1.DoGetCellData(4, 9, temp[9]);
  cell1.DoGetCellData(3, 10, temp[10]);
  cell1.DoGetCellData(4, 10, temp[11]);
  cell1.DoGetCellData(3, 11, temp[12]);
  cell1.DoGetCellData(4, 11, temp[13]);
  cell1.DoGetCellData(7, 5, temp[14]);
  cell1.DoGetCellData(8, 5, temp[15]);
  cell1.DoGetCellData(7, 6, temp[16]);
  cell1.DoGetCellData(8, 6, temp[17]);
  cell1.DoGetCellData(7, 7, temp[18]);
  cell1.DoGetCellData(8, 7, temp[19]);
  cell1.DoGetCellData(7, 8, temp[20]);
  cell1.DoGetCellData(8, 8, temp[21]);
  cell1.DoGetCellData(7, 9, temp[22]);
  cell1.DoGetCellData(8, 9, temp[23]);
  cell1.DoGetCellData(7, 13, temp[24]);
  cell1.DoGetCellData(8, 13, temp[25]);
  cell1.DoGetCellData(7, 14, temp[26]);
  cell1.DoGetCellData(8, 14, temp[27]);
  cell1.DoGetCellData(5, 20, temp[28]);
  cell1.DoGetCellData(5, 21, temp[29]);
  cell1.DoGetCellData(5, 22, temp[30]);
  cell1.DoGetCellData(5, 23, temp[31]);
  cell1.DoGetCellData(5, 24, temp[32]);
  cell1.DoGetCellData(5, 25, temp[33]);
  cell1.DoGetCellData(5, 26, temp[34]);
  for i := 0 to 34 do
    Ary[i] := temp[i];
end;

procedure TFormJGBbSjLr.Getdata2(const Ary: array of double);
begin
  cell1.DoSetCellData(3, 5, Ary[0]);
  cell1.DoSetCellData(4, 5, Ary[1]);
  cell1.DoSetCellData(3, 6, Ary[2]);
  cell1.DoSetCellData(4, 6, Ary[3]);
  cell1.DoSetCellData(3, 7, Ary[4]);
  cell1.DoSetCellData(4, 7, Ary[5]);
  cell1.DoSetCellData(3, 8, Ary[6]);
  cell1.DoSetCellData(4, 8, Ary[7]);
  cell1.DoSetCellData(3, 9, Ary[8]);
  cell1.DoSetCellData(4, 9, Ary[9]);
  cell1.DoSetCellData(3, 11, Ary[10]);
  cell1.DoSetCellData(4, 11, Ary[11]);
  cell1.DoSetCellData(3, 12, Ary[12]);
  cell1.DoSetCellData(4, 12, Ary[13]);
  cell1.DoSetCellData(3, 13, Ary[14]);
  cell1.DoSetCellData(4, 13, Ary[15]);

  cell1.DoSetFormula(3, 4, 'sum(D6:D10)');
  cell1.DoSetFormula(4, 4, 'sum(E6:E10)');
  cell1.DoSetFormula(3, 10, 'sum(D12:D14)');
  cell1.DoSetFormula(4, 10, 'sum(E12:E14)');
  cell1.DoSetFormula(3, 14, 'D5-D11');
  cell1.DoSetFormula(4, 14, 'E5-E11');
end;

procedure TFormJGBbSjLr.Setdata2(var Ary: array of double);
var
  temp: array of olevariant;
  i: smallint;
begin
  setlength(temp, 16);
  for i := 0 to 15 do
    temp[i] := 0;
  cell1.DoGetCellData(3, 5, temp[0]);
  cell1.DoGetCellData(4, 5, temp[1]);
  cell1.DoGetCellData(3, 6, temp[2]);
  cell1.DoGetCellData(4, 6, temp[3]);
  cell1.DoGetCellData(3, 7, temp[4]);
  cell1.DoGetCellData(4, 7, temp[5]);
  cell1.DoGetCellData(3, 8, temp[6]);
  cell1.DoGetCellData(4, 8, temp[7]);
  cell1.DoGetCellData(3, 9, temp[8]);
  cell1.DoGetCellData(4, 9, temp[9]);
  cell1.DoGetCellData(3, 11, temp[10]);
  cell1.DoGetCellData(4, 11, temp[11]);
  cell1.DoGetCellData(3, 12, temp[12]);
  cell1.DoGetCellData(4, 12, temp[13]);
  cell1.DoGetCellData(3, 13, temp[14]);
  cell1.DoGetCellData(4, 13, temp[15]);
  for i := 0 to 15 do
    Ary[i] := temp[i];
end;

procedure TFormJGBbSjLr.Getdata3(const Ary: array of double);
begin
  cell1.DoSetCellData(3, 4, Ary[0]);
  cell1.DoSetCellData(3, 5, Ary[1]);
  cell1.DoSetCellData(3, 6, Ary[2]);
  cell1.DoSetCellData(3, 7, Ary[3]);
  cell1.DoSetCellData(3, 8, Ary[4]);
  cell1.DoSetCellData(3, 9, Ary[5]);
  cell1.DoSetCellData(3, 10, Ary[6]);
  cell1.DoSetCellData(4, 4, Ary[7]);
  cell1.DoSetCellData(4, 5, Ary[8]);
  cell1.DoSetCellData(4, 6, Ary[9]);
  cell1.DoSetCellData(4, 7, Ary[10]);
  cell1.DoSetCellData(4, 8, Ary[11]);
  cell1.DoSetCellData(4, 9, Ary[12]);
  cell1.DoSetCellData(4, 10, Ary[13]);
end;

procedure TFormJGBbSjLr.Setdata3(var Ary: array of double);
var
  temp: array of olevariant;
  i: smallint;
begin
  setlength(temp, 14);
  for i := 0 to 13 do
    temp[i] := 0;
  cell1.DoGetCellData(3, 4, temp[0]);
  cell1.DoGetCellData(3, 5, temp[1]);
  cell1.DoGetCellData(3, 6, temp[2]);
  cell1.DoGetCellData(3, 7, temp[3]);
  cell1.DoGetCellData(3, 8, temp[4]);
  cell1.DoGetCellData(3, 9, temp[5]);
  cell1.DoGetCellData(3, 10, temp[6]);
  cell1.DoGetCellData(4, 4, temp[7]);
  cell1.DoGetCellData(4, 5, temp[8]);
  cell1.DoGetCellData(4, 6, temp[9]);
  cell1.DoGetCellData(4, 7, temp[10]);
  cell1.DoGetCellData(4, 8, temp[11]);
  cell1.DoGetCellData(4, 9, temp[12]);
  cell1.DoGetCellData(4, 10, temp[13]);
  for i := 0 to 13 do
    Ary[i] := temp[i];
end;

⌨️ 快捷键说明

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