⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uneumt.pas

📁 设备巡检操作系统 本程序是专门为某电厂开发的设备巡检系统
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -