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

📄 unperplan.pas

📁 设备巡检操作系统 本程序是专门为某电厂开发的设备巡检系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
begin
  if (Cbx_Specialty.Text='') or (Cbx_Plan.Text='') then
  exit else begin
  str1:=copy(Cbx_Specialty.Text,1,pos('-',Cbx_Specialty.Text)-1);  //专业
  str2:=copy(Cbx_Plan.Text,3,length(Cbx_Plan.Text));
  end;
  with AdoQPlan do begin
    try
      sql.Text:='select *  from T_perplan,view_sbdj where T_perplan.specialty='+quotedstr(str1)+' and T_perplan.PlanNo='+quotedstr(str2)
      +' and T_perplan.Msrno=view_sbdj.Msrno order by T_perplan.plansortid,view_sbdj.ib';  // ,view_sbdj.msrno
     // edit1.Text:=sql.Text;
      Prepared:=True;
      Open;
      listview1.Items.Clear;
      while not Eof do
      begin
        lv:=ListView1.Items.Add;
        lv.Caption:=fieldbyname('eupetno').AsString;
        lv.SubItems.Add(fieldbyname('eupetname').AsString) ;
        lv.SubItems.Add(fieldbyname('partno').AsString);
        lv.SubItems.Add(fieldbyname('partname').AsString) ;
        lv.SubItems.Add(fieldbyname('Msrno').AsString) ;
        lv.SubItems.Add(fieldbyname('Msrname').AsString) ;
        lv.SubItems.Add(fieldbyname('Msritem').AsString) ;
        lv.SubItems.Add(fieldbyname('dwv').AsString) ;
        lv.SubItems.Add(fieldbyname('uwv').AsString) ;
        lv.SubItems.Add(fieldbyname('ib').AsString) ;
        lv.SubItems.Add(datetostr(date)) ; // end;
        if listview1.Items.Count<=1 then
          lv.SubItems.Add('No.1')
        else
          lv.SubItems.Add('No.'+inttostr(Listview1.Items.count));

        Next;
      end;
      Label6.Caption:='测点总数:'+IntToStr(ListView1.Items.Count);
    except
      Label6.Visible:=False;
      Application.MessageBox('对不起,数据发生错误,请与管理员联系!','',MB_OK+MB_ICONERROR);
    end;
  end;

end;

procedure TPerPlan_frm.AddPerPlan(sMsrno:string);
var
  Lv:TListItem;
  ado_tmp:TADOQuery;
begin
  ado_tmp:=TADOQuery.Create(self);
  with ado_tmp do
  begin                                                      
    Connection:=DM.AdoConn;
    SQL.Text:='select * from view_sbdj where msrno='+quotedstr(sMsrno);
    Open;
    while not eof do
    begin
      lv:=listview1.Items.Add;
      lv.Caption:=fieldbyname('eupetno').AsString;
      lv.SubItems.Add(fieldbyname('eupetname').AsString) ;
      lv.SubItems.Add(fieldbyname('partno').AsString);
      lv.SubItems.Add(fieldbyname('partname').AsString) ;
      lv.SubItems.Add(fieldbyname('Msrno').AsString) ;
      lv.SubItems.Add(fieldbyname('Msrname').AsString) ;
      lv.SubItems.Add(fieldbyname('Msritem').AsString) ;
      lv.SubItems.Add(fieldbyname('dwv').AsString) ;
      lv.SubItems.Add(fieldbyname('uwv').AsString) ;
      lv.SubItems.Add(fieldbyname('ib').AsString) ;
      lv.SubItems.Add(datetostr(date)) ;
      if listview1.Items.Count<=1 then
        lv.SubItems.Add('No.1')
      else
        lv.SubItems.Add('No.'+inttostr(Listview1.Items.count));
      Next;
    end;
    Free;
  end;

end;

procedure TPerPlan_frm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=cafree; PerPlan_frm:=nil;
end;

procedure TPerPlan_frm.Button4Click(Sender: TObject);
var
  strdate:String;
  ls:TListItem;
  i:integer;
begin
  strdate:=InputBox('输入','请输入点检日期',datetostr(date));
  try
     strdate:=datetostr(strtodate(strdate));
     //showmessage(strdate);
     for i:=0 to listview1.Items.Count-1 do
     begin
      ls:=ListView1.Items[i];
      ls.SubItems[9]:=strdate;
     end;
  except  showmessage('请输入正确的日期!');
    Button4Click(nil);
  end;
end;

procedure TPerPlan_frm.N6Click(Sender: TObject);
begin
  if ListView1.Items.Count<=0 then exit;
  CopyListviewToExcel([listview1]);
end;

procedure TPerPlan_frm.N7Click(Sender: TObject);
var
  lv:TListItem;
  i,J,k,SelK:integer;
  tmpB:Boolean;
