Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Удаление строк в memo


Автор: Rondo 7.7.2006, 22:55
Подскажите как в memo удалить каждую 3 строку. Тоесть из строк

0
1
2
3
4
.
.

должно получится

0
1

.

Автор: Alexeis 7.7.2006, 23:34
вот что у меня получилось
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i, c : integer;
begin
  c := memo1.Lines.Count mod 3;
  for i := ((memo1.Lines.Count - c - 1) div 3) downto 0
  do
    memo1.Lines.Delete(i * 3 + 2);
end;

  

Автор: Rondo 8.7.2006, 00:27
Работате, спасибо. Более замудренно сделано чем я думал  smile  

Автор: volvo877 8.7.2006, 01:14
Цитата(Rondo @  8.7.2006,  00:27 Найти цитируемый пост)
Более замудренно сделано чем я думал

Так более понятно?
Код
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  i := 3 * (memo2.Lines.Count div 3);
  while i > 2 do begin
    memo2.Lines.Delete(pred(i));
    dec(i, 3);
  end;
end;

 

Автор: SilentRoach 8.7.2006, 20:52
не, чуваки, это неправильно smile
надо смещение искать, с которого надо начинать удалять.
иначе вашим кодом 3 (третья сначала) строка не факт что будет удалена ;)  

Автор: volvo877 8.7.2006, 21:14
Цитата(SilentRoach @  8.7.2006,  20:52 Найти цитируемый пост)
это неправильно

Вообще-то правильность определяется НЕ голословными утверждениями, а элементарным тестированием процедуры. А ты ее соизволил запустить и проверить? Сотрясать воздух просто так не надо.

Если ты считаешь, что приведенный код работает неправильно - то будь добр привести пример данных, на которых, например, моя процедура отработает не так, как описано в задании (и, естественно, не забудь привесть СВОЙ вариант, который мы тоже потестируем...) 

Автор: Palladin 8.7.2006, 23:52
Согласен с Volvo, я когда спорю пример свой предлогаю, только за него минусы иногда ставят smile 
Volvo не нервничай не все такие умные как тыsmile

P.S.Volvo в своём репертуареsmile))))) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)