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

📄 frmgoodsdata.pas

📁 物流供应链管理系统
💻 PAS
字号:
unit frmGoodsData;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, ComCtrls, Mask, DBCtrls,
  ExtDlgs, ExtCtrls, LCDBOperatTool;

type
  TFormGoodsData = class(TForm)
    ADOConGoodsData: TADOConnection;
    DSGoodsData: TDataSource;
    DBGrid1: TDBGrid;
    PCGoodsData: TPageControl;
    TSBaseInfo: TTabSheet;
    TSOther: TTabSheet;
    ADOQGoods: TADOQuery;
    DBEdtBarCode: TDBEdit;
    DBEdtName: TDBEdit;
    LUCBVendorId: TDBLookupComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBEdtWeight: TDBEdit;
    DBEdtVolumn: TDBEdit;
    LUCBCheckupGrade: TDBLookupComboBox;
    DBImage: TDBImage;
    Button1: TButton;
    LUCBGoodsCate: TDBLookupComboBox;
    DBEdtAlias: TDBEdit;
    Label10: TLabel;
    Label11: TLabel;
    DBEdtLifeSpan: TDBEdit;
    LUCBLifeSpanUnit: TDBLookupComboBox;
    Label12: TLabel;
    LUCBWeightUnit: TDBLookupComboBox;
    Label13: TLabel;
    LUCBVolumnUnit: TDBLookupComboBox;
    Label14: TLabel;
    LUCBUnit: TDBLookupComboBox;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    LUCBABCCate: TDBLookupComboBox;
    DBEdtUllageRate: TDBEdit;
    DBEdtPrice: TDBEdit;
    LUCBCurrencyUnit: TDBLookupComboBox;
    DBEdtOrderInterval: TDBEdit;
    DBEdtLeadTime: TDBEdit;
    LUCBOrderPolicy: TDBLookupComboBox;
    DBEdtSafetyStock: TDBEdit;
    DBEdtMaxOrder: TDBEdit;
    DBEdtMinOrder: TDBEdit;
    DBEdtEOQ: TDBEdit;
    PicDlg: TOpenPictureDialog;
    ADOTCheckupGrade: TADOTable;
    ADOTGoodsCate: TADOTable;
    ADOTVendor: TADOTable;
    ADOTWeightUnit: TADOTable;
    ADOTLifeSpanUnit: TADOTable;
    ADOTVolumnUnit: TADOTable;
    ADOTUnit: TADOTable;
    ADOTABCCate: TADOTable;
    ADOTOrderPolicy: TADOTable;
    ADOTCurrencyUnit: TADOTable;
    DSCheckupGrade: TDataSource;
    DSGoodsCate: TDataSource;
    DSVendor: TDataSource;
    DSWeightUnit: TDataSource;
    DSVolumnUnit: TDataSource;
    DSLifeSpanUnit: TDataSource;
    DSUnit: TDataSource;
    DSABCCate: TDataSource;
    DSOrderPolicy: TDataSource;
    DSCurrencyUnit: TDataSource;
    CBField: TComboBox;
    RBEqual: TRadioButton;
    RBContain: TRadioButton;
    EdtSearchValue: TEdit;
    Button2: TButton;
    LCDBOperatTool1: TLCDBOperatTool;
    BtnAll: TButton;
    ADOQuery: TADOQuery;
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure FormDeactivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure LCDBOperatTool1Click(Btn: TToolButton;
      var Continued: Boolean);
    procedure BtnAllClick(Sender: TObject);
  private
    { Private declarations }
    function IsBarCodeExists(ABarCode: string): Boolean;//输入的条码是否已经存在
  public
    { Public declarations }
  end;

var
  FormGoodsData: TFormGoodsData;

implementation
uses untConfig,CommonFunc,untGlobal, StrUtils;
{$R *.dfm}


procedure TFormGoodsData.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
  Perform(WM_NEXTDLGCTL,0,0);
end;

procedure TFormGoodsData.FormCreate(Sender: TObject);
var
  i, n: Integer;
begin
  ADOConGoodsData.Close;
  ADOConGoodsData.ConnectionString := GetConnectionString;
  try
    ADOConGoodsData.Open;
    n := self.ComponentCount - 1;
    for i := 0 to n do
    begin
      if Components[i] is TADOTable then
        (Components[i] as TADOTable).Open;
    end;
    ADOQGoods.Open;
  except
    LCShowMessage('连接数据库错误!');
    ADOConGoodsData.Close;
  end;
end;

procedure TFormGoodsData.FormDeactivate(Sender: TObject);
begin
  ADOConGoodsData.Close;
end;

procedure TFormGoodsData.Button1Click(Sender: TObject);
begin
  if PicDlg.Execute then
    DBImage.Picture.LoadFromFile(PicDlg.FileName);
end;


function TFormGoodsData.IsBarCodeExists(ABarCode: string): Boolean;
begin
  ADOQuery.Close;
  ADOQuery.SQL.Clear;
  ADOQuery.SQL.Add('select BarCode from t_GoodsMaster where BarCode=:BarCode');
  ADOQuery.Parameters.ParamByName('BarCode').Value := ABarCode;
  ADOQuery.Open;
  if ADOQuery.RecordCount > 0 then
    result := true
  else
    result := false;
end;

procedure TFormGoodsData.Button2Click(Sender: TObject);
var
  LName, LCon, LValue: string;
  LSql: string;
  s: string;
begin
  if (not CheckInput(CBField)) or (not CheckInput(EdtSearchValue))then Exit;
  LName := CBField.Items.ValueFromIndex[CBField.ItemIndex];
  LCon := IfThen(RBEqual.Checked,' = ', 'like');
  s :=  Trim(EdtSearchValue.Text);
  LValue := IfThen(RBEqual.Checked,QuotedStr(s),QuotedStr('%'+s+'%'));
  LSql := Format('select * from t_GoodsMaster where %s %s %s',[LName, LCon, LValue]);
  ADOQGoods.Close;
  ADOQGoods.SQL.Text := LSql;
  ADOQGoods.Open;
  DSGoodsData.DataSet := ADOQGoods;
end;

procedure TFormGoodsData.LCDBOperatTool1Click(Btn: TToolButton;
  var Continued: Boolean);
begin
  if (Btn = tbPost) and (bmEdit <> LCDBOperatTool1.BtnMode) then
    if IsBarCodeExists(Trim(DBEdtBarCode.Text)) then
    begin
      LCShowMessage('您指定的条形码已经存在!');
      Continued := false;
    end;
end;

procedure TFormGoodsData.BtnAllClick(Sender: TObject);
begin
  ADOQGoods.Close;
  ADOQGoods.SQL.Text := 'select * from t_GoodsMaster';
  ADOQGoods.Open;
end;

end.

⌨️ 快捷键说明

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