📄 jgbbsjtj.pas
字号:
unit JGBbSjTj;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ImgList, ToolWin, OleCtrls, CELLLib_TLB, ExtCtrls,
StdCtrls;
type
TFormJGBbSjTj = class(TForm)
CoolBar1: TCoolBar;
ImageList1: TImageList;
ImageList2: TImageList;
StatusBar1: TStatusBar;
Panel1: TPanel;
Cell1: TCell;
Panel4: TPanel;
Panel6: TPanel;
LblRQ: TLabel;
LblBB: TLabel;
DT: TDateTimePicker;
CboML: TComboBox;
Panel7: TPanel;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
procedure FormCreate(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Cell1ExecuteUserFunc(Sender: TObject; const name: WideString;
rettype, paranum: Smallint; var paratype: Integer;
var funcResult: OleVariant);
private
{ Private declarations }
ActiveNum: smallint;
bbdm:string;
function GetFN(const FN:string):string;
procedure LoadFunction;
public
{ Public declarations }
cCNum : string;
cCName: string;
JGBb_Ny:string;
JGBb_Bbbh:string;
JGBb_date:Tdate;
BbFN:string;
end;
var
FormJGBbSjTj: TFormJGBbSjTj;
implementation
{$R *.dfm}
uses UserFace, DataModule;
function TFormJGBbSjTj.GetFN(const FN:string):string;
var
i:smallint;
begin
for i:=1 to length(FN) do
begin
if copy(FN,i,1)='(' then
begin
result:=copy(FN,1,i-1);
break;
end;
end;
end;
procedure TFormJGBbSjTj.LoadFunction;
var
para1,para2:array[1..4] of smallint;
FuncName,FuncDepiction,FuncParaCount,FuncReturnType,FuncType:olevariant;
begin
FuncType := '公积金/财务函数';
//取公积金存款年初数
FuncName := 'GETDATA'; //函数名
FuncReturnType := 1; //返回值类型 0数值
FuncParaCount := 4; //参数个数
para1[1]:=1;
para1[2]:=0;
para1[3]:=0;
para1[4]:=1;
para2[1]:=0;
para2[2]:=0;
para2[3]:=0;
para2[4]:=0;
FuncDepiction:='提取按月汇总的下级单位报表单元汇总数据,GETDATA(单位,列号,行号,表号)'
+chr(13)+chr(10)+'参数:单位;列号、行号:原表的实际列与行;报表表号';
Cell1.DoAddUserFunctionEX(FuncType,FuncName,FuncReturnType,FuncParaCount,para1[1],para2[1],FuncDepiction);
end;
procedure TFormJGBbSjTj.FormCreate(Sender: TObject);
begin
ActiveNum := 0;
cell1.DoLogin('北京金天鹏软件科技有限公司',363,'00FD18FF080193035CFE09FF9908');
LoadFunction;
//cell1.DoSetShowFormulaState(1);
toolButton2.Enabled:=false;
end;
procedure TFormJGBbSjTj.ToolButton5Click(Sender: TObject);
begin
close;
end;
procedure TFormJGBbSjTj.FormActivate(Sender: TObject);
var
i,j:smallint;
// row,col:smallint;
//gs:olevariant;
//fval:string;
begin
cell1.DoOpenFile(BbFN);
for i:=0 to Cell1.Rows-1 do
for j:=0 to Cell1.Cols-1 do
Cell1.DoSetCellReadOnly(j,i,true);
{ DM.P_CwBbGsInfo(' ',JGBb_Bbbh,1);
with DM do
begin
Qry_GS.First;
while not Qry_GS.Eof do
begin
row:= Qry_GS.Fields.fieldbyname('row').AsInteger;
col:= Qry_GS.Fields.Fieldbyname('col').AsInteger;
gs:= Qry_GS.Fields.Fieldbyname('gs').AsVariant;
cell1.DoSetCellReadOnly(col,row,false);
//cell1.DoSetCellInputOnlyValue(col,row,xx,1000,xx,0 );
DM.F_GetData(lowercase(GetFN(vartostr(gs))),cCNum,JGBb_Ny,fval);
cell1.DoSetCellData(col,row,fval);
cell1.DoSetCellReadOnly(col,row,true);
Qry_GS.Next;
end;
end; }
cell1.DoRedrawAll;
end;
procedure TFormJGBbSjTj.ToolButton2Click(Sender: TObject);
//数据统计
var
row,col:smallint;
ywgs:olevariant;
//xx:wordbool;
// fval:string;
begin
// xx:=false;
DM.P_CwBbGsInfo1(cCNum,JGBb_Bbbh);
bbdm:= DM.F_GetBbdm(JGBb_Bbbh);
//showmessage(ccnum+' '+JGBb_Bbbh);
with DM do
begin
Qry_GS.First;
while not Qry_GS.Eof do
begin
row:= Qry_GS.Fields.Fieldbyname('row').AsInteger;
col:= Qry_GS.Fields.Fieldbyname('col').AsInteger;
ywgs:= Qry_GS.Fields.Fieldbyname('ywgs').AsVariant;
cell1.DoSetCellReadOnly(col,row,false);
//cell1.DoSetCellInputOnlyValue(col,row,xx,1000,xx,0 );
//---------------DM.F_GetData(bbdm,lowercase(GetFN(vartostr(ywgs))),cCNum,JGBb_Ny,fval);
cell1.DoSetFormula(col,row,ywgs);
//cell1.DoSetCellReadOnly(col,row,true);
Qry_GS.Next;
end;
end;
cell1.DoSetShowFormulaState(0);
cell1.DoRedrawAll;
toolButton2.Enabled:=true;
end;
procedure TFormJGBbSjTj.ToolButton3Click(Sender: TObject);
//数据存盘
var
row,col:smallint;
jtgs:olevariant;
fval:olevariant;
cDb:string;
nY,nM,nD: word;
rq1,rq2:Tdate;
begin
DM.P_CwBbGsInfo1(cCNum,JGBb_Bbbh);
bbdm:= DM.F_GetBbdm(JGBb_Bbbh);
with DM do
begin
// wait;
Qry_GS.First;
while not Qry_GS.Eof do
begin
row:= Qry_GS.Fields.fieldbyname('row').AsInteger;
col:= Qry_GS.Fields.Fieldbyname('col').AsInteger;
jtgs:= Qry_GS.Fields.Fieldbyname('jtgs').AsVariant;
cell1.DoGetCellData(col,row,fval);
//cell1.DoSetCellReadOnly(col,row,false);
//cell1.DoSetCellInputOnlyValue(col,row,xx,1000,xx,0 );
//--------------------DM.F_SetData(bbdm,lowercase(GetFN(vartostr(jtgs))),cCNum,JGBb_Ny,vartostr(fval));
//cell1.DoSetCellData(col,row,fval);
//cell1.DoSetCellReadOnly(col,row,true);
Qry_GS.Next;
end;
rq1:= MonthDay(1,JGBb_date);
rq2:= MonthDay(31,JGBb_date);
DM.P_DsbmInfo(cCNum);
cDb:=trim(NVL(DM.Qry_User.FieldByName('gjjdb').AsString,''));
if cDb='' then
begin
//------------ ----------waitclear;
Application.MessageBox('未设置地市的公积金数据库,公积金业务数据设置失败!',MsgCaption,48);
exit;
end;
if not DM.F_GjjConnect(DatabaseType(INISYSTEMTYPE),ConnectServer(INISYSTEMTYPE),cDb) then
begin
//------------------------waitclear;
Application.MessageBox('无法连接公积金数据库,公积金业务数据设置失败!',MsgCaption,48);
exit;
end;
// JGBb_Ny,JGBb_Bbbh;
//----------------------------P_SetTjData(JGBb_Bbbh,JGBb_Ny,rq1,rq2);
//----------------------------waitclear;
end;
cell1.DoRedrawAll;
toolButton2.Enabled:=false;
end;
procedure TFormJGBbSjTj.Cell1ExecuteUserFunc(Sender: TObject;
const name: WideString; rettype, paranum: Smallint;
var paratype: Integer; var funcResult: OleVariant);
var
para0,para1:OleVariant;
begin
//DoFetchFuncParameter
para0:=string(cell1.DoFetchFuncStringParameter(0));
para1:=round(cell1.DoFetchFuncDoubleParameter(1));
//--------------if trim(string(DM.F_GetTjData(para0,JGBb_Ny,para1)))='' then
funcResult:= 0;
//------------------else
//------------------ funcResult:= DM.F_GetTjData(para0,JGBb_Ny,para1);
//showmessage(string(funcresult));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -