急,用什么方法才能得到自己的计算机名,和ip地址,在线等待

解决方案 »

  1.   

    Delphi里面也可以用winsock的 不过麻烦一点
      

  2.   

    获得本机ip地址
    function TfrmBillWriteAncestor.LocalIP:string;//获得本机的ip地址
    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;
        pptr := PaPInAddr(Phe^.h_addr_list);
        I := 0;
        while pptr^[I] <> nil do BEGIN
          result:=StrPas(inet_ntoa(pptr^[I]^));
          Inc(I);
        END;
        WSACleanup;
    END;在interface
    uses 加入winsock单元
      

  3.   

    "delphi的窝"中有源代码下载
    http://www.1dyi.com/delphi/path/system.htm
      

  4.   

    获得本机的计算机名:
    var
       CNameBuffer : PChar;
      fl_loaded : Boolean;
      CLen : ^DWord;begin    GetMem(CNameBuffer,255);
        New(CLen);
        CLen^:= 255;    fl_loaded := GetComputerName(CNameBuffer,CLen^);    if fl_loaded then
          ComputerName := StrPas(CNameBuffer)
        else
          ComputerName := 'Unkown';    FreeMem(CNameBuffer,255);
        Dispose(CLen);end;