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

📄 place.~pas

📁 这是用delphi开发的一个物资管理信息系统
💻 ~PAS
字号:
unit place;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, DB, ADODB, DBClient,place_unit,product_unit,
  ComCtrls, Buttons, ExtCtrls;

type
  Tplacefrm = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    floor_numlb: TLabel;
    line_numlb: TLabel;
    heightlb: TLabel;
    widthlb: TLabel;
    lengthlb: TLabel;
    heighted: TEdit;
    floor_numed: TEdit;
    widthed: TEdit;
    line_numed: TEdit;
    lengthed: TEdit;
    place_ds1: TDataSource;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    place_cds1: TClientDataSet;
    UpDown1: TUpDown;
    UpDown2: TUpDown;
    UpDown3: TUpDown;
    UpDown4: TUpDown;
    UpDown5: TUpDown;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    cancel_btn: TBitBtn;
    all_btn: TButton;
    Place_Mod: TButton;
    Place_Del: TButton;
    BitBtn2: TBitBtn;
    Label5: TLabel;
    GroupBox3: TGroupBox;
    place_codelb: TLabel;
    Label1: TLabel;
    pro_codelb: TLabel;
    area_namelb: TLabel;
    shelf_numlb: TLabel;
    Image1: TImage;
    pro_codeed: TComboBox;
    area_nameed: TComboBox;
    Edit1: TEdit;
    procedure cancel_btnClick(Sender: TObject);
    procedure all_btnClick(Sender: TObject);
    procedure Place_ModClick(Sender: TObject);
    procedure Place_DelClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure all_btnMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure all_btnMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    place:Tplace;
    product:Tproduct;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  placefrm: Tplacefrm;

implementation

uses place_add, datamodule;

{$R *.dfm}

procedure Tplacefrm.cancel_btnClick(Sender: TObject);
begin
placefrm.Close;
end;

procedure Tplacefrm.all_btnClick(Sender: TObject);
var
  selstr:string;
begin
selstr:='select place_code 库位号,area_name 区域名称,pro_code 所放物品编码,'
+'shelf_num 货架号,floor_num 层号,line_num 列号,height 货格高度,length 货格长度,'
+'width  货格宽度 from  place_info ';
place_cds1.Data:=place.FindAllPlace(selstr);
end;

procedure Tplacefrm.Place_ModClick(Sender: TObject);
var
  modsql,selstr:string;
begin
if  application.MessageBox('要修改这条库位信息吗?','提示',mb_yesno+mb_iconquestion)=idyes then
begin
if Label1.Caption ='' then
begin
showmessage('请输入要修改记录的库位号!');
exit;
end;

if  place.CheckRec(Label1.Caption )=false  then
begin
showmessage('该库位号不存在,请核查!');
exit;
end;

