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
[41034] Re:Re:자기 랜카드의 ip주소를 출력하는법좀
빌더여행 [davidryu] 2491 읽음    2005-07-14 02:15
혹시 도움이 될까 해서, 초보지만 첨으로 몇자 적어 봅니다.
빌더 6.0 깔면 자동으로 깔리는 컴포넌트 중에서 Indy Misc 라는 게 있는 데, 거기서 IP라고 써 있는 IdIPWatch 라는 게 있습니다.  그걸 폼위에 끌어다 놓고, 컴포넌트 중 에디터 하나 가져다 놓고, 버튼 하나 가져다 놓은 후에
버튼을 누르면 다음 문장이 실행되게 하면 되더군요.

Edit1->Text =  IdIPWatch1->LocalIP();

수고하세요. ^---^

황경록 님이 쓰신 글 :
: ^^...
:
: 즐빌하세요 !
:
: AnsiString getLocalIP(int iSeq=0)
: {
:     char cszHostName[MAX_PATH];
:     PHOSTENT lpHostent = NULL;
:     struct sockaddr_in addr;
:     AnsiString szLocalIP = "0.0.0.0";
:     TStringList* pIPList = new TStringList();
:     DWORD dwRet = 0;
:     WORD wVersionRequested = MAKEWORD( 2, 0 );
:     WSADATA wsaData;
:
:     dwRet = WSAStartup( wVersionRequested, &wsaData );
:
:     if( dwRet != 0 )
:     {
:         dwRet = WSAGetLastError();
:
:         return szLocalIP;
:     }
:
:     try
:     {
:         dwRet = gethostname( cszHostName, sizeof(cszHostName) );
:
:         if( dwRet != 0 )
:         {
:             dwRet = WSAGetLastError();
:
:             return szLocalIP;
:         }
:
:         if( dwRet == 0  )
:         {
:             lpHostent = gethostbyname(cszHostName);
:
:             if( lpHostent != NULL )
:             {
:                 for( int i = 0; (lpHostent->h_addr_list[i] != NULL); i++ )
:                 {
:                     memcpy( &(addr.sin_addr), lpHostent->h_addr_list[i], lpHostent->h_length );
:
:                     pIPList->Add( inet_ntoa(addr.sin_addr) );
:                 }
:
:                 if( pIPList->Count == 0 )
:                 {
:                     return szLocalIP;
:                 }
:
:                 if( (pIPList->Count <= iSeq) || (0 == iSeq) )
:                 {
:                     szLocalIP = pIPList->Strings[0];
:
:                     return szLocalIP;
:                 }
:
:                 szLocalIP = pIPList->Strings[iSeq];
:
:                 return szLocalIP;
:             }
:         }
:     }
:     __finally
:     {
:         delete pIPList;
:
:         dwRet = WSACleanup();
:
:         if( dwRet != 0 )
:         {
:        
:         }
:     }
:
:     return szLocalIP;
: }
:
: 초보자 님이 쓰신 글 :
: : 만약 자기 컴퓨터와 인터넷모뎀이 다이렉트로 연결되어 있는 상태라면
: :
: : 인터넷모뎀으로부터 아이피주소를 받기에
: :
: : 랜카드 아이피 주소가
: :
: : 220.71.2.3으로 되어 있다고 하면요.
: :
: : 그 주소를 출력하는 법좀 알려주시면 감사하겠습니다.
: :
: : 만약 사설아이피로 공유기에 연결 되어 있다면
: :
: : 192.168.0.1 이런식으로 정해져 있다면
: :
: : 192.168.0.1이 출력 되어야 하겠죠.
: :
: : 혹시 아시는분 있으시면 답변해주시면 감사하겠습니다.

+ -

관련 글 리스트
41022 자기 랜카드의 ip주소를 출력하는법좀 초보자 1138 2005/07/13
41028     Re:자기 랜카드의 ip주소를 출력하는법좀 황경록 2056 2005/07/13
41034         Re:Re:자기 랜카드의 ip주소를 출력하는법좀 빌더여행 2491 2005/07/14
41029         헤더는 다음과 같이... 황경록 1642 2005/07/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.