안녕하세요..!! 델초보입니다...!!
다름이 아니오고..IP를 등록할때..어디서 부터 어디까지 지정해주고
예) 10.9.8.1 ~ 10.9.8.20
위와 같다고 할때...!! 살아있는 IP만 리스트 뷰에 뿌려 줄려고 합니다.
Ping이 나가는 IP만...
어떤식으로 조건을 주어야 할까요..!!
아래는 Ping 만 나가는 소스인데..여기서 살아있는 IP만 리스트 뷰에 뿌려
줄려고 하거든요..
고수님의 가르침 부탁드리겠습니다..!!
var
i, j : integer;
StartIP, LastIP: Integer;
TotalIP, FoundIP: Integer;
IP : string;
Item: TListItem;
begin
ICMP.OnReply := ICMPReply;
ICMP.ReceiveTimeout := 1000;
btnPing.Enabled := False;
StartIP:= StrToInt(Edit4.Text);
LastIP:= StrToInt(Edit8.Text);
TotalIP:= LastIP - StartIP + 1;
FoundIP:= 0;
try
for I:= StartIP to LastIP do
begin
IP:= edit1.Text + '.' + edit2.Text + '.' + edit3.Text + '.' + IntToStr(I);
ICMP.Host := IP;
for j := 1 to 4 do
begin
ICMP.Ping;
Application.ProcessMessages;
//Sleep(1000);
end;
end;
finally
btnPing.Enabled := True;
end;
end;
Function isPing(IpAddress:String):Boolean
begin
IpAddress 를 Ping 한후 결과를
Result := '결과' 를 넘겨줍니다.
end;
위와 같은 식으로 Function 을 이용해서
전체 ip리스트중 계속 위 함수에 대입시켜 보아서 결과(True,False)에
따라서 리스트 뷰에 나타내어 주면 됩니다.
참고로 해당 ms 까지 표현해준다면, 금상첨화 겠죠?