📄 place.~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 + -