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