怪问题!
     uses
  WinSock;
procedure TForm2.Button1Click(Sender: TObject);
type
  PaPInAddr = ^TaPInAddr;
  TaPInAddr = array [0..10] of PInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: array [0..63] of char;//注意!!!!!!!!!!!
  I: Integer;
  GInitData: TWSADATA;
begin
  WSAStartup($101, GInitData);
  GetHostName(Buffer, SizeOf(Buffer));
  ShowMessage(Buffer);
  phe :=GetHostByName(buffer);
  if phe = nil then Exit;
  pptr := PaPInAddr(Phe^.h_addr_list);
  I := 0;
  while pptr^[I] <> nil do
  begin
    ShowMessage(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanup;
end;
end.
以上这段代码可以取得本机IP地址,
但把Buffer定义成PChar取出却是乱码,为何?
----Borland手册上说基于零的字符数组(array[0..x] of char)用来储存null结尾字符串而且与PChar值兼容。
另外,如何取得网络中他机IP地址?