Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2009, 12:52   #1
Leksda
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 14
Вопрос Удаление строк из Memo

помогите плиз
есть поле memo, содержащее строки

1 фамилия
2 имя
3 отчество
4 строка4
5 строка
6 строка
7 строка
8 строка
9 строка
....

все строки кроме 4-ой могут повторяться, задача найти строку 4, и удалить строки выше неё на 1 строку и ниже неё на 3 строки

Код:
for i:= 0 to memo1.lines.count - 1 do 
 begin
    s:=memo1.Lines[i]; 
    if Pos('строка4', s)<>0 then
      begin
        t:= Memo1.Lines.IndexOf(s);
        for a := t-1 to t+3 do
           memo1.Lines.Delete(a);
       end;
 end;
где я ошибся?
оказалось, что апостолов просто колбасило...

Последний раз редактировалось Leksda; 20.03.2009 в 13:10.
Leksda вне форума Ответить с цитированием
Старый 20.03.2009, 12:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
for i:= 0 to memo1.lines.count - 1 do 
 begin
    if memo1.lines[i]<>'строка4' then
           memo1.Lines.Delete(a);
 end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2009, 13:10   #3
Leksda
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 14
По умолчанию

2 Stilet
удаляет только нечетные строки! а мне нужно что бы удалялась с 3 по 7 строку...
ожидаемый результат
1 фамилия
2 имя
8 строка
9 строка....
оказалось, что апостолов просто колбасило...
Leksda вне форума Ответить с цитированием
Старый 20.03.2009, 13:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
удаляет только нечетные строки!
Ну тогда так:
Код:
 i:= 0; while (i<to memo1.lines.count - 1)and(i in [3..7]) do 
 begin
    if memo1.lines[i]<>'строка4' then
           memo1.Lines.Delete(i)
  else  inc(i);
 end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2009, 13:37   #5
Leksda
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 14
По умолчанию

удаляет с 4 строки до конца!
оказалось, что апостолов просто колбасило...

Последний раз редактировалось Leksda; 20.03.2009 в 13:51.
Leksda вне форума Ответить с цитированием
Старый 20.03.2009, 14:04   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Код:
for i:= 1 to 5 do 
 memo1.Lines.Delete(3);
mihali4 вне форума Ответить с цитированием
Старый 20.03.2009, 15:31   #7
Leksda
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 14
По умолчанию

пасибо получилось
оказалось, что апостолов просто колбасило...
Leksda вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление строк alexk Microsoft Office Excel 24 15.02.2011 08:34
Удаление строк Dr.Badnezz Общие вопросы Delphi 1 07.10.2008 15:22
удаление строк Dime_x Microsoft Office Excel 2 07.10.2008 13:38
Удаление конкретной строки Memo JakSon Общие вопросы Delphi 6 03.03.2008 09:35
Удаление пустрых строчек в Memo GAGARIN-NEW Общие вопросы Delphi 4 07.12.2007 17:09