INI檔刪除問題 |
尚未結案
|
rsiilul
一般會員 發表:1 回覆:1 積分:0 註冊:2005-09-06 發送簡訊給我 |
這是INI的內容
[sample]
1=2
asd=qwerq
excuse me I am so sorry
[excuse]
[ok] --------------------------
procedure TForm1.Button1Click(Sender: TObject);
Var
T:Tinifile;
S:String;
begin
S:='sample';
try
T:=Tinifile.create('c:\a.ini');
T.DeleteKey(S,'1'); finally
end;
end;
------------------
用上面的程式碼可以將1=2這行刪除
但是卻沒辦法刪除excuse me I am so sorry
因該是deletekey只能刪除有=的行列
但我想作的是清空[sample]裡面所有的文字
不曉得有沒有其他的方法..新手問題 不恥下問..Q.Q
|
Vicen
高階會員 發表:13 回覆:145 積分:151 註冊:2005-03-14 發送簡訊給我 |
换个角度看问题,INI不一定要用Tinifile来处理,简单一点,用TSTRINGLIST来搞定吧~ 使用方法:
PrcINI(文件路径)
function PrcINI(sINIPath :String):Boolean; Var slIniFile :TStringList; iLine : Integer; begin Result := False; if Not FileExists(sINIPath) then Exit; slIniFile := TStringList.Create; try slIniFile.LoadFromFile(sINIPath); for iLine := slIniFile.Count-1 downto 0 do begin Application.ProcessMessages; //判断到一对[]就跳过 if (Pos('[', slIniFile.Strings[iLine])>0) And (Pos(']', slIniFile.Strings[iLine])>0) then Continue; //判断到=号就跳过 if Pos('=', slIniFile.Strings[iLine])>0 then Continue; //不符合要求的段就DELETE slIniFile.Delete(iLine); end; slIniFile.SaveToFile(sINIPath); Result := True; finally slIniFile.Free; end; end;祝你好运~ 發表人 - |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |