cghzbcx.pas
来自「一个仓库管理中的子系统--采购子系统」· PAS 代码 · 共 1,289 行 · 第 1/4 页
PAS
1,289 行
unit cghzbcx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids, DBGrids, Menus, ExtCtrls,QuickRpt,Qrctrls,
ComCtrls, Db, ImgList;
var fields_count:integer; //使用query查询结果表所具有的字段数目
visible_fields_count:integer; //记忆可以显示的字段数目
visible_flag_array : Array [0..35] of integer;
select_condition:string; //存储每次查询使用的sql语句
xg_flag : boolean;
type
TcghzbForm = class(TForm)
Panel1: TPanel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
Label1: TLabel;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
printButton: TSpeedButton;
dzbbBtn: TBitBtn;
N16: TMenuItem;
N17: TMenuItem;
StatusBar1: TStatusBar;
Bevel1: TBevel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
Edit4: TEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit5: TEdit;
Edit6: TEdit;
Label9: TLabel;
Edit7: TEdit;
Label10: TLabel;
Edit8: TEdit;
BitBtn3: TBitBtn;
N18: TMenuItem;
ImageList1: TImageList;
BitBtn4: TBitBtn;
xgCheck: TCheckBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure printButtonClick(Sender: TObject);
procedure dzbbBtnClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure xgCheckClick(Sender: TObject);
private
Function PreparePrint:Boolean;
{ Private declarations }
public
condition:string;
procedure ybjsl_count;
procedure bjhgsl_count;
procedure bjbhgsl_count;
procedure cgslhs_count;
procedure Record_Count;
procedure TotalProduct_Count;
procedure TotalTable_Count(Condition:string);
procedure TotalMoney_Count;
{ Public declarations }
end;
var
cghzbForm: TcghzbForm;
implementation
uses Datamodule, cghzrycx, zdxsxz, setupfrm1, rycxsz, cpcxsz, sjcx,
sqbinput, bhgsqbreport, cghzbreport, dzbb, jhyxxcx, cghzedit, jfgs,
cgzxqk, dhqkcx_form, test_edit_src;
{$R *.DFM}
procedure TcghzbForm.TotalTable_Count(Condition:string);
begin
with datamodule1.Query3 do
begin
sql.clear;
sql.Add('select distinct sqbid From dbo.a_cghzglb');
if Condition<>'' then
sql.Add(condition);
prepare;
open;
edit3.Text:=IntTostr(recordCount);
end;
end;
procedure TcghzbForm.Record_Count;
begin
with datamodule1.hzglQuery do
begin
edit1.text:=IntTostr(RecordCount);
end;
end;
procedure TcghzbForm.bjhgsl_count;
var Totalbjhgsl:real;
begin
Totalbjhgsl:=0;
with datamodule1.hzglQuery do
begin
first;
disableControls;
while not Eof do
begin
Totalbjhgsl:=Totalbjhgsl+FieldByName('报检合格数量').asFloat;
next;
end;
enableControls;
edit7.text:=Format('%.2f',[Totalbjhgsl]);
end;
end;
procedure TcghzbForm.bjbhgsl_count;
var Totalbjbhgsl:real;
begin
Totalbjbhgsl:=0;
with datamodule1.hzglQuery do
begin
first;
disableControls;
while not Eof do
begin
Totalbjbhgsl:=Totalbjbhgsl+FieldByName('报检不合格数量').asFloat;
next;
end;
enableControls;
edit8.text:=Format('%.2f',[Totalbjbhgsl]);
end;
end;
procedure TcghzbForm.ybjsl_count;
var Totalybjsl:real;
begin
Totalybjsl:=0;
with datamodule1.hzglQuery do
begin
first;
disableControls;
while not Eof do
begin
Totalybjsl:=Totalybjsl+FieldByName('已报检数量').asFloat;
next;
end;
enableControls;
edit5.text:=Format('%.2f',[Totalybjsl]);
end;
end;
procedure TcghzbForm.cgslhs_count;
var Totalcgslhs:real;
begin
Totalcgslhs:=0;
with datamodule1.hzglQuery do
begin
first;
disableControls;
while not Eof do
begin
Totalcgslhs:=Totalcgslhs+FieldByName('采购数量核实').asFloat;
next;
end;
enableControls;
edit6.text:=Format('%.2f',[Totalcgslhs]);
end;
end;
procedure TcghzbForm.TotalProduct_Count;
var TotalProduct:real;
begin
TotalProduct:=0;
with datamodule1.hzglQuery do
begin
first;
disableControls;
while not Eof do
begin
TotalProduct:=TotalProduct+FieldByName('需采购数量').asFloat;
next;
end;
enableControls;
edit2.text:=Format('%.2f',[TotalProduct]);
end;
end;
procedure TcghzbForm.TotalMoney_Count;
var TotalMoney:real;
begin
TotalMoney:=0;
with datamodule1.hzglQuery do
begin
first;
disableControls;
while not Eof do
begin
Totalmoney:=Totalmoney+FieldByName('估计金额').asFloat;
next;
end;
enableControls;
edit4.text:=Format('%.2f',[TotalMoney]);
end;
end;
Function TcghzbForm.PreparePrint:Boolean;
var LeftValue:integer;
aLabel : TQRLabel;
blabel : Tqrlabel;
aText:TQRDBText;
asysdata:Tqrsysdata;
selectstr:string;
reportwidth:integer;
eachwidth:real;
begin
ReportWidth:=10;
selectstr:='select ';
LeftValue:=10;
with cghzReportform do
begin
aLabel := TQRLabel.Create(cghzReportform);
aLabel.Parent:=TitleBand1;
bLabel := TQRLabel.Create(cghzReportform);
bLabel.Parent:=FooterBand1;
asysdata:=Tqrsysdata.Create(cghzReportform);
asysdata.parent:=FooterBand1;
with datamodule1.publicquery2 do
begin
sql.Clear;
sql.Add('select * from dbo.TableInformation');
sql.Add('where display_flag='+''''+'1'+'''');
prepare;
open;
first;
end;
if datamodule1.publicquery2.RecordCount>10 then
begin
while not datamodule1.publicQuery2.Eof do
begin
reportwidth:=reportwidth+datamodule1.publicquery2.FieldByName('display_width').asInteger;
datamodule1.publicQuery2.Next;
end;
if reportwidth>1022 then
begin
showmessage('您选择的打印属性数目过多,请减少选择的属性数目!');
Result:=False;
exit;
end;
quickrep.Width:=1122;
with aLabel do
begin
Width:=quickrep.Width; //(datamodule1.publicquery2.RecordCount)*100+80;
Height:=TitleBand1.Height;
Alignment:=taCenter;
Caption := '709所产品采购汇总管理报表';
end;
with bLabel do
begin
left:=(datamodule1.publicquery2.RecordCount)*100-400;
Alignment:=taCenter;
Caption := '页数';
end;
end
else
begin
quickrep.Width:=1122;
with aLabel do
begin
left:=0;
Width:=1052;
Height:=TitleBand1.Height;
Alignment:=taCenter;
Caption := '709所产品采购汇总管理报表';
end;
with bLabel do
begin
left:=530;
Alignment:=taCenter;
Caption := '页数';
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?