C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[22910] Re:Re:Re:Ping관련된 질문입니다.
유영인.Chris [cuperido] 1007 읽음    2002-11-28 17:44
/**********************************************************************/
// 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주소의 결과값을 다뿌려주는 걸 하고 싶은데요....
: : : 도저히 막혀서...ㅡㅡㅋ
: : : 이것좀 해결해주십시오...부탁드립니다!
: : : 그럼 즐프여~^^
: : :

+ -

관련 글 리스트
22907 Ping관련된 질문입니다. 고인 767 2002/11/28
22908     Re:Ping관련된 질문입니다. 유영인.Chris 1120 2002/11/28
22909         Re:Re:Ping관련된 질문입니다. 고인 1018 2002/11/28
22910             Re:Re:Re:Ping관련된 질문입니다. 유영인.Chris 1007 2002/11/28
22911                 Re:Re:Re:Re:Ping관련된 질문입니다. 고인 1043 2002/11/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.