Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi

Войти
Регистрация
Восстановить пароль
 
fanatUA
9 / 9 / 1
Регистрация: 29.09.2009
Сообщений: 66
#1

Поиск в Memo - Delphi

20.10.2009, 11:13. Просмотров 810. Ответов 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 - Delphi
Вот какое задание мне надо сделать: Кнопки «Знайти», «Слід.» – виконується пошук тексту, набраного в полі «Пошук тексту», у вікні...

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

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

Memo - Delphi
в мемо загоняется случайная строка букв. какая буква в мемо показывается через время такую и нада нажать. если правильно то буква одним...

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

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

5
o-user
244 / 201 / 7
Регистрация: 03.02.2009
Сообщений: 786
20.10.2009, 23:45 #2
Приведите пример текста, из которого не все запятые удаляются с первого раза!
0
Inadequate
Retired
7708 / 2541 / 184
Регистрация: 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 / 7
Регистрация: 03.02.2009
Сообщений: 786
21.10.2009, 00:22 #4
Цитата Сообщение от Inadequate Посмотреть сообщение
ошибка связанна с тем, что когда вы удаляете строку все последующие индексы строк меняются, в резултате вы постоянно упускаете одну или несколько строк... вот рабочий код:
Проверял. Индексы строк не изменяются, просто строки становятся пустыми.
0
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
21.10.2009, 15:25 #5
такие процессы оптимальнее выполнять в обратную сторону

незнаю почему, но у меня тоже оставались строки с "," сверху-вниз, а обратно - все строки удалил...
0
fanatUA
9 / 9 / 1
Регистрация: 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 - Delphi
Как загрузить все выделенные файлы из FileListBox в Memo?

абракадабра в MEMO - Delphi
Всем салют! Получаю исходный код html в Memo с русскими букавками и вот они не хотят правильно отображаться какие то кракозябры в Memo....

Работа с Memo - Delphi
Задали прогу нужно зделать через Компонент Memo зделать невыходит поэтому обращаюсь к вам форумчане. Задание: Дано текст. Получить все...

прокрутка 2х memo - Delphi
Доброго времени суток! У нас в мемо1 и мемо2 есть текст.Как сделать одновременную прокрутку текста в обоих мемо если пользователь...


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

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

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