📄 jgjtbbgs.pas
字号:
unit JGJtBbGs;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ToolWin, ExtCtrls, OleCtrls, ImgList,
Menus, ADODB, OleServer, DBtables, DB, CELLLib_TLB;
type
TFormJtBbGs = class(TForm)
ControlBar1: TControlBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
ToolButton19: TToolButton;
ToolButton20: TToolButton;
ToolButton21: TToolButton;
ToolButton22: TToolButton;
ToolButton23: TToolButton;
ToolButton24: TToolButton;
ToolBar3: TToolBar;
ComboBox2: TComboBox;
ComboBox4: TComboBox;
ToolButton35: TToolButton;
ToolButton36: TToolButton;
ToolButton37: TToolButton;
ToolButton38: TToolButton;
ToolButton39: TToolButton;
ToolButton40: TToolButton;
ToolButton41: TToolButton;
ToolButton42: TToolButton;
ToolButton43: TToolButton;
ToolButton44: TToolButton;
ToolButton45: TToolButton;
ToolButton46: TToolButton;
ToolButton47: TToolButton;
ToolButton49: TToolButton;
ToolButton50: TToolButton;
ToolButton51: TToolButton;
Cell1: TCell;
ImageList1: TImageList;
ImageList3: TImageList;
ToolButton52: TToolButton;
ToolButton53: TToolButton;
ComboBox1: TComboBox;
ToolButton54: TToolButton;
ToolButton55: TToolButton;
ToolButton56: TToolButton;
ToolButton57: TToolButton;
ToolButton58: TToolButton;
ToolButton59: TToolButton;
ToolButton60: TToolButton;
ToolButton61: TToolButton;
ToolButton62: TToolButton;
ToolButton63: TToolButton;
ToolButton64: TToolButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
C1: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
F1: TMenuItem;
N15: TMenuItem;
O1: TMenuItem;
N18: TMenuItem;
S1: TMenuItem;
A1: TMenuItem;
N19: TMenuItem;
C2: TMenuItem;
Edit1: TEdit;
ToolButton25: TToolButton;
ToolButton26: TToolButton;
H1: TMenuItem;
T1: TMenuItem;
N20: TMenuItem;
A2: TMenuItem;
StatusBar1: TStatusBar;
E1: TMenuItem;
U1: TMenuItem;
ReDo1: TMenuItem;
N21: TMenuItem;
Cut1: TMenuItem;
Copy1: TMenuItem;
N22: TMenuItem;
ToolButton27: TToolButton;
ToolButton28: TToolButton;
ToolButton29: TToolButton;
ToolButton30: TToolButton;
ToolButton31: TToolButton;
ToolButton32: TToolButton;
ToolButton33: TToolButton;
ToolButton34: TToolButton;
Label1: TLabel;
ToolButton48: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure A1Click(Sender: TObject);
procedure C2Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure Cell1CellChange(Sender: TObject; oldcol, oldrow, newcol,
newrow: Integer);
procedure FormActivate(Sender: TObject);
procedure ToolButton55Click(Sender: TObject);
procedure ToolButton57Click(Sender: TObject);
procedure ToolButton59Click(Sender: TObject);
procedure ToolButton60Click(Sender: TObject);
procedure ToolButton61Click(Sender: TObject);
procedure ToolButton62Click(Sender: TObject);
procedure ToolButton63Click(Sender: TObject);
procedure ToolButton64Click(Sender: TObject);
procedure ToolButton19Click(Sender: TObject);
procedure ToolButton20Click(Sender: TObject);
procedure ToolButton21Click(Sender: TObject);
procedure ToolButton22Click(Sender: TObject);
procedure ToolButton14Click(Sender: TObject);
procedure ToolButton15Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure ToolButton17Click(Sender: TObject);
procedure ToolButton18Click(Sender: TObject);
procedure ToolButton40Click(Sender: TObject);
procedure ToolButton38Click(Sender: TObject);
procedure ToolButton35Click(Sender: TObject);
procedure ToolButton25Click(Sender: TObject);
procedure ToolButton26Click(Sender: TObject);
procedure ToolButton51Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure A2Click(Sender: TObject);
procedure ToolButton28Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton32Click(Sender: TObject);
procedure ToolButton48Click(Sender: TObject);
procedure Cell1ExecuteUserFunc(Sender: TObject; const name: WideString;
rettype, paranum: Smallint; var paratype: Integer;
var funcResult: OleVariant);
private
{ Private declarations }
dec_inc:integer;
activenum:smallint;
dsbh,bb:string;
gslx:smallint;
procedure LoadFunction;
public
{ Public declarations }
structfilename :string;
JtBbdm:string;
procedure WMSysCommand(var Msg:TWMSysCommand);
message WM_SYSCOMMAND;
end;
var
FormJtBbGs: TFormJtBbGs;
Cell_Cols,Cell_Rows,dsbh:string;
implementation
uses uDMFunc, JGBbXmSz,uUserFunc,JgBbSize,JgBbStructIns,JgBbStructDel,JgBbStructRC,
dmPJg;
{$R *.DFM}
procedure TFormJtBbGs.FormClose(Sender: TObject; var Action: TCloseAction);
{关闭窗体}
begin
Action:=CaFree;
FormJtBbGs.free;
//bbmain.controlbar1.visible:=true;
end;
procedure TFormJtBbGs.FormCreate(Sender: TObject);
{创建窗体}
begin
cell1.DoLogin('北京金天鹏软件科技有限公司',363,'00FD18FF080193035CFE09FF9908');
//JtBbdm:= lowercase(JGBbSz.bbdm);
LoadFunction;
combobox1.ItemIndex :=1;
combobox2.ItemIndex :=6;
combobox4.ItemIndex :=2;
end;
procedure TFormJtBbGs.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);
//Cell.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 TFormJtBbGs.ToolButton6Click(Sender: TObject);
{预览}
begin
cell1.DoPrintPreview(true);
end;
procedure TFormJtBbGs.ToolButton5Click(Sender: TObject);
{打印}
begin
cell1.DoPrint(true);
end;
procedure TFormJtBbGs.N15Click(Sender: TObject);
{新建}
var
dlgresult:word;
cfile :widestring;
begin
dlgresult:=messagedlg('是否要保存报表格式文件?',mtcustom,[mbyes,mbno,mbcancel],0);
if dlgresult=mrYes then
begin
cfile:='';
if structfilename<>'' then
cfile:=structfilename
else
if savedialog1.Execute then
cfile:=savedialog1.FileName;
if cfile<>'' then
begin
if cell1.DoSaveFile(cfile)>0 then
begin
cell1.DoDeletePage(0,1);
cell1.DoAppendPage('',0);
cell1.cols:=6;
cell1.rows:=20;
cell1.PageLabelVisible :=false;
end
else
showmessage('存盘失败!')
end;
end
else if dlgresult=mrno then
begin
cell1.DoDeletePage(0,1);
cell1.DoAppendPage('',0);
cell1.cols:=6;
cell1.rows:=20;
cell1.PageLabelVisible :=false;
end;
end;
procedure TFormJtBbGs.N14Click(Sender: TObject);
{页面设置}
begin
cell1.DoPrintPageSetup;
end;
procedure TFormJtBbGs.ToolButton2Click(Sender: TObject);
{打开}
begin
if opendialog1.Execute then
cell1.DoOpenFile(opendialog1.filename);
end;
procedure TFormJtBbGs.ToolButton3Click(Sender: TObject);
{保存}
var
//cfile :widestring;
gs:OleVariant;
//dynr,zh,zt,ztfg:OleVariant;
i,j,cols,rows,row,col:smallint;
//iDBType :tDBMS; }
begin
CwBbgsDel(dsbh,bb,gslx);
cols:=cell1.Cols;
rows:=cell1.Rows;
for i:=0 to rows-1 do
for j:=0 to cols-1 do
begin
row:=i;
col:=j;
if cell1.IsFormulaCell(col,row) then
begin
cell1.DoGetFormula(col,row,gs);
CwBbgsSave(dsbh,bb,gs,row,col,gslx);
end;
end;
end;
procedure TFormJtBbGs.A1Click(Sender: TObject);
{另存为}
var
cfile :widestring;
begin
if savedialog1.Execute then
begin
cfile:=savedialog1.FileName;
if cfile<>'' then
begin
if cell1.DoSaveFile(cfile)>0 then
showmessage('保存文件'+cfile+'成功。')
else
showmessage('存盘失败!')
end;
end;
end;
procedure TFormJtBbGs.C2Click(Sender: TObject);
{关闭}
begin
close;
end;
procedure TFormJtBbGs.ToolButton11Click(Sender: TObject);
{恢复}
begin
cell1.DoUndo;
end;
procedure TFormJtBbGs.ToolButton12Click(Sender: TObject);
{重复}
begin
cell1.doredo;
end;
procedure TFormJtBbGs.ToolButton9Click(Sender: TObject);
{复制}
begin
cell1.DoCopySelected;
end;
procedure TFormJtBbGs.ToolButton8Click(Sender: TObject);
{剪切}
begin
Cell1.DoCutSelected;
end;
procedure TFormJtBbGs.Cell1CellChange(Sender: TObject; oldcol, oldrow,
newcol, newrow: Integer);
{移动cell光标}
var
cPos:string;
nInt:integer;
f_size,f_style,f_name:olevariant;
c_commas,c_percent,c_decimals,c_currency,c_unit,c_minus,c_scientific:olevariant;
begin
//坐标位置
cPos:=CellSwapPositionStr(newcol,newrow);
edit1.Text :=cPos;
//折行显示
nInt:=Cell1.DoGetCellTextStyle(newcol,newrow);
if nInt=1 then Toolbutton38.Down :=True
else Toolbutton38.Down :=False;
//字体
if cell1.DoGetCellFont(newcol,newrow,f_size,f_style,f_name)=1 then //成功
begin
combobox2.Text:=f_name;
Combobox4.Text:=inttostr(f_size);
Toolbutton35.Down :=False;
Toolbutton36.Down :=False;
Toolbutton37.Down :=False;
Case f_style of
1: Toolbutton35.Down :=True;
2: Toolbutton36.Down :=True;
3: Toolbutton37.Down :=True;
4: begin
Toolbutton35.Down :=True;
Toolbutton36.Down :=True;
end;
5: begin
Toolbutton35.Down :=True;
Toolbutton37.Down :=True;
end;
6: begin
Toolbutton36.Down :=True;
Toolbutton37.Down :=True;
end;
7: begin
Toolbutton35.Down :=True;
Toolbutton36.Down :=True;
Toolbutton37.Down :=True;
end;
end;
end
else //取字体不成功设置成默认值
begin
combobox2.Text:='宋体';
Combobox4.Text:='10';
Toolbutton35.Down :=False;
Toolbutton36.Down :=False;
Toolbutton37.Down :=False;
end;
//对齐方式
nInt:=Cell1.DoGetCellAlignment(newcol,newrow);
Toolbutton40.Down :=False;
Toolbutton41.Down :=False;
Toolbutton42.Down :=False;
Toolbutton44.Down :=False;
Toolbutton45.Down :=False;
Toolbutton46.Down :=False;
Case nInt of
1 : Toolbutton40.Down :=True; //左
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -