С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/47: Рейтинг темы: голосов - 47, средняя оценка - 4.72
 Аватар для Владимир_Наумов
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 16

Поиск и удаление в Memo

02.05.2013, 01:00. Показов 9636. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите.
Задача такая у меня в Memo выводит текст,мне нужно найти определенный текст и удалить эту строчку с этим текстом в моем случае это будет слово "phot"
photo1_1
photo1_2
photo1_2
phot
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.05.2013, 01:00
Ответы с готовыми решениями:

Поиск удаление между Memo
Доброго врмени суток, Миряне! помогите пожалуйста с реализацией: есть два memo 1 и 2, нужно строку из memo 2 найти вхождением текста...

Поиск повторений в Memo и их удаление
Как создать поиск повторений в Memo1 и их удаление?

Поиск одинкаковых слов в memo и их удаление
Как сделать поиск слова, предложения введенного в едит и его последующего удаления. Удаление всех строк вместо с оригиналом чтобы таких...

7
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,249
02.05.2013, 01:16
Владимир_Наумов,

Поиск

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.Button1Click(Sender: TObject);
var 
Find:string; // Искомая строка 
i:integer; // Счетчик для цикла 
begin
 Find:=Edit1.Text; // Записываем в find текст из Edit
For i:=0 to Memo1.Lines.Count-1 do // Запускаем цикл поиска строки 
If Pos(Find, Memo1.Lines.Text)>0 
Then
Begin
// выделяем найденную строку
 Memo1.SetFocus();
 Memo1.SelStart:=Pos(Find,Memo1.Lines.Text)-1;
 Memo1.SelLength:=Length(Find);
End;
end;
Удаление
Delphi
1
Memo1.ClearSelection; // удалить выделенный текст
0
 Аватар для Владимир_Наумов
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 16
02.05.2013, 02:46  [ТС]
Я чутка не понимаю.
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,249
02.05.2013, 03:12
что именно?
0
 Аватар для Владимир_Наумов
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 16
02.05.2013, 10:17  [ТС]
Цитата Сообщение от droider Посмотреть сообщение
procedure TForm1.Button1Click(Sender: TObject);
var
Find:string; // Искомая строка
i:integer; // Счетчик для цикла
begin
*Find:=Edit1.Text; // Записываем в find текст из Edit
For i:=0 to Memo1.Lines.Count-1 do // Запускаем цикл поиска строки
If Pos(Find, Memo1.Lines.Text)>0
Then
Begin
// выделяем найденную строку
*Memo1.SetFocus();
*Memo1.SelStart:=Pos(Find,Memo1.Lines.Te xt)-1;
*Memo1.SelLength:=Length(Find);
End;
end;
Где он тут ищет мой текст?
То есть который я введу?
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,249
02.05.2013, 10:52
Владимир_Наумов, строка поиска задается в Edit (текстовое поле). Далее в цикле по всему тексту Memo идет проверка, встречается ли где-нибудь введенная Вами строка (на какой позиции в тексте). Если да, то она будет выделена...
Прикладываю архив для наглядности.
Вложения
Тип файла: rar Memo.rar (175.8 Кб, 65 просмотров)
0
 Аватар для ProRockX
263 / 109 / 26
Регистрация: 16.03.2013
Сообщений: 272
02.05.2013, 11:38
Мне не до конца понятно задание.
Ты говоришь тебе даны строки
photo1_1
photo1_2
photo1_2
phot
и нужно удалить строчку со словом phot. Строка должна в точности соответствовать вводимому тексту или слово просто должно встречаться в строке, чтоб она была удалена? Т.е. в данном примере должны удалиться все строки или только последняя?

Добавлено через 9 минут
Если нужно удалить только строки полностью соответствующие условию, то делаем так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
var
Find:string; // Искомая строка
i:integer; // Счетчик для цикла
begin
 Find:=Edit1.Text; // Записываем в find текст из Edit
For i:=Memo1.Lines.Count-1 downto 0 do // Идём с конца мемо к началу, чтоб не пропустить строки
  If Memo1.Lines[i]=Find Then //если строка полностью совпадает, то...
    Memo1.Lines.Delete(i);//удаляем найденную строку
  end;
end.
Добавлено через 1 минуту
Если же нужно удалить строки, в которых присутствует данное слово, то делаем так:
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
var
Find:string; // Искомая строка
i:integer; // Счетчик для цикла
begin
 Find:=Edit1.Text; // Записываем в find текст из Edit
For i:=Memo1.Lines.Count-1 downto 0 do // Запускаем цикл поиска строки
  If pos(Find, Memo1.Lines[i])>0 Then//если искомое слово присутствует в строке, то...
    Memo1.Lines.Delete(i);//удаляем найденную строку
  end;
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,249
02.05.2013, 11:41
ProRockX, скорее всего строки, где встречается подстрока "phot".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2013, 11:41
Помогаю со студенческими работами здесь

Поиск слова в memo, и удаление символов перед ним
Есть memo в котором содержится например такой текст: По сравнению с более развёйй<del><del>рнутыми...

Удаление строки из memo
procedure TForm1.Button5Click(Sender: TObject); var i : Integer; begin with TStringList.Create do try Clear; //...

Удаление дублей в memo
Всем привет, не могу побороть удаление дублей строк вместе с оригиналом. Суть следующая, есть строки в формате: необходимо...

Удаление строк в memo
Здравствуйте. Подскажите пожалуйста) Задача такая - в memo загружаю текст, в каждой строке 1 предложение. необходимо: 1....

Удаление строк в memo
Имеем строки в memo1: Ошибка в тексте размерной надписи углового размера=19 Проверка пересечений размерных линии с геометрией=14 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru