如题,谢谢!

解决方案 »

  1.   

    直接用delphi怎样实现?
    如果用sql语句怎样实现呢?
      

  2.   

    procedure button1.click()
    begin
      shwomessage(GetComputerName);
    end;
      

  3.   

    uses {...,}Winsock;procedure ShowHostName;
    var
      wVersionRequested : WORD;
      wsaData : TWSAData;
      p : PHostEnt;
      s : array[0..128] of char;
      p2 : pchar;
    begin
    {启动 WinSock}
      wVersionRequested := MAKEWORD(1, 1);
      WSAStartup(wVersionRequested, wsaData);{计算机名}
      GetHostName(@s, 128);
      p := GetHostByName(@s);
      ShowMessage(Format('Computer name is ''%s''.', [p^.h_Name]));{IP地址}
      p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
      ShowMessage(Format('IP address is %s.',[p2]));WSACleanup;
    end;
      

  4.   

    uses  Winsock,{$R *.DFM}procedure TLogInFrm.GetHostInfo(var Name, Address: string);
    var
      WSAData: TWSAData;
      HostEnt: PHostEnt;
    begin
      { no error checking...}
      WSAStartup(2, WSAData);
      SetLength(Name, 255);
      Gethostname(PChar(Name), 255);
      SetLength(Name, StrLen(PChar(Name)));
      HostEnt := gethostbyname(PChar(Name));
      with HostEnt^  do
        Address := Format('%d.%d.%d.%d',[
          Byte(h_addr^[0]),
          Byte(h_addr^[1]),
          Byte(h_addr^[2]),
          Byte(h_addr^[3])]);
      WSACleanup;
    end;
      

  5.   

    晚了补充下:
    BOOL GetComputerName(    LPTSTR lpBuffer, // address of name buffer 
        LPDWORD nSize  // address of size of name buffer 
       );lpBuffer :
    Pointer to a buffer that receives a null-terminated string containing the computer name. The buffer size should be large enough to contain MAX_COMPUTERNAME_LENGTH + 1 characters
      

  6.   

    function TDataModule1.wf_getcomputerName(): string;
    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
        result := StrPas(CNameBuffer)
      else
        result := 'unkw';
      FreeMem(CNameBuffer, 255);
      Dispose(CLen);
      wf_getcomputerName := result;
    end;
      

  7.   

    var name:pchar;len:dword;
    begin
    len:=30;
    getmem(name,30);
    getcomputername(name,len);
    showmessage(name);
    end;
      

  8.   

    var name:pchar;len:dword;
    begin
    len:=30;
    getmem(name,30);
    getcomputername(name,len);
    showmessage(name);
    end;
      

  9.   

    GetComputerName
    或者
    procedure TFrmLogin.FormCreate(Sender: TObject);
    var
        Reg:TRegistry;
        HostName:array[1..32] of char;
        WSData:TWSAData;
    begin
       if EdtServer.text='' then             
      begin
        if WSAStartup(2,WSData)<>0 then
            application.MessageBox('无法初始化WINSOCK!','登录信息',Gstitle)
        else
        begin
            try
                if gethostname(@hostname[1],32)<>0 then
                    application.MessageBox('无法获取本机名!','登录信息',Gstitle)
                else
                    EdtServer.text:=hostName;
            except
                    application.MessageBox('无法获取本机名!','登录信息',Gstitle);
            end;
        end;
      end;end;
      

  10.   

    通过调用windows api函数getcomputername来获取本机名
    function TForm1.computername:string;
    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;procedure TForm1.Button3Click(Sender: TObject);
    begin
    showmessage('本机名为:'+computername);
    end;
      

  11.   

    有简单方法,如果是delphi7的话可以用控件TIdDayTime
    用LocalName属性就轻松得到了,试试吧别的有类似属性的控件都可以实现