|
/**********************************************************************/
// SplitString
// 문자열을 자른다
/**********************************************************************/
String __fastcall SplitString(String stString, int itIndex)
{
int itCount;
for(itCount = 1; itCount < itIndex; itCount ++) {
if(stString.Pos(".") > 0)
stString = stString.SubString(stString.Pos(".") + 1, stString.Length());
}
if(stString.Pos(".") > 0)
stString = stString.SubString(1, stString.Pos(".") - 1);
return(stString);
}
이 함수를 추가하시고, SplitString(Edit1, 4) 이런식으로 보내면, 마지막 . 의 이후의 숫자만 나오는데, Edit2 도 마찬가지로 처리하신 후, 두 개의 범위를 구합니다.
예를들어, Edit1 = "61.32.217.31", Edit2 = "61.32.217.33" 이면,
SplitString(Edit1, 4) 는 31 이고, SplitString(Edit2, 4) 는 33 이 나옵니다.
For문을 이용해서 31 부터 33 까지 Ping을 차례대로 해주면 될 것 같습니다.
이게 원하시는 답변인지 잘 모르겠네요. 솔직히 아직까지도 이해가 잘 안된 상태라서요.. -_-a
고인 님이 쓰신 글 :
: 답변감사합니다...말이 좀 엇갈렸네요^^;제가 원하는것이
: 예로들면..
: 기존에 제가 만든형식은 Edit1 컴포넌트 하나에 "61.32.217.31" 이렇게 하나의 특정 IP주소만 입력받아 리스트뷰에 결과값을 뿌려주는데...
:
: 제가 원하는 새로운 스킬은...
: Edit1 컴포넌트에 61.32.217.31을 입력합니다..그리고.
: Edit2 컴포넌트에 61.32.217.33을 입력합니다..
: 그리고 나서 Ping버튼을 누르면..
: 리스트뷰 컴포넌트에 차례차례 결과값을 뿌려주는거죠...예로들면 TTL이나 Time이나 IP 주소 값을 해당 IP에 차례로 뿌려주는거죠...
: 그리고 INDY컴포넌트를 쓰지 않고 하는방법이 있을텐데..제가 그방법에대한 지식이 부족해서...
: 다시 도움 요청합니다...부디 좋은 답변 부탁드립니다..
: 그럼 즐프여^^;;
:
:
:
:
:
:
:
:
:
:
:
: 유영인.Chris 님이 쓰신 글 :
: : 정확히 어떤 부분에서 막히셨는지 잘 모르겠네요.
: :
: : 대략적인 사항을 말씀해 드리면...
: :
: : 1. Indy의 TIdIcmpClient 가 Ping 기능을 담당하는 컴포넌트로써, 이 컴포넌트를 설치하고 폼에 올려 놓습니다.
: :
: : 2. For문을 이용해서 아래와 같이 전체 주소에 해당하는 Ping을 뿌려 봅니다.
: : PING->Host = "000.000.000.000";
: : PING->ReceiveTimeout = 1000;
: : PING->Ping();
: :
: : 3. Ping의 응답이 온다면, OnReply 이벤트가 발생되는데 아래와 같이 스피드를 처리하시면 됩니다.
: :
: : void __fastcall TMain::PINGOnReply(TComponent *ASender, const TReplyStatus &AReplyStatus) {
: :
: : _mmUsing->Lines->Add(AReplyStatus.FromIpAddress);
: : _mmPing->Lines->Add(AReplyStatus.MsRoundTripTime);
: :
: : }
: :
: : PING을 한꺼번에 쭉 하신 다음에, OnReply 이벤트에서 주소를 받아서 적절히 분류하시면 될 것 같습니다.
: :
: :
: : 고인 님이 쓰신 글 :
: : : 기존의 제가 만든 Ping 프로그램은 특정 한가지의 IP나 도메인을 입력받아서 결과값을 리스트뷰에 뿌려주는 형식입니다.
: : :
: : : 근데 거기에서 IP만을 입력받아서..
: : : 형식이...EX)61.32.217.134 ~ 61.32.217.155
: : : 각각 에디트컴포넌트 에 넣어서 입력 받으면...
: : : 134 ~ 155까지 의 IP주소의 결과값을 다뿌려주는 걸 하고 싶은데요....
: : : 도저히 막혀서...ㅡㅡㅋ
: : : 이것좀 해결해주십시오...부탁드립니다!
: : : 그럼 즐프여~^^
: : :
|