if WSAstartup(2,WSData)<>0 then
        begin
            ShowMessage('WS2_32.DLL初始化失败!');
            halt;
        end;
        try
            if GetHostName(@Buffer[1],32)<>0 then
            begin
                ShowMessage('没有得到主机名!');
                halt;
            end;
        except
            ShowMessage('没有成功返回主机名');
            halt;
        end;
        Host := GetHostByName(@Buffer[1]);
        if Host = nil then     //空指针型
             begin
                ShowMessage('IP地址为空');
                halt;
             end
        else
             begin
                Edit2.Text := Host.h_name;
                Edit3.Text := Chr(Host.h_addrtype+64);
                for i:=1 to 4 do
                    begin
                        Ip:=IntToStr(Ord(Host.h_addr^[i-1]));
                        ShowMessage('分段IP地址为:'+Ip);
                        if i<4 then
                           Ipstr := Ipstr + Ip + '.'
                        else
                           Edit1.Text:=Ipstr+Ip;
                        end;
                    end;
                WSACleanup;
             end;
end.Edit3.Text := Chr(Host.h_addrtype+64);为什么要加64?
 Ip:=IntToStr(Ord(Host.h_addr^[i-1]));什么意思