TXT 檔的操作 (如何刪除一行) |
答題得分者是:Justmade
|
Nelson Lo
一般會員 發表:35 回覆:87 積分:24 註冊:2003-04-04 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
Nelson Lo您好:
可以參考下面連結
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29400 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~>
|
Nelson Lo
一般會員 發表:35 回覆:87 積分:24 註冊:2003-04-04 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
var i: integer; sl: TStringList; begin sl := TStringList.Create; try sl.LoadFromFile('C:\xxx.ini'); for i := sl.Count-1 downto 0 do if Trim(sl.Strings[i]) = '' then sl.Delete(i); sl.SaveToFile('C:\xxx.ini'); finally sl.Free; end; end;--- 每個人都是一本書 |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject);
var
SL : TStrings;
i : integer;
LastLineEmpty : Boolean;
begin
LastLineEmpty := false;
SL := TStringList.Create;
SL.LoadFromFile('myini.ini');
for i := SL.Count - 1 downto 0 do // 這樣 delete 後才不會影響之後要處理的行號
begin
if SL[i] = '' then
if LastLineEmpty then
SL.Delete(i)
else
LastLineEmpty := true
else
LastLineEmpty := false;
end;
SL.SaveToFile('myini.ini');
end;
|
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
試試看
你可以先利用以上的方式把 txt 的內容讀入至 TStringList
然後利用 StringList1.Count 取得讀入的總行數
然後在一個 for 迴圈中判斷 StringList1.String[i] 是不是空白
如果是空白的話,就利用 StringList1.Delete(i) 把該行刪除
最後再把資料回存檔案 利用 Stringlist1.count 知道共有幾行
利用 迴圈從第一行跑到最後一行
利用 StringList1.Strings[0] 來取得第n行的資料
利用 trim() 來將那一行的空白清空判斷是否為空白
ex:
if trim(StringList1.Strings[0]) = '' then
StringList1.delete[0] Then :
var
i : integer;
Text1 : TStringlist;
begin
Text1 := TStringlist.create(); //動態產生TStringlist型態
Text1.Loadfromfile('檔名'); //讀取文字檔
for i:=0 to text1.count - 1 do //從文字檔第一行跑到最後一行
if trim(Text1.Strings[i]) = '' then
text1.delete[i] //刪除空白那一列
Text1.SaveTofile('檔名'); //回存到原本那個檔
end;
|
Nelson Lo
一般會員 發表:35 回覆:87 積分:24 註冊:2003-04-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |