mrp_qry_analyzermps.pas

来自「一个MRPII系统源代码版本」· PAS 代码 · 共 115 行

PAS
115
字号
unit Mrp_Qry_AnalyzerMps;
 
Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
  StdCtrls, ExtCtrls, ComCtrls, ToolWin, DBCtrls;

Type
  TFrm_Mrp_Qry_AnalyzerMps = Class(TFrm_Base_Qry)
    DbTxt_ItemFlag: TDBText;
    DbTxt_FinishRate: TDBText;
    Label2: TLabel;
    Label3: TLabel;
    Label1: TLabel;
    DbTxt_MpsQty: TDBText;
    procedure FormDestroy(Sender: TObject);
    procedure Act_FilterExecute(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    IsNo:Boolean;//是否已进入一次
    { Private declarations }
  public
    procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
    { Public declarations }
  end;

var
  Frm_Mrp_Qry_AnalyzerMps: TFrm_Mrp_Qry_AnalyzerMps;

implementation

uses Mrp_Qry_AnalyzerMps_C, Sys_Global;

{$R *.DFM}
procedure FormatDisplay(AdoQuery:TAdoQuery);
var
  I:Integer;
begin
  For I:=0 To AdoQuery.FieldCount -1 Do
  begin
    If (UpperCase(AdoQuery.Fields[I].DisplayName) =UpperCase('MpsFinishRate'))
      Or (UpperCase(AdoQuery.Fields[I].DisplayName) =UpperCase('MoFinishRate')) Then
      TFloatField(AdoQuery.Fields[I]).DisplayFormat:='#,##0'+'%';
    If (AdoQuery.Fields[I].DataType=FtFloat) And
      (UpperCase(AdoQuery.Fields[I].DisplayName) <>UpperCase('MpsFinishRate'))
      And (UpperCase(AdoQuery.Fields[I].DisplayName) <>UpperCase('MoFinishRate')) Then
      TFloatField(AdoQuery.Fields[I]).DisplayFormat:='#,##0.######';
  end;
end;

procedure TFrm_Mrp_Qry_AnalyzerMps.InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);
begin
  Application.ProcessMessages;
  Inherited;
  Frm_Mrp_Qry_AnalyzerMps_C:=TFrm_Mrp_Qry_AnalyzerMps_C.Create(Application);
  Frm_Mrp_Qry_AnalyzerMps_C.SetDBConnect(DbConnect);
  If  (Frm_Mrp_Qry_AnalyzerMps_C.ShowModal=Mrok) And (AdoQry_Main.RecordCount>0) Then
  begin
    Act_Locate.Enabled:=True;
    Act_Order.Enabled:=True;
    IsNo:=True;
  end
  Else
  begin
    Act_Locate.Enabled:=False;
    Act_Order.Enabled:=False;
  end;
  DbTxt_MpsQty.DataSource:=DataSource;
  DbTxt_MpsQty.DataField:='MpsQty';
  DbTxt_ItemFlag.DataSource:=DataSource;
  DbTxt_ItemFlag.DataField:='ItemFlag';
  DbTxt_FinishRate.DataSource:=DataSource;
  DbTxt_FinishRate.DataField:='MpsFinishRate';
  FormatDisplay(AdoQry_Main);
  OrderByFields:='EmployeeFlag,ItemFlag,MpsQTY';
  Frm_Mrp_Qry_AnalyzerMps_C.Release;
end;


procedure TFrm_Mrp_Qry_AnalyzerMps.FormDestroy(Sender: TObject);
begin
  Frm_Mrp_Qry_AnalyzerMps:=Nil;
end;

procedure TFrm_Mrp_Qry_AnalyzerMps.Act_FilterExecute(Sender: TObject);
begin
  Application.ProcessMessages;
  Frm_Mrp_Qry_AnalyzerMps_C:=TFrm_Mrp_Qry_AnalyzerMps_C.Create(Application);
  Frm_Mrp_Qry_AnalyzerMps_C.SetDBConnect(DbConnect);
  Frm_Mrp_Qry_AnalyzerMps_C.ShowModal;
  If (IsNo) Then
  If (AdoQry_Main.RecordCount>0)  Then
  begin
    Act_Locate.Enabled:=True;
    Act_Order.Enabled:=True;
  end
  Else
  begin
    Act_Locate.Enabled:=False;
    Act_Order.Enabled:=False;
  end;
  FormatDisplay(AdoQry_Main);
  Frm_Mrp_Qry_AnalyzerMps_C.Release;
end;

procedure TFrm_Mrp_Qry_AnalyzerMps.FormActivate(Sender: TObject);
begin
  inherited;
  IsNo:=False;
end;

end.

⌨️ 快捷键说明

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