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

📄 ujhmaterialname.pas

📁 相关的销售服务管理行业的一个软件
💻 PAS
字号:
unit UJhMaterialName;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGridEh, Buttons, Db, DBTables, ExtCtrls, ComCtrls, ADODB,
  EHGrids, StdCtrls;

type
  TFrmJhMaterialName = class(TForm)
    Panel2: TPanel;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    DBGridEh1: TDBGridEh;
    Panel1: TPanel;
    Edit1: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;
      AFont: TFont; var Background: TColor; State: TGridDrawState);
    procedure DBGridEh1KeyPress(Sender: TObject; var Key: Char);
    procedure Drop(AControl : TControl; HostControl: TControl);
    procedure Edit1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    procedure OnActivate(var msg: TWMActivate); message WM_ACTIVATE;
    { Private declarations }
  public
    function Execute(HostControl: TControl; var MaterialNo: string;var spec:string;var ClName: String;var cgUnit: string; var kcl: real):Boolean;
    { Public declarations }
  end;

var
  FrmJhMaterialName: TFrmJhMaterialName;

implementation

uses SYS_DataModal, U_DM;



{$R *.DFM}

{ TForm1 }

procedure TFrmJhMaterialName.Drop(AControl : TControl; HostControl: TControl);
var
   WorkArea: TRect;
   HostP, PDelpta: TPoint;
begin
   SystemParametersInfo(SPI_GETWORKAREA,0,@WorkArea,0);
   HostP := HostControl.ClientToScreen(Point(0,0));
   PDelpta := AControl.ClientToScreen(Point(0,0));

   AControl.Left := HostP.x;
   AControl.Top := HostP.y + HostControl.Height + 1;

   if (AControl.Width > WorkArea.Right - WorkArea.Left) then
     AControl.Width := WorkArea.Right - WorkArea.Left;

   if (AControl.Left + AControl.Width > WorkArea.Right) then
     AControl.Left := WorkArea.Right - AControl.Width;
   if (AControl.Left < WorkArea.Left) then
     AControl.Left := WorkArea.Left;


   if (AControl.Top + AControl.Height > WorkArea.Bottom) then
   begin
     if (HostP.y - WorkArea.Top > WorkArea.Bottom - HostP.y - HostControl.Height) then
       AControl.Top := HostP.y - AControl.Height;
   end;

   if (AControl.Top < WorkArea.Top) then
   begin
     AControl.Height := AControl.Height - (WorkArea.Top - AControl.Top);
     AControl.Top := WorkArea.Top;
   end;

   if (AControl.Top + AControl.Height > WorkArea.Bottom) then
   begin
     AControl.Height := WorkArea.Bottom - AControl.Top;
   end;

end;

function TFrmJhMaterialName.Execute(HostControl: TControl; var MaterialNo: string; var spec:string; var ClName: String; var cgUnit: string; var kcl: real):Boolean;
var
  k,flag: Integer;
  w: real;
  ss: string;
begin
  {ss := dm.adoxsrm.FieldByName('MaterialNo').AsString;
  ss := #39 + ss + '%' + #39;
  with Adoquery1 do begin
    close;
    sql.clear;
    sql.add('select  nGdCode,nGdGg,nGdUnit,nGdName from s_goods where nGdCode like ' + ss + ' order by nGdCode ');//where nGdCJCode in (select * from mkind)');
   //SQL.Add('select nYwType,nFsCount,nGdCJCode from V_KCL where nGdCJCode in (select * from mkind)');
    //Parameters.ParamByName('nGdCode').value := '%' + ss + '%';
    open;
  end;       //选出与在原材料编号输入的字符相匹配的原材料明细

  if MaterialNo <> '' then
    Adoquery1.Locate('nGdCode',MaterialNo,[]);
  Drop(Self,HostControl);
  Visible := True;
  ModalResult := mrCancel;
  while (Visible) do Application.ProcessMessages;
  Result := False;
  if ModalResult = mrOk then
  begin
    MaterialNo := AdoQuery1.FieldByName('nGdCode').Asstring;
    spec :=AdoQuery1.FieldByName('nGdGg').asstring;
    ClName := Adoquery1.FieldByName('nGdName').AsString;
    cgUnit := Adoquery1.FieldByName('nGdUnit').AsString;  //RB
    Result := True;
  end;    }
end;



procedure TFrmJhMaterialName.OnActivate(var msg: TWMActivate);
begin
 // inherited;
  //if (msg.Active=WA_INACTIVE) then
  //  Close;
end;

procedure TFrmJhMaterialName.FormCreate(Sender: TObject);
begin
    //选出与在原材料编号输入的字符相匹配的原材料明细
end;

procedure TFrmJhMaterialName.DBGridEh1GetCellParams(Sender: TObject;
  Column: TColumnEh; AFont: TFont; var Background: TColor;
  State: TGridDrawState);
begin
   {if DbgridEh1.SumList.RecNo mod 2 = 1 then
      Background := $00FFC4C4
    else
      Background := $00FFDDDD;   }
end;

procedure TFrmJhMaterialName.DBGridEh1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if Key = #13 then
    bitbtn1Click(Sender);
  if Key = #27 then
    bitbtn2Click(Sender);
end;

procedure TFrmJhMaterialName.Edit1Change(Sender: TObject);
begin
  if (tag=1)  then
  adoquery1.Locate('nGdCode',Trim(Edit1.text),[loPartialKey]);
  if (tag=2) then
  adoquery1.Locate('R_name',Trim(Edit1.text),[loPartialKey]);
end;

procedure TFrmJhMaterialName.BitBtn2Click(Sender: TObject);
begin
     close;
     FrmJhMaterialName.modalresult:=8;
end;

procedure TFrmJhMaterialName.BitBtn1Click(Sender: TObject);
begin

     close;
     FrmJhMaterialName.ModalResult:=2;

end;

procedure TFrmJhMaterialName.DBGridEh1DblClick(Sender: TObject);
begin
 bitbtn1.OnClick(Nil);
end;

procedure TFrmJhMaterialName.FormShow(Sender: TObject);
var
 ss:string;
begin
  if tag=1 then
  begin
  //ss :=  dm.adoxsrbd.fields[0].DisplayText ;
  //if tag=2 then
  //ss := frmcgdd.dddquery.FieldByName('MaterialNo').AsString;
  ss := #39 + ss + '%' + #39;
  with Adoquery1 do begin
    close;
    sql.clear;
    sql.add('select  nGdCode,nGdGg,nGdUnit,nGdName from s_goods where nGdCode like ' + ss + ' order by nGdCode ');//where nGdCJCode in (select * from mkind)');
   //SQL.Add('select nYwType,nFsCount,nGdCJCode from V_KCL where nGdCJCode in (select * from mkind)');
    //Parameters.ParamByName('nGdCode').value := '%' + ss + '%';
    open;
  end;
  end;
 if tag=2 then
 begin
   dbgrideh1.Columns.Items[1].Visible :=false;
   dbgrideh1.Columns.Items[0].Title.caption:='款式';
   dbgrideh1.Columns.Items[0].FieldName :='R_name';
   dbgrideh1.Columns.Items[0].Width  :=150;


   ss := #39 + ss + '%' + #39;
   with Adoquery1 do begin
      close;
      sql.clear;
      sql.add('select  R_name from js_region order by r_name' );
      open;
   end;   
 end; 

end;

end.

⌨️ 快捷键说明

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