Zitat:
Code:
Memo1.Lines.Delete([color=#ff0000]d[/color]);
was ist bitte D?
Ganz wichtig:
BeginUpdate
Delphi-Quellcode:
Memo1.Lines.BeginUpdate;
try
for i := Memo1.Lines.Count - 1 downto 0 do
begin
Memo1.Lines[i] := Trim(Memo1.Lines[i]);
if Memo1.Lines[i] = '' then
Memo1.Lines.Delete(i);
end;
finally
Memo1.Lines.EndUpdate;
end;
oder
Delphi-Quellcode:
Memo1.Lines.BeginUpdate;
try
for i := Memo1.Lines.Count - 1 downto 0 do
begin
S := Trim(Memo1.Lines[i]);
if S = '' then Memo1.Lines.Delete(i)
else Memo1.Lines[i] := S;
end;
finally
Memo1.Lines.EndUpdate;
end;
mit der richtigen StringList sollte es aber am Schnellsten sein (innerhalb der TStrings-Ableger)
Delphi-Quellcode:
SL := TStringList.Create;
try
SL.LoadFromFile(OpenDialog1.Filename);
for i := SL.Count - 1 downto 0 do
begin
S := Trim(SL[i]);
if S <> '' then SL[i] := S else SL.Delete(i);
end;
SL.SaveToFile(OpenDialog1.Filename);
finally
SL.Free;
end;
mit StringReplace läßt sich nur ='' und .Delete halbwegs gut realisieren und mit'm Trim wird's schon schwerer/langsamer