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

📄 unitplannum.pas

📁 仓储系统
💻 PAS
字号:
unit UnitPlanNum;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, Grids, DBGrids, StdCtrls, ExtCtrls, Buttons;

type
  TfrmPlanNum = class(TForm)
    Panel2: TPanel;
    btnAdd: TButton;
    btnCancel: TButton;
    btnErase: TButton;
    btnMod: TButton;
    btnSave: TButton;
    btnExit: TButton;
    Panel1: TPanel;
    lblPlanNo: TLabel;
    lblPlanNum: TLabel;
    edtPlanNo: TEdit;
    edtPlanNum: TEdit;
    DBGrid1: TDBGrid;
    dsPlanNum: TDataSource;
    lblWlbm: TLabel;
    edtWlbm: TEdit;
    sbtncode: TSpeedButton;
    lblInSum: TLabel;
    edtInSum: TEdit;
    lblOutSum: TLabel;
    edtOutSum: TEdit;
    procedure btnAddClick(Sender: TObject);
    procedure btnModClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnEraseClick(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure edtPlanNoKeyPress(Sender: TObject; var Key: Char);
    procedure edtPlanNoExit(Sender: TObject);
    procedure dsPlanNumDataChange(Sender: TObject; Field: TField);
    procedure FormShow(Sender: TObject);
    procedure sbtncodeClick(Sender: TObject);
    procedure edtOutSumKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
    listLb,listLbmc:array of string;
  end;

var
  frmPlanNum: TfrmPlanNum;
  isAdd,isMod:boolean;
  RecNo:TBookMark;
implementation

uses UnitDm, UnitSelectCodeNameType;

{$R *.dfm}

procedure TfrmPlanNum.btnAddClick(Sender: TObject);
begin
  isAdd:=true;
  isMod:=false;
  Dm.qry_PlanNum.last;
  if btnAdd.caption='增加(&A)' then
  begin
    btnAdd.enabled:=false;
    btnErase.enabled:=false;
    btnMod.enabled:=false;
    btnSave.enabled:=true;
    btnCancel.enabled:=true;

    panel1.enabled:=true;
    edtPlanNo.text:='';
    edtPlanNum.text:='';
    edtPlanNo.setfocus;
  end;
end;

procedure TfrmPlanNum.btnModClick(Sender: TObject);
begin
  if dm.qry_PlanNum.RecordCount=0 then exit;
  //获得当前的记录位置
  Recno:=dm.qry_PlanNum.GetBookmark;
  //关闭与表的联系-------------
  dm.qry_PlanNum.DisableControls;
  //标志位--------
  isMod:=true;
  isAdd:=false;

  btnAdd.Enabled:=false;
  btnErase.Enabled:=false;
  btnMod.Enabled:=false;
  btnSave.Enabled:=true;
  btnCancel.Enabled:=true;
  edtPlanNum.enabled:=true;
  panel1.enabled:=true;
  edtPlanNum.setfocus;
end;

procedure TfrmPlanNum.btnCancelClick(Sender: TObject);
begin
  if isAdd then isadd:=false;
  if isMod then isMod:=false;

  DM.qry_PlanNum.EnableControls;
  DM.qry_PlanNum.close;
  DM.qry_PlanNum.open;

  if btnCancel.caption='取消(&C)' then
  begin
    panel1.enabled:=false;
    btnAdd.enabled:=true;
    btnErase.enabled:=true;
    btnMod.enabled:=true;
    btnSave.enabled:=false;
    btnCancel.enabled:=false;
  end;
end;

procedure TfrmPlanNum.btnExitClick(Sender: TObject);
begin
  close;
end;

procedure TfrmPlanNum.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=cafree;
end;

procedure TfrmPlanNum.btnEraseClick(Sender: TObject);
begin
  if dm.qry_PlanNum.RecordCount=0 then exit;
  if application.MessageBox('确信删除当前记录?','警告',mb_okcancel+mb_iconwarning)=IDOK then
  begin
    with dm.qry_PlanNum do
    begin
      edit;
      Delete;
      Close;
      Open;
    end;
  end;
end;

procedure TfrmPlanNum.btnSaveClick(Sender: TObject);
begin
  if edtPlanNo.text='' then
  begin
    application.MessageBox('注意:'+#13+'  计划编号不能为空!','警告',mb_ok+mb_iconwarning);
    edtPlanNo.setfocus;
    exit;
  end;
 {if (length(edtPlanNo.text)>0) and (length(edtPlanNo.text)<12) then
  begin
    application.MessageBox('注意:'+#13+'  计划编号不能少于8个字符!','警告',mb_ok+mb_iconwarning);
    edtPlanNo.setfocus;
    exit;
  end;    }

  if isadd then
  begin
    DM.qry_PlanNum.DisableControls;
    DM.qry_PlanNum.append;
  end;
  DM.qry_PlanNum.edit;
  DM.qry_PlanNum.fieldbyname('PlanNo').asstring:=edtPlanNo.Text;
  DM.qry_PlanNum.fieldbyname('Mate_Code').asstring:=edtWlbm.Text;
  DM.qry_PlanNum.fieldbyname('PlanNum').asstring:=edtPlanNum.text;
  //DM.qry_PlanNum.fieldbyname('In_Sum').asstring:=edtInSum.text;     //累计入库
  //DM.qry_PlanNum.fieldbyname('Out_Sum').asstring:=edtOutSum.text;   //累计出库
  Dm.qry_PlanNum.post;
//---------------------------------------
  if isAdd then isAdd:=false;
  if isMod then isMod:=false;

  Panel1.Enabled:=false;

  btnadd.enabled:=true;
  btnadd.SetFocus;
  btnErase.enabled:=true;
  btnMod.enabled:=true;
  btnSave.enabled:=false;
  btnCancel.enabled:=false;

  edtPlanNo.Enabled:=true;

  Dm.qry_PlanNum.EnableControls;
  Dm.qry_PlanNum.close;
  Dm.qry_PlanNum.open;
end;

procedure TfrmPlanNum.edtPlanNoKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    key:=#0;
    perform(cm_dialogkey,vk_tab,0);
  end;
end;

procedure TfrmPlanNum.edtPlanNoExit(Sender: TObject);
begin
  if edtPlanNo.text='' then exit;
  if isadd then//增加
  begin
    if dm.qry_PlanNum.Locate('PlanNo',edtPlanNo.text ,[loCaseInsensitive]) then
    begin
      application.MessageBox('注意:'+#13+'  计划编号重复,请重新输入!','警告',mb_ok+mb_iconwarning);
      edtPlanNo.text:='';
      edtPlanNo.SetFocus;
      exit;
    end;
  end;
end;

procedure TfrmPlanNum.dsPlanNumDataChange(Sender: TObject; Field: TField);
var
  i:integer;
  str:string;
begin
  if not isadd then
  begin
    edtPlanNo.Text:=DM.qry_PlanNum.fieldbyname('PlanNo').asstring;
    edtWlbm.Text:=DM.qry_PlanNum.fieldbyname('Mate_Code').asstring;
    edtPlanNum.text:=DM.qry_PlanNum.fieldbyname('PlanNum').asstring;
    edtInSum.text:=DM.qry_PlanNum.fieldbyname('In_Sum').asstring;
    edtOutSum.text:=DM.qry_PlanNum.fieldbyname('Out_Sum').asstring;
  end else
    exit;
end;

procedure TfrmPlanNum.FormShow(Sender: TObject);
begin
  with dm.qry_PlanNum do
  begin
    close;
    sql.Clear;
    sql.Add('select * from PlanNum');
    open;
  end;
end;

procedure TfrmPlanNum.sbtncodeClick(Sender: TObject);
begin
  frmSelectCodeNameType:=TfrmSelectCodeNameType.create(self);
  frmSelectCodeNameType.show;
end;

procedure TfrmPlanNum.edtOutSumKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    key:=#0;
    btnSave.SetFocus;
  end;
end;

end.

⌨️ 快捷键说明

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