begin
 if Cbx_Specialty.ItemIndex=-1 then
 begin
  Application.MessageBox('请选择专业!','提示',MB_OK+MB_ICONINFORMATION);
  exit;
 end;

 if Cbx_Plan.ItemIndex=-1 then
 begin
  Application.MessageBox('请选择计划!','提示',MB_OK+MB_ICONINFORMATION);
  exit;
 end;
  selk:=ListView2.SelCount;k:=0;
 for J:=0 to ListView2.Items.Count-1 do
 begin
  if not listview2.Items[j].Selected then Continue;
  tmpB:=True;     //可以增加
  for i:=0 to Listview1.Items.Count-1 do
  begin
    lv:=ListView1.Items[i];
    if lv.SubItems[3]=listview2.Items[J].subitems[3] then
    begin
      //Application.MessageBox('对不起,此测点已经存在!','提示',MB_OK+MB_ICONWARNING);
      //Exit;
      Application.ProcessMessages;
      tmpB:=False;
      Break;
    end;
  end;
  if tmpB then begin
  AddPerPlan(ListView2.Items[j].SubItems[3]);
  inc(k) ;
  if k>=selk then Break;
  end;

 end;
 Label6.Caption:='测点总数:'+IntToStr(ListView1.Items.Count);
end;

procedure TPerPlan_frm.Button7Click(Sender: TObject);
begin
  Close;
end;

procedure TPerPlan_frm.FillMsr(sSql:String);
var
  Lv:TListItem;
begin
  if dm.AQ5.SQL.Text=sSql then exit;                  
  with dm.AQ5 do
  begin
    SQL.Text:=sSql;//'select * from T_checkpt order by Msrno';
    Prepared:=True;
    Open; ListView2.Clear;
    listview2.Items.BeginUpdate;
    while not eof do
    begin
      Screen.Cursor:=crHourGlass;
      lv:=listview2.Items.Add;
      lv.Caption:=fieldbyname('eupetno').AsString;
      lv.SubItems.Add(fieldbyname('eupetName').AsString);
      lv.SubItems.Add(fieldbyname('partno').AsString);
      lv.SubItems.Add(fieldbyname('partname').AsString);
      lv.SubItems.Add(fieldbyname('msrno').AsString);
      lv.SubItems.Add(fieldbyname('msrname').AsString);
      lv.SubItems.Add(fieldbyname('msritem').AsString);
      lv.SubItems.Add(fieldbyname('dwv').AsString) ;
      lv.SubItems.Add(fieldbyname('uwv').AsString) ;
      lv.SubItems.Add(fieldbyname('ib').AsString) ;
      Next;
    end ;
    listview2.Items.EndUpdate;
    Screen.Cursor:=crDefault;
  end;

end;
procedure TPerPlan_frm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Shift=[ssctrl] then
  begin
    if Key=38 then
     N11Click(nil);
    if key=40 then
     N12Click(nil);
  end;
end;
procedure TPerPlan_frm.FormShow(Sender: TObject);
begin
  FillMsr('select * from view_sbdj order by ib,Msrno');
end;

procedure TPerPlan_frm.N9Click(Sender: TObject);
begin
  if Frm_SelMsr<>nil then exit;
 Frm_SelMsr:=TFrm_SelMsr.Create(nil);
 Frm_SelMsr.Show;
end;

procedure TPerPlan_frm.N11Click(Sender: TObject);
var
  i:integer;
  curi:integer;

begin
//上移
  if listview1.Selected.Index<=0 then exit;
  curi:=ListView1.Selected.Index;
 // ListView1.Items.BeginUpdate;
  item_data.a[0]:=ListView1.Items[curi-1].Caption;
  item_data.a[1]:=ListView1.Items[curi-1].SubItems[0];
  item_data.a[2]:=ListView1.Items[curi-1].SubItems[1];
  item_data.a[3]:=ListView1.Items[curi-1].SubItems[2];
  item_data.a[4]:=ListView1.Items[curi-1].SubItems[3];
  item_data.a[5]:=ListView1.Items[curi-1].SubItems[4];
  item_data.a[6]:=ListView1.Items[curi-1].SubItems[5];
  item_data.a[7]:=ListView1.Items[curi-1].SubItems[6];
  item_data.a[8]:=ListView1.Items[curi-1].SubItems[7];
  item_data.a[9]:=ListView1.Items[curi-1].SubItems[8];
  item_data.a[10]:=ListView1.Items[curi-1].SubItems[9];

  ListView1.Items[curi-1].Caption:=ListView1.Items[curi].Caption;
  ListView1.Items[curi-1].SubItems[0]:=ListView1.Items[curi].SubItems[0];
  ListView1.Items[curi-1].SubItems[1]:=ListView1.Items[curi].SubItems[1];
  ListView1.Items[curi-1].SubItems[2]:=ListView1.Items[curi].SubItems[2];
  ListView1.Items[curi-1].SubItems[3]:=ListView1.Items[curi].SubItems[3];
  ListView1.Items[curi-1].SubItems[4]:=ListView1.Items[curi].SubItems[4];
  ListView1.Items[curi-1].SubItems[5]:=ListView1.Items[curi].SubItems[5];
  ListView1.Items[curi-1].SubItems[6]:=ListView1.Items[curi].SubItems[6];
  ListView1.Items[curi-1].SubItems[7]:=ListView1.Items[curi].SubItems[7];
  ListView1.Items[curi-1].SubItems[8]:=ListView1.Items[curi].SubItems[8];
  ListView1.Items[curi-1].SubItems[9]:=ListView1.Items[curi].SubItems[9];

  ListView1.Items[curi].Caption:=item_data.a[0];
  ListView1.Items[curi].SubItems[0]:=item_data.a[1];
  ListView1.Items[curi].SubItems[1]:=item_data.a[2];
  ListView1.Items[curi].SubItems[2]:=item_data.a[3];
  ListView1.Items[curi].SubItems[3]:=item_data.a[4];
  ListView1.Items[curi].SubItems[4]:=item_data.a[5];
  ListView1.Items[curi].SubItems[5]:=item_data.a[6];
  ListView1.Items[curi].SubItems[6]:=item_data.a[7];
  ListView1.Items[curi].SubItems[7]:=item_data.a[8];
  ListView1.Items[curi].SubItems[8]:=item_data.a[9];
  ListView1.Items[curi].SubItems[9]:=item_data.a[10];
  ListView1.ItemIndex:=-1;
  ListView1.ItemIndex:=curi-1;

end;

procedure TPerPlan_frm.N12Click(Sender: TObject);
var
  i:integer;
  curi:integer;

begin
//下移
  if listview1.Selected.Index=-1 then exit;
  if ListView1.Selected.Index=ListView1.Items.Count-1 then exit;
  curi:=ListView1.Selected.Index;
  item_data.a[0]:=ListView1.Items[curi].Caption;
  item_data.a[1]:=ListView1.Items[curi].SubItems[0];
  item_data.a[2]:=ListView1.Items[curi].SubItems[1];
  item_data.a[3]:=ListView1.Items[curi].SubItems[2];
  item_data.a[4]:=ListView1.Items[curi].SubItems[3];
  item_data.a[5]:=ListView1.Items[curi].SubItems[4];
  item_data.a[6]:=ListView1.Items[curi].SubItems[5];
  item_data.a[7]:=ListView1.Items[curi].SubItems[6];
  item_data.a[8]:=ListView1.Items[curi].SubItems[7];
  item_data.a[9]:=ListView1.Items[curi].SubItems[8];
  item_data.a[10]:=ListView1.Items[curi].SubItems[9];

  ListView1.Items[curi].Caption:=ListView1.Items[curi+1].Caption;
  ListView1.Items[curi].SubItems[0]:=ListView1.Items[curi+1].SubItems[0];
  ListView1.Items[curi].SubItems[1]:=ListView1.Items[curi+1].SubItems[1];
  ListView1.Items[curi].SubItems[2]:=ListView1.Items[curi+1].SubItems[2];
  ListView1.Items[curi].SubItems[3]:=ListView1.Items[curi+1].SubItems[3];
  ListView1.Items[curi].SubItems[4]:=ListView1.Items[curi+1].SubItems[4];
  ListView1.Items[curi].SubItems[5]:=ListView1.Items[curi+1].SubItems[5];
  ListView1.Items[curi].SubItems[6]:=ListView1.Items[curi+1].SubItems[6];
  ListView1.Items[curi].SubItems[7]:=ListView1.Items[curi+1].SubItems[7];
  ListView1.Items[curi].SubItems[8]:=ListView1.Items[curi+1].SubItems[8];
  ListView1.Items[curi].SubItems[9]:=ListView1.Items[curi+1].SubItems[9];

  ListView1.Items[curi+1].Caption:=item_data.a[0];
  ListView1.Items[curi+1].SubItems[0]:=item_data.a[1];
  ListView1.Items[curi+1].SubItems[1]:=item_data.a[2];
  ListView1.Items[curi+1].SubItems[2]:=item_data.a[3];
  ListView1.Items[curi+1].SubItems[3]:=item_data.a[4];
  ListView1.Items[curi+1].SubItems[4]:=item_data.a[5];
  ListView1.Items[curi+1].SubItems[5]:=item_data.a[6];
  ListView1.Items[curi+1].SubItems[6]:=item_data.a[7];
  ListView1.Items[curi+1].SubItems[7]:=item_data.a[8];
  ListView1.Items[curi+1].SubItems[8]:=item_data.a[9];
  ListView1.Items[curi+1].SubItems[9]:=item_data.a[10];
  ListView1.ItemIndex:=-1;
  ListView1.ItemIndex:=curi+1;

end;

procedure TPerPlan_frm.N13Click(Sender: TObject);
var
  i:integer;
  lv:TListItem;
begin
//F5
  ListView1.Items.BeginUpdate;
  for i:=0 to ListView1.Items.Count-1 do
  begin
    ListView1.Items[I].SubItems[10]:='No.'+IntToStr(i+1);
    Application.ProcessMessages;
  end;
  ListView1.Items.EndUpdate;
end;

procedure TPerPlan_frm.N14Click(Sender: TObject);
begin
  ListView1.SelectAll;
end;

procedure TPerPlan_frm.N10Click(Sender: TObject);
begin
  if ListView2.Items.Count<=0 then exit;
  CopyListviewToExcel([ListView2]);
end;

procedure TPerPlan_frm.N15Click(Sender: TObject);
begin
  ListView2.SelectAll;
end;



end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -