📄 unitplannum.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 + -