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

📄 uselectpart.pas

📁 天涯進銷存系統
💻 PAS
字号:
unit uSelectPart;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActnList, LBCtrls, ExtCtrls, StdCtrls, Grids, LBDBGrid, DB,
  jpeg, LBDBScrollBar, DBCtrls, LBMorphVCLBase, LBMorphButton;

type
  TfrmSelectPart = class(TForm)
    ActionList1: TActionList;
    Action1: TAction;
    Action2: TAction;
    Label3: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    LBEdit1: TLBEdit;
    LBEdit2: TLBEdit;
    LBEdit3: TLBEdit;
    Image2: TImage;
    WindowCaption: TLabel;
    SysCloseButton: TLBMorphButton;
    Panel4: TPanel;
    Panel6: TPanel;
    Panel3: TPanel;
    DataDBGrid: TLBDBGrid;
    Panel2: TPanel;
    Label17: TLabel;
    Label21: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label4: TLabel;
    Shape1: TShape;
    LBDBScrollBar1: TLBDBScrollBar;
    LBSpeecButton2: TLBSpeecButton;
    LBSpeecButton1: TLBSpeecButton;
    Shape2: TShape;
    Panel1: TPanel;
    Label16: TLabel;
    Label8: TLabel;
    Label18: TLabel;
    Label22: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    DBText3: TDBText;
    DBText4: TDBText;
    Label9: TLabel;
    Label10: TLabel;
    procedure FormShow(Sender: TObject);
    procedure LBEdit1Change(Sender: TObject);
    procedure Action1Execute(Sender: TObject);
    procedure LBEdit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DataDBGridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Action2Execute(Sender: TObject);
    procedure SysCloseButtonClick(Sender: TObject);
    procedure LBEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Image2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    procedure SelectData;
  public
    isEdit: Boolean;
  end;

var
  frmSelectPart: TfrmSelectPart;

const
   sql='select Code, Borncode, name, Producing, Carmodel, Units, InPutPrice, PartType, '+
       'COSTPRICE, DepotPlace, BillQuantity, StockQuantity, StockPrice, SalePrice From PartInfo';      
  
implementation

uses uPublicvar, uMain, uDataMo, uSelectPartEdit, uSelectPartMoveEdit,
     uConst;

{$R *.dfm}

procedure TFrmSelectPart.SelectData;
var
  sqltext:string;
begin
  case SelectPartType of
  1:
    sqltext:=Sql+' where Code<>'+#39+IPartCode+#39;
  2,4,5,7:
    sqltext:=Sql+' where not Code is Null';
  3:
    sqltext:=Sql+' where del<>'''+'1''';
  end;
  if Trim(LBEdit2.Text)<>'' then
  sqltext:=sqltext+' and Code Like '+#39+'%'+Trim(LBEdit2.Text)+'%'+#39;
  if Trim(LBEdit3.Text)<>'' then
    sqltext:=sqltext+' and NAME Like '+#39+'%'+Trim(LBEdit3.Text)+'%'+#39;
  if Trim(LBEdit1.Text)<>'' then
    sqltext:=sqltext+' and HELPNOTENO Like '+#39+'%'+Trim(LBEdit1.Text)+'%'+#39;
  OpenData(sqlText, dmData.sdsSelectPart);
end;

procedure TfrmSelectPart.FormShow(Sender: TObject);
var
 sqltext:string;
begin
  case SelectPartType of
  1:
    sqltext:=Sql+' where Code<>'+#39+IPartCode+#39;
  2,4,5,7:
    sqltext:=Sql+' where not Code is Null';
  3:
    sqltext:=Sql+' where del<>'''+'1''';
  end;
  OpenData(sqltext, dmData.sdsSelectPart);
  dmData.ExistData.Data:=SelectPartCds.Data;
  isEdit:=False;
  LBEdit1.SetFocus;
end;

procedure TfrmSelectPart.LBEdit1Change(Sender: TObject);
begin
  SelectData;
end;

