htcx.pas

来自「一个仓库管理中的子系统--采购子系统」· PAS 代码 · 共 357 行

PAS
357
字号
unit htcx;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, ComCtrls, StdCtrls, ExtCtrls, Grids, DBGrids;

const
  grid_headcolor=$00ACEEFF;
  grid_highcolor=$00F7FFFF;
  grid_lowcolor=$00CAFFFF;
  grid_selectedcolor=$0EFFaa00;

type
  ThtcxForm = class(TForm)
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    RadioGroup1: TRadioGroup;
    hthEdit: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    beginEdit: TEdit;
    endEdit: TEdit;
    beginDate: TDateTimePicker;
    endDate: TDateTimePicker;
    SpeedButton1: TSpeedButton;
    DBGrid2: TDBGrid;
    Label4: TLabel;
    Label5: TLabel;
    SpeedButton2: TSpeedButton;
    GroupBox3: TGroupBox;
    Label6: TLabel;
    qzrEdit: TEdit;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    StatusBar1: TStatusBar;
    SpeedButton7: TSpeedButton;
    procedure RadioGroup1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton2Click(Sender: TObject);
    procedure beginDateCloseUp(Sender: TObject);
    procedure endDateCloseUp(Sender: TObject);
    procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure FormActivate(Sender: TObject);
  private
     //FReport : TQuickRep;
     //procedure SetReport(Value : TQuickRep);
    { Private declarations }
  public
    //property Report : TQuickRep read FReport write SetReport;
    { Public declarations }
  end;

var
  htcxForm: ThtcxForm;

implementation

uses Datamodule, sqbinput, htgl, htxg, httj, htReport;

{$R *.DFM}

{procedure ThtcxForm.SetReport(Value : TQuickRep);
begin
  FReport:=Value;
end;}

procedure ThtcxForm.RadioGroup1Click(Sender: TObject);
begin
    with RadioGroup1 do
    begin
    if ItemIndex=0 then
    begin
    GroupBox1.Enabled:=True;
    GroupBox2.Enabled:=False;
    GroupBox3.Enabled:=False;
    end;
    if ItemIndex=1 then
    begin
    GroupBox1.Enabled:=False;
    GroupBox2.Enabled:=True;
    GroupBox3.Enabled:=False;
    end;
    if ItemIndex=2 then
    begin
    GroupBox1.Enabled:=False;
    GroupBox2.Enabled:=False;
    GroupBox3.Enabled:=True;
    end;
    end;
end;

