Function GetHDSerialNumber(Drv : String): String;//得到硬盘的序列号
var
  VolumeSerialNumber : DWORD;
  MaximumComponentLength : DWORD;
  FileSystemFlags : DWORD;
begin  if Drv[Length(Drv)] =':' then Drv := Drv + '\';  GetVolumeInformation(pChar(Drv),
                       nil,
                       0,
                       @VolumeSerialNumber,
                       MaximumComponentLength,
                       FileSystemFlags,
                       nil,
                       0);  Result := IntToStr(VolumeSerialNumber); ///?????????
end;
我想在Edit7.Text:=IntToStr(GetHDSerialNumber); 
中调用显示在窗口上,但总是报错:
[Pascal Error] GetInfoMAIN.pas(211): E2035 Not enough actual parameters
[Pascal Fatal Error] GetSystemInfo.dpr(6): F2063 Could not compile used unit 'GetInfoMAIN.pas'为什么啊?、??高手指教一下,谢谢

解决方案 »

  1.   

    Function GetHDSerialNumber(Drv : String): String;//得到硬盘的序列号
    Edit7.Text:=IntToStr(GetHDSerialNumber); //你不觉得缺点什么吗?
    Edit7.Text:=IntToStr(GetHDSerialNumber('这里要填参数')); ==================================
    以下内容纯属广告,不可能雷同
    e族百变桌面--特效更换桌面壁纸,丰富的网上资源支持,
    Flash桌面,视频桌面……让您的桌面动起来!
    http://www.popolong.com
    ==================================
      

  2.   

    简单地说,应该是这样
    Edit7.Text:=IntToStr(GetHDSerialNumber('C:\')); ==================================
    以下内容纯属广告,不可能雷同
    e族百变桌面--特效更换桌面壁纸,丰富的网上资源支持,
    Flash桌面,视频桌面……让您的桌面动起来!
    http://www.popolong.com
    ==================================
      

  3.   

    仍然报错。。
    [Pascal Error] GetInfoMAIN.pas(211): E2250 There is no overloaded version of 'IntToStr' that can be called with these arguments
    [Pascal Fatal Error] GetSystemInfo.dpr(6): F2063 Could not compile used unit 'GetInfoMAIN.pas'
      

  4.   

    当然报错了
    也怪我没看清楚
    GetHDSerialNumber('C:\')返回的就是串型,当然不用转换了
    Edit7.Text:=GetHDSerialNumber('C:\');==================================
    以下内容纯属广告,不可能雷同
    e族百变桌面--特效更换桌面壁纸,丰富的网上资源支持,
    Flash桌面,视频桌面……让您的桌面动起来!
    http://www.popolong.com
    ==================================