try
   TCPClient:=TIdTCPClient.Create(nil);
   MemoMsg.Clear;
   DataForm.ADOConn.Execute('delete  from openport');   TCPClient.Host:='192.168.0.30';
   MemoMsg.Lines.Add('主机IP地址'+'192.168.0.30');
   for intp:=strtoint(SpinEditS.Text) to strtoint(SpinEditE.Text) do
   begin
      if TCPClient.Connected then
      TCPClient.Disconnect;      bport:=false;
      TCPClient.Port:=intp;
      MemoMsg.Lines.Add('      测试端口'+inttostr(intp));
      try
        TCPClient.Connect(10);
        FormMain.Refresh;
      except
        MemoMsg.Lines.Add('      端口'+'关闭');
        bport:=true;
      end;      if bport=false then
         begin
            MemoMsg.Lines.Add('      端口'+'打开');
            DataForm.ADOConn.Execute('insert into openport (ipadd,portno) values (''192.168.0.30'','''+inttostr(intp)+''')');
         end;      MemoMsg.Lines.Add('---------------------------------------');
   end; finally
   TCPClient.Free;
   DataForm.ADOQuery.SQL.Text:='select * from openport';
   DataForm.ADOQuery.Open;
 end;当192.168.0.30这太机器没有开的时候,结果和开的时候是一样的。真奇怪。也能够测试出来。