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

델파이 팁&트릭
Delphi Programming Tip&Tricks
[235] 시스템의 모든 IP 주소 얻어오기
civilian [civilian] 7621 읽음    2008-03-31 20:42
PC의 모든 IP 주소를 얻어오는 함수입니다.

사용은

Memo1.Lines := LocalIPList;

이렇게 사용하면 됩니다.

function LocalIPList: TStrings;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: array[0..63] of Char;
  I: Integer;
  WSAData: TWSAData;
begin
  WSAStartup(MakeWord(2, 2), WSAData);
  Result := TStringList.Create;
  Result.Clear;
  GetHostName(Buffer, SizeOf(Buffer));
  phe := GetHostByName(buffer);
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  I := 0;
  while pPtr^[I] <> nil do
  begin
    Result.Add(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanUp;
end;
장성호 [nasilso]   2008-04-08 14:35 X
사용할때
Memo1.Lines := LocalIPList;

위와같이만 하면 create한 TStringList 우짜죠?

vcl의 Lines 프로퍼티..
procedure TCustomMemo.SetLines(Value: TStrings);
begin
  FLines.Assign(Value);
end;

...

+ -

관련 글 리스트
235 시스템의 모든 IP 주소 얻어오기 civilian 7621 2008/03/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.