如题

解决方案 »

  1.   

    //得到本机的IP地址
    function TFormLogin.LocalIP : string;
    type
      TaPInAddr = array [0..10] of PInAddr;
      PaPInAddr = ^TaPInAddr;
    var
      phe : PHostEnt;
      pptr : PaPInAddr;
      Buffer : array [0..63] of char;
      I : Integer;
      GInitData : TWSADATA;
    begin
      WSAStartup($101, GInitData);
      Result :='';
      GetHostName(Buffer, SizeOf(Buffer));
      phe :=GetHostByName(buffer);
      if phe = nil then Exit;
      begin
        pptr := PaPInAddr(Phe^.h_addr_list);
      end;
      I := 0;
      while pptr^[I] <> nil do
      begin
        result:=StrPas(inet_ntoa(pptr^[I]^));
        Inc(I);
      end;
      WSACleanup;
    end;
      

  2.   

    远程访问数据库?
    SQL Server?
    还不一样,与本地的有什么区别?
    通过ADO进行连接
    有服务器IP
    用户
    密码
    不就行了
      

  3.   

    此函数可获取本机IP
    function GetLocalIP(var LocalIp: string): Boolean;
    var
        HostEnt: PHostEnt;
        Ip: string;
        addr: pchar;
        Buffer: array [0..63] of char;
        GInitData: TWSADATA;
    begin
      Result := False;
      try
        WSAStartup(2, GInitData);
        GetHostName(Buffer, SizeOf(Buffer));
        HostEnt := GetHostByName(buffer);
        if HostEnt = nil then Exit;
        addr := HostEnt^.h_addr_list^;
        ip := Format('%d.%d.%d.%d', [byte(addr [0]),
              byte (addr [1]), byte (addr [2]), byte (addr [3])]);
        LocalIp := Ip;
        Result := True;
      finally
        WSACleanup;
      end;
    end;
    用法:uses winsock;var
      strIP:string;
    begin
      if GetLocalIP(strIP) then
      Caption:=strip;
    end;