⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 craftcheck.pas

📁 delphi框架可以学习, 写的很好的
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit CraftCheck;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BasicFind, Menus, ActnList, ImgList, StdCtrls, RzLstBox,
  RzBckgnd, RzButton, RzEdit, RzLabel, Mask, RzRadChk, RzPanel, ExtCtrls,
  Grids, DBGridEh, RzTabs, RzDBEdit, TeEngine, Series, TeeProcs, Chart,
  DBChart, DB, DBCtrls, RzDBCmbo, RzCmboBx, ppDB, ppBands, ppCache,
  ppClass, ppProd, ppReport, ppRelatv, ppDBPipe, ppComm, ppEndUsr, RzDBLbl,
  RzStatus, RzDBStat, RzGrids;

type
  TfrmCraftCheck = class(TfrmBasicFind)
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    RzPanel8: TRzPanel;
    Splitter1: TSplitter;
    RzPanel9: TRzPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    RzSeparator2: TRzSeparator;
    RzSeparator4: TRzSeparator;
    RzSeparator5: TRzSeparator;
    RzSeparator6: TRzSeparator;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    RzSeparator7: TRzSeparator;
    RzSeparator8: TRzSeparator;
    RzSeparator9: TRzSeparator;
    RzSeparator10: TRzSeparator;
    RzSeparator11: TRzSeparator;
    RzSeparator12: TRzSeparator;
    RzSeparator13: TRzSeparator;
    RzSeparator14: TRzSeparator;
    Shape1: TShape;
    Bevel1: TBevel;
    sgPrice: TRzStringGrid;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    RzSeparator15: TRzSeparator;
    Label26: TLabel;
    Label27: TLabel;
    Shape2: TShape;
    lbPTPrice: TLabel;
    lbTSPrice: TLabel;
    RzSeparator1: TRzSeparator;
    RzSeparator16: TRzSeparator;
    RzSeparator17: TRzSeparator;
    lbHcljg1: TLabel;
    lbHcljg2: TLabel;
    lbHcljg3: TLabel;
    lbHcljg4: TLabel;
    lbGG: TLabel;
    lbZZ: TLabel;
    lbCpfk: TLabel;
    lbSxfk: TLabel;
    lbZwm: TLabel;
    RzSeparator18: TRzSeparator;
    RzLabel9: TRzLabel;
    lbCpmc: TRzLabel;
    lbZjl: TLabel;
    lbWxys: TLabel;
    lbSxzl: TLabel;
    lbCpzl: TLabel;
    lbZsl: TLabel;
    lbHclsl: TLabel;
    lbShl: TLabel;
    lbWc: TLabel;
    lbWs: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    lbBz: TLabel;
    lbHcl1: TLabel;
    lbHcl2: TLabel;
    lbHcl3: TLabel;
    lbHcl4: TLabel;
    dbgridList: TDBGridEh;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    edtFk1: TRzEdit;
    edtBcgf: TRzEdit;
    edtQtfy: TRzEdit;
    Label31: TLabel;
    btnOK: TRzBitBtn;
    lbFkfw: TLabel;
    lbBcgf: TLabel;
    lbQtfy: TLabel;
    edtFk2: TRzEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure actExcelFindExecute(Sender: TObject);
    procedure dbgridListTitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh);
    procedure dbgridListDrawColumnCell(Sender: TObject; const Rect: TRect;
              DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
    procedure sgPriceDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
    procedure btnOKClick(Sender: TObject);
  private
    { Private declarations }
    procedure doMyOpen(Sender: TObject;   var _EventNote, _State: String); override;

    procedure doAfterScroll(DataSet: TDataSet);
    procedure ShowPrice(DataSet: TDataSet; FK_Test: Double);  //显示价格
    procedure ClearShow;  //清理界面显示

    procedure ButtonState(_IsActive, _IsEmpty, _IsModify, _IsCheck :Boolean); override;
  public
    { Public declarations }
  end;

var
  frmCraftCheck: TfrmCraftCheck;

implementation

uses dm32, MyPublic, dmc32;

{$R *.dfm}
procedure TfrmCraftCheck.ClearShow;
var i: integer;
begin
  //清理界面
  for i:=0 to self.ComponentCount-1 do
    if Self.Components[i] is TLabel then
      if Pos('Label', Self.Components[i].Name) = 0 then
        (Self.Components[i] as TLabel).Caption := '';

  sgPrice.RowCount := 2;
  for i:= 1 to sgPrice.ColCount -1 do
    sgPrice.Cells[i, 1] := '';
end;

procedure TfrmCraftCheck.actExcelFindExecute(Sender: TObject);
begin
  RzEdit1.SetFocus;
end;

procedure TfrmCraftCheck.FormCreate(Sender: TObject);
begin
  inherited;

  FindFields[1] := 'CPMC LIKE ''%'+REPLACEKEY+'%''';
  FindFields[2] := 'CPYS='''+REPLACEKEY+'''';
  FindFields[3] := 'CPZZ='''+REPLACEKEY+'''';
  FindFields[4] := 'BZ LIKE ''%'+REPLACEKEY+'%''';
  FindFields[5] := 'SZBS='''+REPLACEKEY+'''';
  FindFields[6] := 'SZYM='''+REPLACEKEY+'''';
  FindFields[7] := 'KH='+REPLACEKEY;
  FindFields[8] := 'CPGG LIKE ''%'+REPLACEKEY+'%''';
  FindFields[13] :='SRRQ';

  FindSQL[2] := 'SELECT CODE +'' = ''+ NAME AS LISTFIELD FROM CODER WHERE ISOK ='+ IntToStr(SHBZ_OK) +' AND FZLX=''BASE_YSMC''';
  FindSQL[3] := 'SELECT CODE +'' = ''+ NAME AS LISTFIELD FROM CODER WHERE ISOK ='+ IntToStr(SHBZ_OK) +' AND FZLX=''BASE_CPZZ''';

  UseDataset := dm.qryCraft;

  with dm.qryCraft do
  begin
    AfterScroll := doAfterScroll;
  end;

  //打开数据集
  dmc.OpenCpys(True);
  dmc.OpenCpzz(True);
  dmc.OpenHcllx(True);

  //处理界面
  ClearShow;
  with sgPrice do
  begin
    Cells[1,0] := '经纬类型';
    Cells[2,0] := '原料名称';
    Cells[3,0] := '头份';
    Cells[4,0] := '损耗';
    Cells[5,0] := '百码耗纱';
    Cells[6,0] := '纱价';
    Cells[7,0] := '百码价格';
  end;

  dm.qryCraft.Close;
  dm.qryCraftXB.Close;
end;

procedure TfrmCraftCheck.dbgridListTitleBtnClick(Sender: TObject; ACol: Integer;
  Column: TColumnEh);
begin
  DBGridTitleBtnClick(Sender, ACol, Column);
end;

procedure TfrmCraftCheck.ButtonState(_IsActive, _IsEmpty, _IsModify, _IsCheck: Boolean);
begin
  if _IsActive and not _IsEmpty then
    _IsCheck := UseDataSet.FieldByName('SHBZ').AsInteger = SHBZ_OK;

  inherited;

  dbgridList.Enabled := not actSave.Enabled;
  actOther1.Enabled  := _IsActive and not _IsEmpty and not _IsModify;
  //TabSheet1.Enabled  := not _IsCheck;
end;

procedure TfrmCraftCheck.doMyOpen(Sender: TObject; var _EventNote, _State: String);
var ls_SQL, ls_Err, ls_where: String;
begin
  ls_where := WhereSQL;
  if ls_where = '' then Exit;

  _EventNote := '打开工艺资料:'+ls_where;
  _State := EV_OK;

  ls_SQL := 'SELECT * FROM CRAFT WHERE '+ ls_where;
  ls_Err := OpenDataSet(dm.qryCraft, ls_SQL);
  if ls_err <> '' then
  begin
    ShowMess('系统错误','打开工艺资料失败,具体为:'+ls_Err, MB_ICONERROR);
    _State := EV_FAIL;
  end;

  edtFk1.SetFocus;

⌨️ 快捷键说明

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