📄 uneumt.pas
字号:
DM.AQ2.Append;
TbnEmAdd.Enabled:=False;
TbnEmEdit.Enabled:=False;
TbnEmView.Enabled:=False;
TbnEmDel.Enabled:=False;
TbnEmCancel.Enabled:=True;
TbnEmSave.Enabled:=True;
TbnEmFirst.Enabled:=False;
TbnEmPrior.Enabled:=False;
TbnEmNext.Enabled:=False;
TbnEmLast.Enabled:=False;
end;
procedure TEumt_Frm.FormDestroy(Sender: TObject);
begin
adoEumt[0].Close;
adoEumt[1].Close;
adoEumt[2].Close;
adoEumt[0].Free;
adoEumt[1].Free;
adoEumt[2].Free;
end;
procedure TEumt_Frm.TbnEmEditClick(Sender: TObject);
begin
adoEumt[0].BeginTrans;
DBGrid1.Enabled:=False;
DM.AQ2.Edit;
TbnEmAdd.Enabled:=False;
TbnEmEdit.Enabled:=False;
TbnEmView.Enabled:=False;
TbnEmDel.Enabled:=False;
TbnEmCancel.Enabled:=True;
TbnEmSave.Enabled:=True;
TbnEmFirst.Enabled:=False;
TbnEmPrior.Enabled:=False;
TbnEmNext.Enabled:=False;
TbnEmLast.Enabled:=False;
end;
procedure TEumt_Frm.TbnEmCancelClick(Sender: TObject);
begin
if (dm.AQ2.State in [dsinsert]) or (DM.AQ2.State in [dsEdit]) then
begin
try
DBGrid1.Enabled:=True;
Dm.AQ2.Cancel;
adoEumt[0].RollbackTrans;
except
end;
end;
TbnEmAdd.Enabled:=True;
TbnEmEdit.Enabled:=True;
TbnEmView.Enabled:=True;
TbnEmDel.Enabled:=True;
TbnEmCancel.Enabled:=False;
TbnEmSave.Enabled:=False;
TbnEmFirst.Enabled:=True;
TbnEmPrior.Enabled:=True;
TbnEmNext.Enabled:=True;
TbnEmLast.Enabled:=True;
end;
procedure TEumt_Frm.TbnEmSaveClick(Sender: TObject);
var
bz:string;
nod:TTreeNode;
lab:TLabel;
begin
if not ControlEdit then exit;
if not ((dm.AQ2.State in [dsinsert]) or (dm.AQ2.State in [dsEdit])) then exit;
with dm.AQ2 do
begin
{ }
case State of
dsinsert:begin
fieldbyname('EupetNNo').AsString:=FormatMe(Qbh('T_Eupet','EupetNNo'),4);
fieldbyname('EupetName').AsString:=copy(edit3.Text,1,30);
fieldbyname('EupetNo').AsString:=copy(edit19.Text,1,20);
bz:='add';
end;
dsEdit:begin
fieldbyname('EupetName').AsString:=copy(edit3.Text,1,30);
fieldbyname('EupetNo').AsString:=copy(edit19.Text,1,20);
bz:='edit';
end;
end;
end;
try
DBGrid1.Enabled:=True;
DM.AQ2.UpdateRecord;
DM.AQ2.Refresh;
adoEumt[0].CommitTrans;
Application.MessageBox('机组保存成功','提示',MB_OK+MB_ICONINFORMATION);
except
DBGrid1.Enabled:=True;
DM.AQ2.Cancel;
adoEumt[0].RollbackTrans;
Application.MessageBox('机组保存失败','提示',MB_OK+MB_ICONERROR);
end;
//CreaTreeEumt;
if bz='add' then begin
lab:=TLabel.Create(self); lab.Tag:=trv.Items.Count;
lab.Caption:=DM.AQ2.fieldbyname('EupetNNo').AsString;
nod:=TrV.Items.AddChild(nil,'['+edit19.Text+']-'+edit3.Text);
nod.ImageIndex:=0;nod.SelectedIndex:=0;
nod.Data:=lab;
TrV.Selected:=nod;
end else begin
Trv.Selected.Text:='['+edit19.Text+']-'+edit3.Text;
end;
TbnEmAdd.Enabled:=True;
TbnEmEdit.Enabled:=True;
TbnEmView.Enabled:=True;
TbnEmDel.Enabled:=True;
TbnEmCancel.Enabled:=False;
TbnEmSave.Enabled:=False;
TbnEmFirst.Enabled:=True;
TbnEmPrior.Enabled:=True;
TbnEmNext.Enabled:=True;
TbnEmLast.Enabled:=True;
end;
function TEumt_Frm.ControlEdit: boolean;
begin
Result:=True;
if edit3.Text='' then
begin
Application.MessageBox('机组名称不能为空','提示',MB_OK+MB_ICONINFORMATION);
Result:=False;
Edit3.SetFocus;
Exit;
end;
if edit19.text='' then
begin
Application.MessageBox('机组编号不能为空','提示',MB_OK+MB_ICONINFORMATION);
Result:=False;
Edit19.SetFocus;
Exit;
end;
end;
procedure TEumt_Frm.listrec(adotmp: TADOQuery);
begin
edit19.text:=adotmp.fieldbyname('EupetNo').AsString;
edit3.text:=adotmp.fieldbyname('EupetName').AsString;
end;
procedure TEumt_Frm.TbnEmDelClick(Sender: TObject);
begin
if not DM.AQ2.Active then exit;
if dm.AQ2.Recordset.RecordCount<=0 then exit;
if TrV.Selected.Count>0 then
begin
Application.MessageBox('不能删除此数据','错误',MB_OK+MB_ICONERROR);
exit;
end;
if Application.MessageBox('你真的想删除此记录么?','提示',MB_YESNO+MB_ICONQUESTION)=idno then exit;
try
adoEumt[0].BeginTrans;
dm.AQ2.Delete;
dm.aq2.Refresh;
adoEumt[0].CommitTrans;
TrV.Selected.Delete;
except
Application.MessageBox('删除数据出错','错误',MB_OK+MB_ICONERROR);
dm.AQ2.Cancel;
adoEumt[0].RollbackTrans;
end;
end;
procedure TEumt_Frm.TbnEmFirstClick(Sender: TObject);
begin
if not DM.AQ2.Active then exit;
dm.AQ2.First;dm.aq2.Refresh;
listrec(dm.AQ2);
FindEumt(dm.AQ2.fieldbyname('EupetNno').AsString);
end;
procedure TEumt_Frm.TbnEmPriorClick(Sender: TObject);
begin
if not DM.AQ2.Active then exit;
dm.AQ2.Prior;dm.aq2.Refresh;
listrec(dm.AQ2);
FindEumt(dm.AQ2.fieldbyname('EupetNno').AsString);
end;
procedure TEumt_Frm.TbnEmNextClick(Sender: TObject);
begin
if not DM.AQ2.Active then exit;
dm.AQ2.Next;dm.aq2.Refresh;
listrec(dm.AQ2);
FindEumt(dm.AQ2.fieldbyname('EupetNno').AsString);
end;
procedure TEumt_Frm.TbnEmLastClick(Sender: TObject);
begin
if not DM.AQ2.Active then exit;
dm.AQ2.Last;dm.aq2.Refresh;
listrec(dm.AQ2);
FindEumt(dm.AQ2.fieldbyname('EupetNno').AsString);
end;
procedure TEumt_Frm.FindEumt(EupetNNo: string);
var
Nod:TTreeNode;
i:integer;
begin
for i:=0 to TrV.Items.Count-1 do
begin
nod:=TrV.Items[i];
if nod.Level<>0 then Continue;
if TLabel(TrV.Items[i].Data).Caption = EupetNNo then
begin
TrV.Selected:=nod;
Break;
end;
end;
end;
procedure TEumt_Frm.TbnEmExitClick(Sender: TObject);
begin
TbnEmCancel.Click;
Close;
end;
procedure TEumt_Frm.TbnaddClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
adoeumt[1].BeginTrans;
DBGrid2.Enabled:=False;
DM.AQ3.Append;
TbnAdd.Enabled:=False;
TbnEdt.Enabled:=False;
TbnView.Enabled:=False;
TbnDel.Enabled:=False;
Tbncel.Enabled:=True;
TbnSv.Enabled:=True;
TbnFirst.Enabled:=False;
TbnPrior.Enabled:=False;
TbnNext.Enabled:=False;
TbnLast.Enabled:=False;
edit11.Text:=edit2.Text;
end;
procedure TEumt_Frm.TbnedtClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
adoeumt[1].BeginTrans;
DBGrid2.Enabled:=False;
DM.AQ3.Edit;
TbnAdd.Enabled:=False;
TbnEdt.Enabled:=False;
TbnView.Enabled:=False;
TbnDel.Enabled:=False;
Tbncel.Enabled:=True;
TbnSv.Enabled:=True;
TbnFirst.Enabled:=False;
TbnPrior.Enabled:=False;
TbnNext.Enabled:=False;
TbnLast.Enabled:=False;
end;
procedure TEumt_Frm.TbncelClick(Sender: TObject);
begin
if ((dm.AQ3.State in [dsInsert]) or (dm.AQ3.State in [dsEdit])) then
begin try DBGrid2.Enabled:=True;DM.AQ3.Cancel;
adoeumt[1].RollbackTrans; except end ;end;
TbnAdd.Enabled:=True;
TbnEdt.Enabled:=True;
TbnView.Enabled:=True;
TbnDel.Enabled:=True;
Tbncel.Enabled:=False;
TbnSv.Enabled:=False;
TbnFirst.Enabled:=True;
TbnPrior.Enabled:=True;
TbnNext.Enabled:=True;
TbnLast.Enabled:=True;
end;
procedure TEumt_Frm.TbnsvClick(Sender: TObject);
var
bz:string;
nod:TTreeNode;
lab:TLabel;
begin
nod:=nil;
if Edit2.Text='' then
begin
edit2.Text:='';
application.MessageBox('设备编号不能为空','',MB_OK+MB_ICONINFORMATION);
edit2.SetFocus;
exit;
end;
if Edit4.Text='' then
begin
edit4.Text:='';
application.MessageBox('设备名称不能为空','',MB_OK+MB_ICONINFORMATION);
edit4.SetFocus;
exit;
end;
if not ((dm.AQ3.State in [dsInsert]) or (dm.AQ3.State in [dsEdit])) then exit;
with dm.AQ3 do
begin
case dm.AQ3.State of
dsinsert:begin
case trv.Selected.Level of
0:begin
fieldbyname('NPartNo').AsString:=FormatMe(QPartNo(TLabel(Trv.Selected.data).Caption),4);
fieldbyname('EupetNno').AsString:=TLabel(Trv.Selected.data).Caption;
end;
1:begin
fieldbyname('NPartNo').AsString:=FormatMe(QPartNo(TLabel(Trv.Selected.Parent.data).Caption),4);
fieldbyname('EupetNno').AsString:=TLabel(Trv.Selected.Parent.data).Caption;
end;
2:begin
fieldbyname('NPartNo').AsString:=FormatMe(QPartNo(TLabel(Trv.Selected.Parent.Parent.data).Caption),4);
fieldbyname('EupetNno').AsString:=TLabel(Trv.Selected.Parent.Parent.data).Caption;
end;
end;
fieldbyname('PartNo').AsString:=copy(Edit4.Text,1,20);
fieldbyname('PartName').AsString:=copy(Edit2.Text,1,50);
fieldbyname('ibmemo').AsString:=copy(edit11.Text,1,20);
fieldbyname('ib').AsString:=copy(edit10.Text,1,15);
bz:='add';
end;
dsEdit:begin
fieldbyname('ib').AsString:=copy(edit10.Text,1,15);
fieldbyname('PartName').AsString:=copy(Edit2.Text,1,50);
fieldbyname('PartNo').AsString:=copy(Edit4.Text,1,20);
fieldbyname('ibmemo').AsString:=copy(edit11.Text,1,20);
bz:='edit';
end;
end;
end;
try
DBGrid2.Enabled:=True;
dm.AQ3.UpdateRecord;
dm.AQ3.Refresh;
adoEumt[1].CommitTrans;
Application.MessageBox('设备保存成功','提示',MB_OK+MB_ICONINFORMATION);
if bz='add' then
begin
if trv.Selected.Level=0 then
begin
nod:=trv.Items.AddChild(trv.Selected,'['+edit4.Text+']-'+edit2.Text);
end else if trv.Selected.Level=1 then begin
nod:=trv.Items.AddChild(trv.Selected.Parent,'['+edit4.Text+']-'+edit2.Text);
end else if trv.Selected.Level=2 then begin
nod:=trv.Items.AddChild(trv.Selected.Parent.Parent,'['+edit4.Text+']-'+edit2.Text);
end;
lab:=TLabel.Create(self);lab.Caption:=dm.AQ3.fieldbyname('NPartNo').AsString; lab.Tag:=trv.Items.Count;
nod.Data:=lab;
nod.ImageIndex:=1;nod.SelectedIndex:=1;trv.Selected:=nod;trv.Refresh;
end else trv.Selected.Text:='['+dm.AQ3.fieldbyname('PartNo').AsString+']-'+edit2.Text;
except
Application.MessageBox('设备保存失败','错误',MB_OK+MB_ICONERROR);
DM.AQ3.Cancel;
adoEumt[1].RollbackTrans;
end;
TbnAdd.Enabled:=True;
TbnEdt.Enabled:=True;
TbnView.Enabled:=True;
TbnDel.Enabled:=True;
Tbncel.Enabled:=False;
TbnSv.Enabled:=False;
TbnFirst.Enabled:=True;
TbnPrior.Enabled:=True;
TbnNext.Enabled:=True;
TbnLast.Enabled:=True;
end;
procedure TEumt_Frm.TbndelClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
if (dm.AQ3.State in [dsInsert]) or (dm.AQ3.State in [dsEdit]) then exit;
if dm.AQ3.Recordset.RecordCount<=0 then exit;
If TrV.Selected.Level<>1 then
begin
application.MessageBox('请选择你要删除的机组!','提示',MB_OK+MB_ICONINFORMATION);
Exit;
end;
if trv.Selected.Count>0 then
begin
application.MessageBox('你不能删除此数据!,请先删除测点内容','',MB_OK+MB_ICONINFORMATION);
Exit;
end;
if Application.MessageBox('你真的要删除此设备么?','删除',mb_yesno+MB_ICONQUESTION)=idno then exit;
try
adoEumt[1].BeginTrans;
dm.AQ3.Delete;
dm.AQ3.Refresh;
adoEumt[1].CommitTrans;
TrV.Selected.Delete;
listPartrec(dm.AQ3);
Application.MessageBox('数据删除成功!','提示',MB_OK+MB_ICONINFORMATION);
except
Application.MessageBox('','',MB_OK+MB_ICONERROR);
dm.AQ3.Cancel;
adoEumt[1].RollbackTrans;
end;
end;
procedure TEumt_Frm.TbnFirstClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
dm.AQ3.First;
dm.AQ3.Refresh;
listPartrec(dm.AQ3);
FindPart;
end;
procedure TEumt_Frm.TbnPriorClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
dm.AQ3.Prior;
dm.AQ3.Refresh;
listPartrec(dm.AQ3);
FindPart;
end;
procedure TEumt_Frm.TbnNextClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
dm.AQ3.Next;
dm.AQ3.Refresh;
listPartrec(dm.AQ3);
FindPart;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -