[Delphi] Usuwanie pustych linii z memo.

[Delphi] Usuwanie pustych linii z memo.
Z2
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
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?

pelsta
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 819
0
Kopiuj
  i:=0;
  with Memo1 do while i<Lines.Count-1 do if Lines[i]='' then Lines.Delete(i) else Inc(i);
  • Rejestracja: dni
  • Ostatnio: dni
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

  • Rejestracja: dni
  • Ostatnio: dni
0

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

  • Rejestracja: dni
  • Ostatnio: dni
0

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

  • Rejestracja: dni
  • Ostatnio: dni
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.