Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
fanatUA
9 / 9 / 3
Регистрация: 29.09.2009
Сообщений: 66
#1

Поиск в Memo - Delphi

20.10.2009, 11:13. Просмотров 821. Ответов 5
Метки нет (Все метки)

Мне нужно очитить те строки где есть запитая, вот каким путём я пошел
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button2Click(Sender: TObject);
var
Find:string;
i:integer;
begin
find:=',';
For i:=0 to Memo1.Lines.Count-1 do begin
If Pos(FIND, Memo1.Lines[i])<>0 Then Memo1.lines[i]:='';
End;
end;
но проблема в том что оно с первого раза все запитые не убирает, а обычно с третього, может где-то я не досмотрел
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2009, 11:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск в Memo (Delphi):

Поиск в Memo
Вот какое задание мне надо сделать: Кнопки «Знайти», «Слід.» – виконується...

Поиск в тексте и вывод рез-та в memo
Доброе время суток! подскажите пжлста)))) у меня есть текст, нужно написать...

Работа с компонентом memo - поиск слова,или строчек
Есть программа - моя,в ней есть компонент memo,мне нужно чтоб по нажатию типо...

Memo
в мемо загоняется случайная строка букв. какая буква в мемо показывается через...

БД и memo
как можно сделать так что бы нажав Баттн я увидела бы в memo или где то еще...

мультизагрузка в memo
Как загрузить все выделенные файлы из FileListBox в Memo?

5
o-user
244 / 201 / 26
Регистрация: 03.02.2009
Сообщений: 786
20.10.2009, 23:45 #2
Приведите пример текста, из которого не все запятые удаляются с первого раза!
0
Inadequate
Retired
7709 / 2542 / 670
Регистрация: 17.10.2009
Сообщений: 5,100
21.10.2009, 00:12 #3
ошибка связанна с тем, что когда вы удаляете строку все последующие индексы строк меняются, в резултате вы постоянно упускаете одну или несколько строк... вот рабочий код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
begin
i:=0;
with Memo1 do
  while i<=Lines.Count-1 do
    if pos(',', Lines[i])<>0 then
    begin
      Lines.Delete(i);
      dec(i)
    end
    else
      inc(i)
end;
0
o-user
244 / 201 / 26
Регистрация: 03.02.2009
Сообщений: 786
21.10.2009, 00:22 #4
Цитата Сообщение от Inadequate Посмотреть сообщение
ошибка связанна с тем, что когда вы удаляете строку все последующие индексы строк меняются, в резултате вы постоянно упускаете одну или несколько строк... вот рабочий код:
Проверял. Индексы строк не изменяются, просто строки становятся пустыми.
0
Андрей Борисови
708 / 396 / 33
Регистрация: 04.10.2009
Сообщений: 1,687
21.10.2009, 15:25 #5
такие процессы оптимальнее выполнять в обратную сторону

незнаю почему, но у меня тоже оставались строки с "," сверху-вниз, а обратно - все строки удалил...
0
fanatUA
9 / 9 / 3
Регистрация: 29.09.2009
Сообщений: 66
21.10.2009, 23:03  [ТС] #6
К сожалению так сложилось, что решение задачи стало нужным не через 3 дня, как меня просили, а немедленно - поэтому ваши отзывы до меня не дошли, пришлось пойти другим путем, возможно кому то понадобится.

Так как я писал, что за раз все запятые не убирались то я с помощью repeat until его повторял, и все заработало
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button2Click(Sender: TObject);
var
Find:string;        //Вводимо змінні//
i:integer;
begin
find:=',';
repeat                                    //Шукаємо коми//
if pos(Find,memo1.text)<>0 then begin
For i:=0 to Memo1.Lines.Count-1 do begin
If Pos(FIND, Memo1.Lines[i])<>0 Then memo1.Lines.Delete(i)
end
end
else Showmessage('Все очищено ні одного рядка з комою');       //Повідомлення, якщо ком немає//
until pos(Find,memo1.text)=0
end;
благодарю за проявленный интерес к моей проблемы, думаю тему можно закрыть
0
21.10.2009, 23:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2009, 23:03
Привет! Вот еще темы с решениями:

Memo + text кб
Парни помогите, как сделать. Мне нужно чтобы когда в компоненте memo текстовой...

Проблема с Memo
У меня на форме есть 4 Memo , и как мне зделать так чтобы в какой Memo...

Выделение Memo
Сделал блокнот для личного использования (обычный сильно тупой,а NotePad``...

работа с MEMO
у вас очень интересный форум, но нужной инфы я не нашел (может есть, но...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru