在盒子上下载了一个读取CPU ID的代码,但是使用D7编译时出错,请教此代码type这里要怎么修改? 显示[Error] HardwareInfo.pas(16): 'END' expected but 'TYPE' found type THardwareInfo = class 此处错误 ========== unit HardwareInfo;
interface uses Windows,SysUtils,Dialogs,Nb30;
type THardwareInfo = class type TNBLanaResources = (lrAlloc, lrFree);
type PMACAddress = ^TMACAddress; TMACAddress = array[0..5] of Byte;
TIDERegs = packed record bFeaturesReg : Byte; // Used for specifying SMART "commands". bSectorCountReg : Byte; // IDE sector count register bSectorNumberReg : Byte; // IDE sector number register bCylLowReg : Byte; // IDE low order cylinder value bCylHighReg : Byte; // IDE high order cylinder value bDriveHeadReg : Byte; // IDE drive/head register bCommandReg : Byte; // Actual IDE command. bReserved : Byte; // reserved. Must be zero. end; IDEREGS = TIDERegs; PIDERegs = ^TIDERegs;
TSendCmdInParams = packed record cBufferSize : DWORD; irDriveRegs : TIDERegs; bDriveNumber : Byte; bReserved : Array[0..2] of Byte; dwReserved : Array[0..3] of DWORD; bBuffer : Array[0..0] of Byte; end; SENDCMDINPARAMS = TSendCmdInParams; PSendCmdInParams = ^TSendCmdInParams;
public function GetMACAddress(Num: Byte=0): String;overload; function GetIDEDiskSerialNumber : String; function GetIDEDiskDriveInfo(Drive:Char;InfoID:Byte=1) : String; function GetCPUInfo(InfoID:Byte=1) : String;
private function GetMACAddress(LanaNum: Byte; MACAddress: PMACAddress): Byte;overload; //LanaNum 网卡标识 procedure ChangeByteOrder(var Data; Size: Integer); function GetLanaEnum(LanaEnum: PLanaEnum): Byte; function ResetLana(LanaNum, ReqSessions, ReqNames: Byte; LanaRes: TNBLanaResources): Byte; end;