[Delphi] Usuwanie pustych linii z memo.

0

Wbrew pozorom nie jest to takie proste, kiedy robie tak:

var
i,o : Integer;
begin
for i := 0 to Memo1.Lines.Count-1 do
begin
if memo1.lines[i] = '' then
memo1.lines.delete(i);

i mam pytanie dlaczego ta procedura nie dziala?

0
  i:=0;
  with Memo1 do while i<Lines.Count-1 do if Lines[i]='' then Lines.Delete(i) else Inc(i);
0

jeżeli pominąć to, że jest to niepełny zapis procedury, to wg mnie wszystko działa - zapewne coś nagmatwałeś w następnych liniach kodu

0

A najprościej w takich sytuacjach iść w drugą stronę od Count-1 downto 0.

0

a czy w ten sposób pozbędziesz się ostatniej pustej linii w memo?

0
MiM napisał(a)

a czy w ten sposób pozbędziesz się ostatniej pustej linii w memo?

Tak. Z użyciem pętli "for" oczywiście. Ostatnie sprawdzenie będzie dla zera i w razie potrzeby zostanie skasowane. Część "else" jest niepotrzebna. Pętla for x:=a to a do lub for x:=a downto a do wykonuje się jeden raz w Pascalu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1