📄 uneumt.pas
字号:
procedure TEumt_Frm.listPCrec(adotmp: TADOQuery);
begin
with DM.AQ4 do
begin
Edit1.Text:=fieldbyname('MsrNo').AsString;
Edit16.Text:=fieldbyname('MsrName').AsString;
ComboBox1.ItemIndex:=ComboBox1.Items.IndexOf(fieldbyname('MsrItem').AsString);
//ComboBox1.Text:=fieldbyname('MsrItem').AsString;
Edit5.Text:=fieldbyname('DWV').AsString;
Edit6.Text:=fieldbyname('UWV').AsString;
Edit7.Text:=fieldbyname('IB').AsString;
Edit8.Text:=fieldbyname('PCDate').AsString;
Edit9.Text:=fieldbyname('PCLine').AsString;
end;
end;
procedure TEumt_Frm.TbnCpFirstClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
// if TrV.Selected.Level<1 then exit;
DM.AQ4.First;
DM.AQ4.Refresh;
listPCrec(dm.AQ4);
FindPc;
end;
procedure TEumt_Frm.TbnCpPriorClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
DM.AQ4.Prior;
DM.AQ4.Refresh;
listPCrec(dm.AQ4);
FindPc;
end;
procedure TEumt_Frm.TbnCpNextClick(Sender: TObject);
begin
//if TrV.Selected.Level<1 then exit;
if TrV.Selected=nil then exit;
DM.AQ4.Next;
DM.AQ4.Refresh;
listPCrec(dm.AQ4);
FindPc;
end;
procedure TEumt_Frm.TbnCpLastClick(Sender: TObject);
begin
//if TrV.Selected.Level<1 then exit;
if TrV.Selected=nil then exit;
DM.AQ4.Last;
DM.AQ4.Refresh;
listPCrec(dm.AQ4);
FindPc;
end;
procedure TEumt_Frm.FindPc;
var
nod,subnod:TTreeNode;
i,j:integer;
isfind:boolean;
begin
nod:=nil;subnod:=nil;
isfind:=False;
Screen.Cursor:=crHourGlass;
// if TrV.Selected.Level<1 then exit;
case trv.Selected.Level of
1:nod:=trv.Selected.Parent;
2:nod:=trv.Selected.Parent.Parent;
0:nod:=trv.Selected;
end;
for i:=0 to nod.Count-1 do
begin
subnod:=nod.Item[i];
if isfind then Break;
for j:=0 to subnod.Count-1 do begin
if isfind then Break;
if Tlabel(subnod.Item[j].Data).Caption=Edit1.Text then
begin
Application.ProcessMessages;
trv.Selected:=subnod.Item[j];
//Screen.Cursor:=crDefault;
isfind:=True;
end;
end;
end;
if not isfind then
begin
for i:=0 to trv.Items.Count-1 do
begin
Application.ProcessMessages;
if trv.Items[i].Data<>nil then
if TLabel(trv.Items[i].Data).Caption=edit1.Text then
begin
trv.Selected:=trv.Items[i];
Break;
end;
end;
end;
Screen.Cursor:=crDefault;
end;
procedure TEumt_Frm.TbnCpdelClick(Sender: TObject);
var
adodelMsr:TADOQuery;
msrno:integer;
begin
if TrV.Selected=nil then exit;
if trv.Selected.Level<>2 then exit;
if (DM.AQ4.State in [dsInsert]) or (DM.AQ4.State in [dsEdit]) then exit;
if dm.AQ4.Recordset.RecordCount<=0 then exit;
if Application.MessageBox('你真的要删除此测点么?','提示',MB_YESNO+MB_ICONQUESTION)=idno then exit;
try
adodelMsr:=TADOQuery.Create(self);
adodelMsr.Connection:=adoeumt[2];
adoEumt[2].BeginTrans;
msrno:=dm.AQ4.fieldbyname('msrno').AsInteger;
DM.AQ4.Delete;
dm.AQ4.Refresh;
with adodelMsr do
begin
SQL.Text:='delete from T_Ncpt where Msrno='+inttostr(msrno);
ExecSQL;
SQL.Text:='delete from T_PerPlan where Msrno='+inttostr(msrno);
ExecSQL;
SQL.Text:='delete from T_Bdata where Msrno='+inttostr(msrno);
ExecSQL;
end;
adoEumt[2].CommitTrans;
trv.Selected.Delete;
listPCrec(dm.AQ4);
FindPc;
//CreaChectPoints;
except
DM.AQ4.Cancel;
adoEumt[2].RollbackTrans;
Application.MessageBox('删除测点失败!','错误',MB_OK+MB_ICONERROR);
end;
end;
procedure TEumt_Frm.DBGrid3CellClick(Column: TColumn);
begin
If not dm.AQ4.Active then exit;
if dm.AQ4.Recordset.RecordCount<=0 then exit;
// CreaChectPoints;
listPCrec(dm.AQ4); FindPc;
end;
procedure TEumt_Frm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;Eumt_Frm:=nil;
end;
function TEumt_Frm.ControlMsr: Boolean;
var
i:integer;
begin
Result:=True;
try
i:=strtoint(edit1.Text);
except
i:=40001;
end;
if (i<40001) OR (i>105536) then
begin
Application.MessageBox('请输入正确的测点编号!','提示',MB_OK+MB_ICONINFORMATION);
Result:=False;
exit;
end;
{If edit1.Text='' Then
begin
Application.MessageBox('测点编号不能为空','提示',MB_OK+MB_ICONINFORMATION);
edit1.SetFocus; Result:=False;
Exit;
end; }
If edit16.Text='' Then
begin
Application.MessageBox('测点名称不能为空','提示',MB_OK+MB_ICONINFORMATION);
edit16.SetFocus; Result:=False;
Exit;
end;
If combobox1.Text='' Then
begin
Application.MessageBox('测点项目不能为空','提示',MB_OK+MB_ICONINFORMATION);
Exit; Result:=False;
end;
If ((edit6.Text='') and (ComboBox1.Text<>'检查' )) Then
begin
Application.MessageBox('上限报警值不能为空','提示',MB_OK+MB_ICONINFORMATION);
edit6.SetFocus; Result:=False;
Exit;
end;
If ((edit5.Text='') and (ComboBox1.Text<>'检查')) Then
begin
Application.MessageBox('下限报警值不能为空','提示',MB_OK+MB_ICONINFORMATION);
edit5.SetFocus; Result:=False;
Exit;
end;
end;
procedure TEumt_Frm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8,#13]) then key:=#0;
end;
procedure TEumt_Frm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then
exit;
if dm.AQ2.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := rgb(255,255,240)//rgb(253,255,253),clinfobk , RGB(226, 253, 254);
else
(Sender as TDBGrid).Canvas.Brush.Color := rgb(225,249,255);//
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
procedure TEumt_Frm.DBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then
exit;
if dm.AQ3.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := rgb(255,255,240)//rgb(253,255,253),clinfobk , RGB(226, 253, 254);
else
(Sender as TDBGrid).Canvas.Brush.Color := rgb(225,249,255);//
DBGrid2.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
procedure TEumt_Frm.DBGrid3DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then exit;
if dm.AQ4.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := rgb(255,255,240)//rgb(253,255,253),clinfobk , RGB(226, 253, 254);
else
(Sender as TDBGrid).Canvas.Brush.Color := rgb(225,249,255);//
DBGrid3.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
procedure TEumt_Frm.TrVMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
{if Trv.GetNodeAt(X,Y)<> nil then
if TrV.GetNodeAt(X,Y).Index<> TrV.Selected.Index then
begin
TrV.Selected:=TrV.GetNodeAt(X,Y);
if trv.Selected.HasChildren then
TrV.Selected.Expanded:=not TrV.Selected.Expanded;
end;}
end;
procedure TEumt_Frm.ComboBox1Click(Sender: TObject);
begin
if ((dm.AQ4.State in [dsInsert]) or (dm.AQ4.State in [dsedit])) and (pos('振动',TComboBox(Sender).Text)>0) then
begin
Edit16.Text:=ComboBox1.Text;
end;
end;
procedure TEumt_Frm.N1Click(Sender: TObject);
begin
//复制
with DM.AQ4 do begin
if Recordset.RecordCount<=0 then exit;
if TrV.Selected.Level=1 then
begin
CMsr.EupetNNo:=TLabel(TrV.Selected.Parent.Data).Caption;
CMsr.NPartNo:=TLabel(TrV.Selected.Data).Caption;
end else begin
CMsr.EupetNNo:=TLabel(TrV.Selected.Parent.Parent.Data).Caption;
CMsr.NPartNo:=TLabel(TrV.Selected.Parent.Data).Caption;
end;
//CMsr.MsrNNo:=FormatMe(QMsrNNo(fieldbyname('EupetNNo').AsString,fieldbyname('NpartNo').AsString),4);
CMsr.MsrNo:=0;
CMsr.MsrName:=fieldbyname('MsrName').AsString;
CMsr.MsrItem:=fieldbyname('MsrItem').AsString;
CMsr.DWV:=fieldbyname('DWV').AsString;
CMsr.UWV:=fieldbyname('UWV').AsString;
end;
N2.Enabled:=True;
end;
procedure TEumt_Frm.N2Click(Sender: TObject);
var
lab:TLabel;
nod:TTreeNode;
begin
//粘贴
CMsr.EupetNNo:=TLabel(TrV.Selected.Parent.Parent.Data).Caption;
CMsr.NPartNo:=TLabel(TrV.Selected.Parent.Data).Caption;
with DM.AQ4 do
begin
try
adoEumt[2].BeginTrans;
Append;
FieldByName('EupetNNo').AsString:=CMsr.EupetNNo;
FieldByName('NPartNo').AsString:=CMsr.NPartNo;
FieldByName('MsrNNo').AsString:=FormatMe(QMsrNNo(fieldbyname('EupetNNo').AsString,fieldbyname('NpartNo').AsString),4);
FieldByName('MsrNo').AsInteger:=QMsrNo;
FieldByName('MsrName').AsString:=copy(CMsr.MsrName,1,30);
FieldByName('MsrItem').AsString:=copy(CMsr.MsrItem,1,20);
FieldByName('DWV').AsString:=CMsr.DWV;
FieldByName('UWV').AsString:=CMsr.UWV;
UpdateRecord;
Refresh;
adoEumt[2].CommitTrans;
if TrV.Selected.Level=1 then
begin
nod:=TrV.Items.AddChild(TrV.Selected,'['+fieldbyname('MsrNo').AsString+']-'+fieldbyname('MsrName').AsString);
end else begin
nod:=TrV.Items.AddChild(TrV.Selected.Parent,'['+fieldbyname('MsrNo').AsString+']-'+fieldbyname('MsrName').AsString);
end;
nod.ImageIndex:=2;nod.SelectedIndex:=2;
Trv.Selected:=nod;
lab:=TLabel.Create(self);lab.Caption:=fieldbyname('MsrNo').AsString; lab.Tag:=TrV.Items.Count;
TrV.Selected.Data:=lab;trv.Refresh;
except
if DM.AQ4.State in [dsedit,dsinsert] then begin
Cancel;
adoEumt[2].RollbackTrans;
end;
end;
end;
end;
function TEumt_Frm.QMsrNo: integer;
var
ado_tmp:TADOQuery;
begin
ado_tmp:=TADOQuery.Create(self);
try
with ado_tmp do begin
Connection:=DM.AdoConn;
sql.Clear;
sql.Text:='Select MsrNo from T_checkpt order by MsrNo DESC';
Prepared:=True;
Open;
if Eof then
Result:=40001
else
Result:=fieldbyname('MsrNo').AsInteger+1;
Free;
end;
if Result<40001 then Result:=40001;
except
ado_tmp.Free;
Result:=1;
end;
end;
procedure TEumt_Frm.PopMsrNoPopup(Sender: TObject);
begin
case TrV.Selected.Level of
0:begin
N1.Visible:=False;
N2.Visible:=False;
N3.Visible:=True;
N4.Visible:=True;
N5.Visible:=False;
N6.Visible:=False;
N7.Visible:=False;
N8.Visible:=False;
N11.Visible:=False;
N9.Visible:=False;
N10.Visible:=False;
end;
1:begin
N1.Visible:=False;
N2.Visible:=False;
N3.Visible:=False;
N4.Visible:=False;
N5.Visible:=True;
N6.Visible:=True;
N7.Visible:=True;
N8.Visible:=True;
N11.Visible:=True;
N9.Visible:=False;
N10.Visible:=False;
end;
2:begin
N1.Visible:=True;
N2.Visible:=True;
N7.Visible:=False;
N8.Visible:=False;
N11.Visible:=False;
N3.Visible:=False;
N4.Visible:=False;
N5.Visible:=False;
N6.Visible:=False;
N9.Visible:=True;
N10.Visible:=True;
end;
end;
end;
procedure TEumt_Frm.TrVAddition(Sender: TObject; Node: TTreeNode);
begin
//caption:=node.Text;
{ if node=nil then exit;
case node.Level of
1:begin
// node.Expanded:=not node.Expanded;
end;
0:begin
if node.Parent=nil then exit;
if not node.HasChildren then exit;
node.Parent.Expanded:=not node.Parent.Expanded;
end;
2:begin
if node.Parent.Parent=nil then exit;
if not node.Parent.Parent.HasChildren then exit;
node.Parent.Parent.Expanded:=True;
end;
end; }
end;
procedure TEumt_Frm.N3Click(Sender: TObject);
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -