📄 usrpt1.pas
字号:
unit usRpt1;
interface
uses dbtables,Sysutils;
procedure US_CreateReport1(pAttr:PChar; FClass:integer; RowPerPage:integer);
procedure US_FreeReport1;
procedure AddColumnHeader;
procedure FillTable;
var //us_db1 : TDataBase;
//us_qry : TQuery;
sAttr : string;
iFClass : integer;
iRowPerPage : integer;
iRowCount : integer;
iPageNO : integer;
implementation
uses uXls,uCommon,uFoodsStockQ;
procedure US_CreateReport1(pAttr:PChar; FClass:integer; RowPerPage:integer);
begin
{
us_db1 := TDatabase.Create(nil);
with us_db1 do
begin
AliasName := 'HZ_US';
DatabaseName :='HZ_US';
Params.Clear;
Params.Add('USER NAME=hzdba');
Params.Add('PASSWORD=project');
KeepConnection := True;
LoginPrompt := False;
Connected := True;
end;
us_qry := TQuery.Create(nil);
us_qry.DatabaseName := 'HZ_US';
}
iRowPerPage := RowPerPage;
iPageNO := 0;
iRowCount := frmFoodsStockQ.FoodsStockQuery.RecordCount;
frmFoodsStockQ.FoodsStockQuery.First;
sAttr := pAttr;
iFClass := FClass;
XLS_Create;
XLS_SetWorkSheetFontSize('宋体',10);
while not frmFoodsStockQ.FoodsStockQuery.Eof do
begin
AddColumnHeader;
FillTable;
Inc(iPageNO);
XLS_AddPageBreak(iPageNO*(iRowPerPage+5),13);
end;
XLS_Show;
end;
procedure US_FreeReport1;
begin
end;
procedure AddColumnHeader;
var r : integer;
i : integer;
begin
r := iPageNO * (iRowPerPage+5);
Inc(r);
XLS_Merge(1,r,13,r);
XLS_FillRange(1,r,13,r,sAttr+'储藏情况表');
r := r+2;
//XLS_FillCell(1,r,'填报单位:'+Unit_Name,2);
XLS_FillCell(1,r,'填报单位:',2);
XLS_FillCell(13,r,'储粮性质:'+sAttr,1);
Inc(r);
XLS_DrawBorder(1,r,1,r);
XLS_FillCell(1,r,'库点',0);
XLS_DrawBorder(2,r,2,r);
XLS_FillCell(2,r,'仓号',0);
XLS_DrawBorder(3,r,3,r);
XLS_FillCell(3,r,'货位',0);
XLS_DrawBorder(4,r,4,r);
XLS_FillCell(4,r,'品种',0);
XLS_DrawBorder(5,r,5,r);
XLS_FillCell(5,r,'产地',0);
XLS_DrawBorder(6,r,6,r);
XLS_FillCell(6,r,'入库年月',0);
XLS_DrawBorder(7,r,7,r);
XLS_FillCell(7,r,'数量 Kg',0);
XLS_DrawBorder(8,r,8,r);
XLS_FillCell(8,r,'包数',0);
XLS_DrawBorder(9,r,9,r);
XLS_FillCell(9,r,'水分%',0);
XLS_DrawBorder(10,r,10,r);
XLS_FillCell(10,r,'杂质',0);
case iFClass of
1: // 大米
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,'稻谷粒',0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,'不完善粒',0);
end;
2: // 大豆
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,'纯粮率',0);
end;
3: // 小麦
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,'容重(g/L)',0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,'不完善粒',0);
end;
4: // 玉米
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,'纯粮率',0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,'容重(g/L)',0);
XLS_DrawBorder(13,r,13,r);
XLS_FillCell(13,r,'不完善粒',0);
end;
5: // 稻谷
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,'黄粒米%',0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,'出糙率%',0);
XLS_DrawBorder(13,r,13,r);
XLS_FillCell(13,r,'不完善粒',0);
// 暂不打印
//XLS_DrawBorder(14,r,14,r);
//XLS_FillCell(14,r,'整精米率%',0);
//XLS_DrawBorder(15,r,15,r);
//XLS_FillCell(15,r,'谷外糙米%',0);
end;
6: // 油
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,'酸价',0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,'高过氧化值',0);
end;
end;
end;
procedure FillTable;
var i : integer;
r : integer;
iBase : integer;
y,m,d : word;
begin
iBase := iPageNO * (iRowPerPage+5)+4;
for i:=1 to iRowPerPage do
begin
r := iBase+i;
with frmFoodsStockQ do
begin
if FoodsStockQuery.Eof then Break;
XLS_DrawBorder(1,r,1,r);
XLS_FillCell(1,r,FoodsStockQuerySite.Value,0);
XLS_DrawBorder(2,r,2,r);
XLS_FillCell(2,r,FoodsStockQueryDepot.Value,0);
XLS_DrawBorder(3,r,3,r);
XLS_FillCell(3,r,FoodsStockQueryFDSTK_DEPOTPOS.AsString,0);
XLS_DrawBorder(4,r,4,r);
XLS_FillCell(4,r,FoodsStockQueryFoodType.Value,0);
XLS_DrawBorder(5,r,5,r);
XLS_FillCell(5,r,FoodsStockQueryFDSTK_PRODAREA.Value,0);
XLS_DrawBorder(6,r,6,r);
DecodeDate(FoodsStockQueryFDSTK_INDATETIME.Value,y,m,d);
XLS_FillCell(6,r,IntToStr(y)+'-'+IntToStr(m),0);
XLS_DrawBorder(7,r,7,r);
XLS_FillCell(7,r,FoodsStockQueryFDSTK_SUM.AsString,0);
XLS_DrawBorder(8,r,8,r);
XLS_FillCell(8,r,FoodsStockQueryPackageSum.AsString,0);
XLS_DrawBorder(9,r,9,r);
XLS_FillCell(9,r,FoodsStockQueryFQ_MOISTURE.AsString,0);
XLS_DrawBorder(10,r,10,r);
XLS_FillCell(10,r,FoodsStockQueryFQ_IMPURITY.AsString,0);
case iFClass of
1: // 大米
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,FoodsStockQueryFQ_ITEM2.AsString,0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,FoodsStockQueryFQ_ITEM3.AsString,0);
end;
2: // 大豆
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,FoodsStockQueryFQ_ITEM1.AsString,0);
end;
3: // 小麦
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,FoodsStockQueryFQ_ITEM2.AsString,0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,FoodsStockQueryFQ_ITEM3.AsString,0);
end;
4: // 玉米
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,FoodsStockQueryFQ_ITEM1.AsString,0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,FoodsStockQueryFQ_ITEM2.AsString,0);
XLS_DrawBorder(13,r,13,r);
XLS_FillCell(13,r,FoodsStockQueryFQ_ITEM3.AsString,0);
end;
5: // 稻谷
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,FoodsStockQueryFQ_ITEM1.AsString,0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,FoodsStockQueryFQ_ITEM2.AsString,0);
XLS_DrawBorder(13,r,13,r);
XLS_FillCell(13,r,FoodsStockQueryFQ_ITEM3.AsString,0);
end;
6: // 油
begin
XLS_DrawBorder(11,r,11,r);
XLS_FillCell(11,r,FoodsStockQueryFQ_ITEM1.AsString,0);
XLS_DrawBorder(12,r,12,r);
XLS_FillCell(12,r,FoodsStockQueryFQ_ITEM2.AsString,0);
end;
end;
FoodsStockQuery.Next;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -