在Windows中利用.INI文件做程序有关数据的存储工作是很常见的,其中涉及了读和写.INI文件问题,下面就介绍几种不同的方法给大家参考:
从.INI文件中获取字符串
var strResult:pchar; begin GetPrivateProfileString( windows, // []中标题的名字 NullPort, // =号前的名字 NIL, // 如果没有找到字符串时,返回的默认值 strResult, //存放取得字符 100, //取得字符的允许最大长度 c:\forwin95\win.ini // 调用的文件名 ); edit1.text:=strResult; //显示取得字符串
从.INI文件中获取整数
edit1.text:=inttostr(GetPrivateProfileInt( intl, // []中标题的名字 iCountry, // =号前的名字 0,// 如果没有找到整数时,返回的默认值 c:\forwin95\win.ini // 调用的文件名 ));
向.INI文件写入字符串
WritePrivateProfileString( windows, // []中标题的名字 load, // 要写入“=”号前的字符串 accca, //要写入的数据 c:\forwin95\win.ini // 调用的文件名 );
向.INI文件写入整数
WritePrivateProfileSection( windows, // []中标题的名字 read=100, // 要写入的数据 c:\forwin95\win.ini // 调用的文件名 );
上面的方法是调用API函数,下面介绍另一种不用API,而是使用TIniFile从.INI文件中获取字符的方法
从.INI文件中读字符
var MyIni: TIniFile; begin MyIni := TIniFile.Create(WIN.INI);//调用的文件名 edit1.text:=MyIni.ReadString(Desktop, Wallpaper, );//取得字符 end;
向.INI文件中写入字符
var MyIni: TIniFile; begin MyIni := TIniFile.Create(WIN.INI);//调用的文件名 DelphiIni.WriteString(Desktop, Wallpaper, c:\a.jpg);//写入字符 end; INI文件函数,也提供给大家参考: function GetINIfile(lpAppNameL,lpKeyName,lpDefault:string; lpsize:integer;lpFileName:string):string; {读取ini文件函数} var f:textfile; sn:string; begin assignfile(f,lpFileName); reset(f); repeat readln(f,sn); if sn=[+lpAppNameL+] then begin readln(f,sn); while(copy(sn,1,1)<>[)or(not(eof(f)))do begin if copy(sn,1,pos(=,sn)-1)=lpKeyName then begin GetINIfile:=copy(sn,pos(=,sn)+1,lpsize); exit; end; readln(f,sn); end; end else GetINIfile:=lpDefault; until eof(f); closefile(f); end; {------------}
调用方法是:
var Timeout:String; begin Timeout:=GetINIfile(MailSetup,Timeout,0,5,prgpath+\CNMSet.ini); end;
|