我使用TiniFile来读取inf文件.但在某些部分中,身份相同,TiniFile无法读取它. 例如 : 这个部分 : [AMD.Mfg]%AMD.DeviceDesc0% = AMDSMBus, PCI\VEN_1002DEV_4353%AMD.DeviceDesc0% = AMDSMBus, PCI\VEN_1002DEV_4363%AMD.De
例如 :
这个部分 :
[AMD.Mfg] %AMD.DeviceDesc0% = AMDSMBus, PCI\VEN_1002&DEV_4353 %AMD.DeviceDesc0% = AMDSMBus, PCI\VEN_1002&DEV_4363 %AMD.DeviceDesc0% = AMDSMBus, PCI\VEN_1002&DEV_4372 %AMD.DeviceDesc0% = AMDSMBus, PCI\VEN_1002&DEV_4385 %AMD.DeviceDesc0% = AMDSMBus, PCI\VEN_1022&DEV_780B
我的代码:
var inf : TiniFile; list : TStringList; begin //Create inf := TIniFile.Create(infPath); list := TStringList.Create; inf.ReadSectionValues('AMD.Mfg', list); Memo1.Lines.AddStrings(list2); end;
它显示这个:
%AMD.DeviceDesc0%=AMDSMBus, PCI\VEN_1002&DEV_4353 %AMD.DeviceDesc0%=AMDSMBus, PCI\VEN_1002&DEV_4353 %AMD.DeviceDesc0%=AMDSMBus, PCI\VEN_1002&DEV_4353 %AMD.DeviceDesc0%=AMDSMBus, PCI\VEN_1002&DEV_4353 %AMD.DeviceDesc0%=AMDSMBus, PCI\VEN_1002&DEV_4353
我猜相同的身份导致了这一点,所以我的问题是当身份相同时如何阅读它?
你对“读”的意思非常模糊.实际上你可以通过Delphi的任何手段阅读该文件.我个人用TStringList.LoadFromFile读它问题是你读完后会做什么……
您也可以尝试使用TMemIniFile进行操作.但我个人当然避免使用任何与INI相关的方法,因为这些文件与mbasic INI前提有很大的偏差,任何与INI相关的库都可能在任何升级时改变其实现,从而破坏了使用它的程序.