modsql:='update  place_info  set area_name='''+area_nameed.Text+''', '
+'pro_code='''+pro_codeed.Text+''',shelf_num='''+edit1.Text  +''',floor_num='''+floor_numed.Text+''','
+'line_num='''+line_numed.Text+''',height='''+heighted.Text+''',width='''+widthed.Text+''', '
+'length='''+lengthed.Text+''' where place_code='''+label1.Caption +'''';
place.UpdatePlaceRec(modsql);

selstr:='select place_code 库位号,area_name 区域名称,pro_code 所放物品编码,'
+'shelf_num 货架号,floor_num 层号,line_num 列号,height 货格高度,length 货格长度,'
+'width  货格宽度 from  place_info where place_code='''+label1.Caption +'''';
place_cds1.Data:=place.FindAllPlace(selstr);
showmessage('恭喜你,该信息修改成功!');
end;

end;

procedure Tplacefrm.Place_DelClick(Sender: TObject);
var
 delstr,selstr:string;
begin
if  application.MessageBox('删除后信息不可恢复,确定要删除吗?','警告',mb_yesno+mb_iconquestion)=idyes then
begin
if label1.Caption =''  then
begin
showmessage('请输入要删除记录库位号!');
exit;
end;

if  place.CheckRec(label1.Caption )=false  then
begin
showmessage('该库位号不存在,请核查!');
exit;
end;

delstr:='delete  from  place_info where  '
+'place_code='''+label1.Caption +'''';
place.DeletePlaceRec(delstr);


selstr:='select place_code 库位号,area_name 区域名称,pro_code 所放物品编码,'
+'shelf_num 货架号,floor_num 层号,line_num 列号,height 货格高度,length 货格长度,'
+'width  货格宽度 from  place_info ';
place_cds1.Data:=place.FindAllPlace(selstr);

showmessage('恭喜你,信息删除成功!');
end;
end;

procedure Tplacefrm.DBGrid1CellClick(Column: TColumn);
begin
label1.Caption  :=DBGrid1.Fields[0].AsString  ;
area_nameed.Text :=DBGrid1.Fields[1].AsString ;
pro_codeed.Text :=DBGrid1.Fields[2].AsString  ;
edit1.Text :=DBGrid1.Fields[3].AsString  ;
floor_numed.Text :=DBGrid1.Fields[4].AsString ;
line_numed.Text :=DBGrid1.Fields[5].AsString  ;
heighted.Text :=DBGrid1.Fields[6].AsString  ;
widthed.Text :=DBGrid1.Fields[8].AsString  ;
lengthed.Text :=DBGrid1.Fields[7].AsString  ;
end;

procedure Tplacefrm.FormActivate(Sender: TObject);
begin
place:=Tplace.create ;
product:=Tproduct.create;
pro_codeed.Items:=product.GetProIdList();
end;

procedure Tplacefrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
place.Free;
end;

procedure Tplacefrm.BitBtn1Click(Sender: TObject);
 var
   s,m:string;
   i:integer;
begin
 with datamod.adoquery1 do
 begin
 close;
 sql.Clear ;
 sql.Add('select max(place_code) as ss from place_info');
 open;
 end;
 if datamod.adoquery1.FieldByName ('ss').Value =null then
  s:='0000001'
 else
 begin
 m:=trim(datamod.adoquery1.fieldbyname('ss').Value  );
  i:=strtoint(trim(copy(m,1,7)));
 if i<9then
 s:=s+'000000'+inttostr(i+1)
 else if i<99then
 s:=s+'00000'+inttostr(i+1)
 else if i<999 then
 s:=s+'0000'+inttostr(i+1)
 else if i<9999 then
 s:=s+'000'+inttostr(i+1)
 else if i<99999 then
 s:=s+'00'+inttostr(i+1)
 else if i<999999 then
 s:=s+'0'+inttostr(i+1)
 else
  s:=s+inttostr(i+1);
end;
  label1.caption:=s;
  pro_codeed.Text :='';
  edit1.Text:='';
  area_nameed.Text :='';
end;

procedure Tplacefrm.BitBtn2Click(Sender: TObject);
  var
insql,selsql:string;
begin
if   label1.Caption =''  then
begin
showmessage('库位号不能为空!');
exit;
end;
if pro_codeed.Text  =''  then
begin
showmessage('物品编码不能为空!');
exit;
end;
try
  strtoint(heighted.Text);
  except
  showmessage('货格高度输入有误,请重新输入!');
  exit;
  end;
try
  strtoint(floor_numed.Text);
  except
  showmessage('层号输入有误,重新输入!');
  exit;
  end;
try
  strtoint(widthed.Text);
  except
  showmessage('货格宽度输入有误,请重新输入!');
  exit;
  end;
try
  strtoint(line_numed.Text);
  except
  showmessage('列号输入有误,请重新输入!');
  exit;
  end;
try
  strtoint(lengthed.Text);
  except
  showmessage('货格长度输入有误,请重新输入!');
  exit;
  end;

if place.CheckRec(label1.Caption )  then
begin
showmessage('该库位号已经存在,请重新添加!');
exit;
end;

insql:='insert into place_info(place_code,area_name,pro_code,'
+'shelf_num,floor_num,line_num,height,length,width'
+')values('''+label1.Caption+''','''+area_nameed.Text+''','''+pro_codeed.Text+''','
+''''+edit1.Text +''','''+floor_numed.Text+''','''+line_numed.Text+''','
+''''+heighted.Text+''','''+lengthed.Text+''','''+widthed.Text+''')';
place.InsertPlaceRec(insql);

selsql:='select place_code 库位号,area_name 区域名称,pro_code 所放物品编码,'
+'shelf_num 货架号,floor_num 层号,line_num 列号,height 货格高度,length 货格长度,'
+'width  货格宽度 from  place_info where place_code='''+label1.Caption+'''';
place_cds1.Data:=place.FindAllPlace(selsql);
showmessage('恭喜你成功的保存了这条信息!');
end;

procedure Tplacefrm.all_btnMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(Sender).Font.Color := clRed;
end;

procedure Tplacefrm.all_btnMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(Sender).Font.Color := clRed;
end;

end.

⌨️ 快捷键说明

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