procedure TfrmSelectPart.Action1Execute(Sender: TObject);
var
 sqltext:string;
begin
  case SelectPartType of
  1:
    sqltext:=Sql+' where Code<>'+#39+IPartCode+#39;
  2,4:
    sqltext:=Sql+' where not Code is Null';
  3:
    sqltext:=Sql+' where del<>'''+'1''';
  end;
  OpenData(sqltext, dmData.sdsSelectPart);
end;

procedure TfrmSelectPart.LBEdit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then  Perform(WM_NEXTDLGCTL,0,0);
end;

procedure TfrmSelectPart.DataDBGridKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then Action2Execute(Sender);
  if key=VK_NEXT then
    if dmData.sdsSelectPart.Eof then
       dmData.sdsSelectPart.GetNextPacket;
end;

procedure TfrmSelectPart.Action2Execute(Sender: TObject);
begin
  if dmData.sdsSelectPart.IsEmpty then
  begin
    Application.MessageBox('没有选择商品。',Hintinfo,$30);
    Exit;
  end;
  if dmData.sdsSelectPart.Fieldbyname('Code').asstring='' then
  begin
    Application.MessageBox('商品编号为空,不可选择。',Hintinfo,$30);
    Exit;
  end;
  if SelectPartType=1 then
  begin
    if dmData.ExistData.Locate('Code', Trim(dmData.sdsSelectPart.Fieldbyname('Code').asstring),[loCaseInsensitive]) then
    begin
      Application.MessageBox(PChar('已存在编号为“'+
           Trim(dmData.sdsSelectPart.Fieldbyname('Code').asstring)+
           '”的商品。'),Hintinfo,$30);
      Exit;
    end;
  end
  else
  begin
    if dmData.ExistData.Locate('PartCode', Trim(dmData.sdsSelectPart.Fieldbyname('Code').asstring),[loCaseInsensitive]) then
    begin
      Application.MessageBox(PChar('已存在编号为“'+
                                   Trim(dmData.sdsSelectPart.Fieldbyname('Code').asstring)+
                                   '”的商品。'),Hintinfo,$30);
      Exit;
    end;
  end;  
  with SelectPartCds do
  begin
    case SelectPartType of
    1: {1.为互换商品}
      begin
        if  dmData.sdsSelectPart.Fieldbyname('Code').asstring=IPartCode then
        begin
          Application.MessageBox('不能使用相同的商品做互换件。',Hintinfo,$30);
          Exit;
        end;
        Append;
        FieldByName('ICode').asstring:=IPartCode;
        FieldByName('CODE').asstring:=dmData.sdsSelectPart.FieldByName('Code').asstring;
        FieldByName('NAME').asstring:=dmData.sdsSelectPart.FieldByName('Name').asstring;
        Post;
      end;
    2, 3, 4, 5:   {2.为采购订货}
      begin
        BillIsEdit:=isEdit;
        frmSelectPartEdit:=TfrmSelectPartEdit.Create(Application);
        frmSelectPartEdit.ShowModal;
        isEdit:=frmSelectPartEdit.isSelect;
        frmSelectPartEdit.Free;
      end;
    7:
      begin
        BillIsEdit:=isEdit;
        frmSelectPartMoveEdit:=TfrmSelectPartMoveEdit.Create(Application);
        frmSelectPartMoveEdit.ShowModal;
        isEdit:=frmSelectPartMoveEdit.isSelect;
        frmSelectPartMoveEdit.Free; 
      end;
    end;
    dmData.ExistData.Data:=Data;
  end;
  SelectPartCds.Last;
end;

procedure TfrmSelectPart.SysCloseButtonClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmSelectPart.LBEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then DataDBGrid.SetFocus;
end;

procedure TfrmSelectPart.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=27 then Close;
  if key=VK_F5 then Panel1.Visible:=not Panel1.Visible;
end;

procedure TfrmSelectPart.Image2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(Handle, wm_SysCommand ,$F012, 0);
end;

end.

⌨️ 快捷键说明

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