procedure ThtcxForm.SpeedButton1Click(Sender: TObject);
begin
    if  RadioGroup1.ItemIndex=0 then
    begin
    with datamodule1.htglzbQuery do
    begin
    sql.Clear;
    sql.Add('select hth as 合同号,jfmc as 甲方单位名,yfmc as 乙方单位名,dhje as 订货金额,qzr as 签字人,qzsj as 签字时间,lrms as 合同内容描述,bz as 备注 From dbo.a_htglzb');
    sql.Add('where hth='+''''+hthedit.Text+'''');
    prepare;
    open;
    if RecordCount=0 then
    begin
    speedButton3.Enabled:=false;
    speedButton4.Enabled:=false;
    speedButton5.Enabled:=false;
    SpeedButton6.Enabled:=False;
    end
    else
    begin
    speedButton3.Enabled:=true;
    speedButton4.Enabled:=true;
    SpeedButton5.Enabled:=True;
    SpeedButton6.Enabled:=True;
    end;
    end;
    with datamodule1.htglxbQuery do
    begin
    sql.Clear;
    sql.Add('select hth as 合同号,cpmc as 产品名称,xhgg as 型号规格,sldw as 数量单位,dj as 单价,dhsl as 订货数量,fkfs as 付款方式,dhsj as 到货时间,bz as 备注 from dbo.a_htglxb');
    sql.Add('where hth='+''''+hthedit.text+'''');
    prepare;
    open;
    end;
    end;

    if RadioGroup1.ItemIndex=1 then
    begin
    with datamodule1.htglzbQuery do
    begin
    sql.Clear;
    sql.Add('select hth as 合同号,jfmc as 甲方单位名,yfmc as 乙方单位名,dhje as 订货金额,qzr as 签字人,qzsj as 签字时间,lrms as 合同内容描述,bz as 备注 From dbo.a_htglzb');
    sql.Add('where qzsj<='+''''+sqinputForm.Getdate709(endedit.Text)+''''+' and qzsj>='+''''+sqinputForm.Getdate709(beginedit.Text)+'''');
    prepare;
    open;
    first;
    if RecordCount=0 then
    begin
    speedButton3.Enabled:=false;
    speedButton4.Enabled:=false;
    speedButton5.Enabled:=false;
    SpeedButton6.Enabled:=False;
    end
    else
    begin
    speedButton3.Enabled:=true;
    speedButton4.Enabled:=true;
    SpeedButton5.Enabled:=True;
    SpeedButton6.Enabled:=True;
    end;
    end;

    with datamodule1.htglxbQuery do
    begin
    sql.Clear;
    sql.Add('select hth as 合同号,cpmc as 产品名称,xhgg as 型号规格,sldw as 数量单位,dj as 单价,dhsl as 订货数量,fkfs as 付款方式,dhsj as 到货时间,bz as 备注 from dbo.a_htglxb');
    sql.Add('where hth='+''''+datamodule1.htglzbQuery.fieldByName('合同号').asstring+'''');
    prepare;
    open;
    end;
    end;
    if RadioGroup1.ItemIndex=2 then
    begin
    with datamodule1.htglzbQuery do
    begin
    sql.Clear;
    sql.Add('select hth as 合同号,jfmc as 甲方单位名,yfmc as 乙方单位名,dhje as 订货金额,qzr as 签字人,qzsj as 签字时间,lrms as 合同内容描述,bz as 备注 From dbo.a_htglzb');
    sql.Add('where qzr<='+''''+qzredit.Text+'''');
    prepare;
    open;
    first;
    if RecordCount=0 then
    begin
    speedButton3.Enabled:=false;
    speedButton4.Enabled:=false;
    speedButton5.Enabled:=false;
    SpeedButton6.Enabled:=False;
    end
    else
    begin
    speedButton3.Enabled:=true;
    speedButton4.Enabled:=true;
    SpeedButton5.Enabled:=True;
    SpeedButton6.Enabled:=True;
    end;
    end;
    with datamodule1.htglxbQuery do
    begin
    sql.Clear;
    sql.Add('select hth as 合同号,cpmc as 产品名称,xhgg as 型号规格,sldw as 数量单位,dj as 单价,dhsl as 订货数量,fkfs as 付款方式,dhsj as 到货时间,bz as 备注 from dbo.a_htglxb');
    sql.Add('where hth='+''''+datamodule1.htglzbQuery.fieldByName('合同号').asstring+'''');
    prepare;
    open;
    end;
    end;
end;

procedure ThtcxForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    with datamodule1 do
    begin
    htglzbQuery.close;
    htglxbQuery.close;
    publicQuery1.RequestLive:=False;
    publicquery1.Close;
    publicquery2.RequestLive:=False;
    PublicQuery2.Close;
    end;
end;

procedure ThtcxForm.SpeedButton2Click(Sender: TObject);
begin
    close;
end;

procedure ThtcxForm.beginDateCloseUp(Sender: TObject);
begin
    beginedit.Text:=sqinputForm.ShowMeDate(sqinputForm.DateTo709str(beginDate.Date));
end;

procedure ThtcxForm.endDateCloseUp(Sender: TObject);
begin
   endedit.Text:=sqinputForm.ShowMeDate(sqinputForm.DateTo709str(endDate.Date));
end;

procedure ThtcxForm.DBGrid2DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
   if (DataCol mod 2) =0 then dbgrid2.Canvas.Brush.Color:=grid_highcolor
   else  dbgrid2.Canvas.Brush.Color:=grid_lowcolor;
   if gdSelected in state then  dbgrid2.Canvas.Brush.Color:=grid_selectedcolor;
   dbgrid2.Canvas.FillRect(rect);
   dbGrid2.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

procedure ThtcxForm.SpeedButton3Click(Sender: TObject);
begin
   htxgForm:=ThtxgForm.Create(Application);
   hide;
   htxgForm.ShowModal;
   htxgForm.Free;
   show;
end;

procedure ThtcxForm.SpeedButton4Click(Sender: TObject);
begin
    httjForm:=ThttjForm.Create(Application);
    hide;
    httjform.ShowModal;
    httjForm.Free;
    show;
end;

procedure ThtcxForm.SpeedButton5Click(Sender: TObject);
begin
   if Messagedlg('您是否要删除当前的合同?',mtInformation,[mbOK,mbCANCEL],0)=mrCancel then
   exit
   else
   begin
   with datamodule1.PublicQuery1 do
   begin
   requestlive:=True;
   sql.Clear;
   sql.Add('select * from dbo.a_htglzb');
   sql.Add('where hth='+''''+datamodule1.htglzbquery.FieldByName('合同号').asstring+'''');
   prepare;
   open;
   delete;
   end;
   showmessage('删除成功!');
   end;
end;

procedure ThtcxForm.SpeedButton6Click(Sender: TObject);
begin
   if Messagedlg('您是否要删除当前的合同的当前记录?',mtInformation,[mbOK,mbCANCEL],0)=mrCancel then
   exit
   else
   begin
   with datamodule1.publicQuery2 do
   begin
   Requestlive:=True;
   sql.Clear;
   sql.Add('select * From dbo.a_htglxb');
   sql.Add('where cpmc='+''''+datamodule1.htglxbQuery.FieldBYName('产品名称').asstring+''''+' and xhgg='+''''+datamodule1.htglxbQuery.FieldByname('型号规格').asstring+'''');
   prepare;
   open;
   delete;
   end;
   showmessage('删除成功!');
   end;
end;

procedure ThtcxForm.SpeedButton7Click(Sender: TObject);
begin
   if dbGrid2.FieldCount=0 then
   begin
   showmessage('您没有查询任何合同表的数据!');
   exit;
   end;

   htReportForm:=ThtReportForm.Create(Application);
   //Report:=sqbReportform.QuickRep;
   with Datamodule1.htglzbQuery do
   with htReportForm do
   begin
   jfmcQR.DataField:=FieldByName('甲方单位名').FieldName;
   yfmcQR.DataField:=FieldByname('乙方单位名').FieldName;
   hthQR.DataField:=FieldBYNAme('合同号').FieldName;
   jhjeQR.DataField:=FieldByName('订货金额').FieldName;
   jhyQR.DataField:=FieldByName('签字人').FieldName;
   qzsjQR.DataField:=FieldByName('签字时间').Fieldname;
   htnrQR.DataField:=FieldByname('合同内容描述').FieldName;
   end;
   hide;
   htReportForm.quickrep1.Preview;
   htReportForm.Free;
   show;
end;

procedure ThtcxForm.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
    if (DataCol mod 2) =0 then dbgrid1.Canvas.Brush.Color:=grid_highcolor
   else  dbgrid1.Canvas.Brush.Color:=grid_lowcolor;
   if gdSelected in state then  dbgrid1.Canvas.Brush.Color:=grid_selectedcolor;
   dbgrid1.Canvas.FillRect(rect);
   dbGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

procedure ThtcxForm.FormActivate(Sender: TObject);
begin
    begindate.DateTime:=date;
    enddate.DateTime:=date;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?