📄 customnameinfo_unt.pas
字号:
unit CustomNameInfo_Unt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DataEdit_BaseUnt, DB, Grids, DBGrids, StdCtrls, Buttons,
ExtCtrls, Mask, DBCtrls;
type
TCustomNameInfo_Frm = class(TDataEdit_BaseFrm)
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
Label3: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
CommonName_DataS: TDataSource;
DBLookupComboBox2: TDBLookupComboBox;
TaskType_DataS: TDataSource;
procedure FormResize(Sender: TObject);
procedure DBLookupComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn8Click(Sender: TObject);
procedure DBLookupComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
modify:boolean; //控制‘确定’按钮按照何种状况进行执行的变量
end;
var
CustomNameInfo_Frm: TCustomNameInfo_Frm;
implementation
uses Data_Unt,Tools_Unt;
{$R *.dfm}
procedure TCustomNameInfo_Frm.FormResize(Sender: TObject);
begin
inherited;
DBLookupComboBox1.Width:=DBLookupComboBox1.Width+25;
DBLookupComboBox2.Width:=DBLookupComboBox2.Width+25;
end;
procedure TCustomNameInfo_Frm.DBLookupComboBox2KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=VK_RETURN then DBEdit1.SetFocus;
end;
procedure TCustomNameInfo_Frm.BitBtn8Click(Sender: TObject);
begin
inherited;
modify:=true;
DBLookUpComboBox1.SetFocus;
end;
procedure TCustomNameInfo_Frm.DBLookupComboBox1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=VK_RETURN then DBLookUpComboBox2.SetFocus;
end;
procedure TCustomNameInfo_Frm.DBEdit1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=VK_RETURN then BitBtn3.SetFocus;
end;
procedure TCustomNameInfo_Frm.BitBtn1Click(Sender: TObject);
var
LastId:integer;
begin
inherited;
modify:=false;
try
if Base_DataS.DataSet.RecordCount=0 then LastId:=0
else LastId:=GetLastRecId(Base_DataS.DataSet,'Sequence');
Base_DataS.DataSet.Append;
Base_DataS.DataSet.FieldByName('Sequence').Value:=LastId+1;
except
showmessage('数据库未连接正确!');
end;
DBLookUpComboBox1.SetFocus;
end;
procedure TCustomNameInfo_Frm.BitBtn3Click(Sender: TObject);
var
Id,i,a,b,TaskType,TaskT:integer;
begin
inherited;
if modify then exit;//如果是按下修改键后,再按下的确定键,则更新(Post)完后,到此就不再往下执行
//以下为"工序当地名称"表中的“Id”字段自动编号,同一工序类型(TaskType_Id)的Id编号唯一
Base_DataS.DataSet.Last;
if VarIsNull(Base_DataS.DataSet.FieldByName('CommonName_Id').Value)
then
begin
showmessage('请输入相应的书面名称!');
DBLookupComboBox1.Enabled:=true;
DBLookupComboBox2.Enabled:=true;
DBEdit1.Enabled:=true;
BitBtn3.Enabled:=true;
DBLookupComboBox1.SetFocus;
exit;
end;
a:=Base_DataS.DataSet.FieldByName('CommonName_Id').Value;
CommonName_DataS.DataSet.Locate('Id',a,[loCaseInsensitive]);
TaskType:=CommonName_DataS.DataSet.FieldByName('TaskType_Id').Value;
Id:=0;
Base_DataS.DataSet.First;
for i:=1 to Base_DataS.DataSet.RecordCount do
begin
a:=Base_DataS.DataSet.FieldByName('CommonName_Id').Value;
CommonName_DataS.DataSet.Locate('Id',a,[loCaseInsensitive]);
TaskT:=CommonName_DataS.DataSet.FieldByName('TaskType_Id').Value;
if VarIsNull(Base_DataS.DataSet.FieldByName('Id').Value) then b:=0
else b:=Base_DataS.DataSet.FieldByName('Id').Value;
if (TaskT=TaskType)and(b>Id) then Id:=b;
Base_DataS.DataSet.Next;
end;
Base_DataS.DataSet.Last;
Base_DataS.DataSet.Edit;
Base_DataS.DataSet.FieldByName('Id').AsInteger:=Id+1;
try
Base_DataS.DataSet.Post;
except
Base_DataS.DataSet.Cancel;
showmessage('数据更新没有成功!');
end;
//Base_DataS.DataSet.GotoBookmark(BookMark);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -