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 + -
显示快捷键?