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

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

02.05.2013, 01:00. Показов 9762. Ответов 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
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
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
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
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
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
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
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
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
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru