📄 unperplan.pas
字号:
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 + -