在硬碟中搜尋文字檔內文裡的 AAA 字串直接改為 BBB 字串 |
答題得分者是:00156
|
wenberg
一般會員 發表:6 回覆:15 積分:9 註冊:2002-12-26 發送簡訊給我 |
|
00156
高階會員 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
引言: 請問各位高手,如何在硬碟中搜尋文字檔內文裡的 AAA 字串直接改為 BBB 字串存檔,是否有範例可供參考,謝謝! 發表人 - WENBERG 於 2003/01/12 16:11:58試試下面的作法,能不能符合您的需要:
var sr:TSearchRec; f:integer; {...} f:=FindFirst('C:\*.TXT',faAnyFile,sr); while f=0 do begin {...讀入檔案、代換字串、寫回檔案...} f:=FindNext(sr); end; FindClose(sr); StringReplace(AString,'AAA','BBB',[rfReplaceAll]) |
wenberg
一般會員 發表:6 回覆:15 積分:9 註冊:2002-12-26 發送簡訊給我 |
試試下面的作法,能不能符合您的需要:
var sr:TSearchRec; f:integer; {...} f:=FindFirst('C:\*.TXT',faAnyFile,sr); while f=0 do begin {...讀入檔案、代換字串、寫回檔案...} f:=FindNext(sr); end; FindClose(sr); StringReplace(AString,'AAA','BBB',[rfReplaceAll]) |
00156
高階會員 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
procedure TextFilesReplace(BaseDir:TFileName; OldPattern, NewPattern:string); var sr:TSearchRec; find:integer; ss:TStrings; begin if BaseDir[Length(BaseDir)]<>'\' then BaseDir:=BaseDir '\'; ss:=TStringList.Create; try find:=FindFirst(BaseDir '*.txt',faAnyFile,sr); While find=0 do begin if UpperCase(ExtractFileExt(sr.Name))='.TXT' then begin ss.LoadFromFile(BaseDir sr.Name); ss.Text:=StringReplace(ss.Text,OldPattern,NewPattern,[rfReplaceAll]); ShowMessage(ss.Text); ss.SaveToFile(BaseDir sr.Name); end; find:=FindNext(sr); end; FindClose(sr); finally ss.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin TextFilesReplace('C:\','AAA','BBB'); end; |
wenberg
一般會員 發表:6 回覆:15 積分:9 註冊:2002-12-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |