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

📄 getgoods.pas

📁 很好的文具管理软件
💻 PAS
字号:
unit GetGoods;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Buttons;

type
  TFrmGetGoods = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    EdtClass: TEdit;
    Label2: TLabel;
    EdtGoods: TEdit;
    Label3: TLabel;
    EdtGuige: TEdit;
    Label4: TLabel;
    EdtUnit: TEdit;
    Label5: TLabel;
    EdtPrice: TEdit;
    Label6: TLabel;
    EdtAmount: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    DTPGetGoods: TDateTimePicker;
    CmbDept: TComboBox;
    EdtGetName: TEdit;
    EdtGetAmount: TEdit;
    LUnit: TLabel;
    Label11: TLabel;
    MemoGet: TMemo;
    BtnOk: TBitBtn;
    BtnCancel: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure BtnOkClick(Sender: TObject);
    procedure EdtGetAmountKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    procedure ReadDept;
    procedure WriteToOutHistory;
    procedure UpdateNowStock;
    procedure AllGetGoods;
  public
    { Public declarations }
  end;

var
  FrmGetGoods: TFrmGetGoods;

implementation

uses Global,dm, Logo;

{$R *.dfm}

procedure TFrmGetGoods.FormCreate(Sender: TObject);
begin
self.Caption :=SFormGetGoods;
with FrmLogo do
  begin
    LMsg1.Caption :=sMsgLoadInfo3;
    LMsg2.Caption :=sMsgLoadInfo3;
    LMsg1.Update;
    LMsg2.Update;
  end;
ReadDept;
end;

procedure TFrmGetGoods.FormActivate(Sender: TObject);
begin
DTPGetGoods.Date :=now;
CmbDept.SetFocus;
EdtGetName.Text :='';
EdtGetAmount.Text :='';
MemoGet.Text:='';

end;

procedure TFrmGetGoods.ReadDept;
begin
CmbDept.Clear;
with Dm_Wjckgl.ADOQry do
begin
  close;
  sql.Text :=format(SSQLTY1,[STDept,SFDept]);
  open;
  first;
  while not eof do
  begin
    if FieldValues[SFDept]<> null then
      CmbDept.Items.Add(FieldValues[SFDept]);
    next;
  end;
  close;
end;
end;

procedure TFrmGetGoods.BtnOkClick(Sender: TObject);
begin
if trim(CmbDept.Text)='' then
  begin
    cmbDept.SetFocus;
    exit;
  end;
if trim(EdtGetName.Text)='' then
  begin
    EdtGetname.SetFocus;
    exit;
  end;
if trim(EdtGetAmount.Text)='' then
  begin
    EdtGetAmount.SetFocus ;
    exit;
  end;
if StrToInt(EdtGetAmount.Text)>StrToInt(EdtAmount.Text) then
  begin
    MsgBox(sMsgGetGoodsExceed,sTitleError,1);
    EdtGetAmount.SetFocus;
    exit;
  end;
WriteToOutHistory;

if StrToInt(EdtGetAmount.Text)<StrToInt(EdtAmount.Text) then
  UpdateNowStock
  else
  AllGetGoods;   //全取物品,即从仓库库存中删除该项

close;
end;

procedure TFrmGetGoods.EdtGetAmountKeyPress(Sender: TObject;
  var Key: Char);
begin
if not (key in ['0'..'9','.',#13,#8]) then key:=#0;
end;

procedure TFrmGetGoods.WriteToOutHistory;
var
  yy,mm,dd:Word;
begin
decodeDate(DTPGetGoods.Date,yy,mm,dd);
with DM_Wjckgl.ADOQry do
  begin
    close;
    sql.Text :=sSQLInsertGoodsToOutHistory;
    parameters.ParamByName('pDate').Value :=DateToStr(DTPGetGoods.Date);
    parameters.ParamByName('pYm').Value :=IntToStr(yy)+'年'+IntToStr(mm)+'月';
    parameters.ParamByName('pDept').Value :=CmbDept.Text ;
    parameters.ParamByName('pName').Value :=EdtGetName.Text;
    parameters.ParamByName('pGoods').Value :=EdtGoods.Text;
    parameters.ParamByName('pAmount').Value :=EdtGetAmount.Text;
    if trim(MemoGet.Text)='' then MemoGet.Text:='无';
    parameters.ParamByName('pMemo').Value :=MemoGet.Text;
    execsql;
  end;
end;

procedure TFrmGetGoods.UpdateNowStock;
begin
with dm_Wjckgl.ADOQry do
  begin
    close;
    sql.Text :=sSQLUpdateGoodsToStock;
    parameters.ParamByName('pGoods').Value :=EdtGoods.Text;
    parameters.ParamByName('pAmount').Value := - StrToint(EdtGetAmount.Text);
//    parameters.ParamByName('pMemo').Value :=MemoGoods.Text;
    execsql;
  end;
end;

procedure TFrmGetGoods.AllGetGoods;   //全取物品,即从仓库库存中删除该项
begin
with dm_Wjckgl.ADOQry do
  begin
    close;
    sql.Text := sSQLAllGet;
    parameters.ParamByName('pGoods').Value :=EdtGoods.Text;
    execsql;
  end;
end;

end.

⌨️ 快捷键说明

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