|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.06.2009, 15:49 | #1 |
Форумчанин
Регистрация: 27.05.2009
Сообщений: 127
|
Удаление лишних символов из Memo
Здравствуйте! У меня такая проблема. Я хотел сделать программу, которая удаляла бы из memo все символы, кроме цифр и удаляла пустые строки. Сначала я решил всё перевести в двухмерный массив и работать с каждым символом в отдельности - результат был такой же, а длина кода - гораздо больше. Тогда я думал-думал и сделал так, как сейчас. А можно это как-то сделать ещё проще?
Код:
Строки удаляются, но если их несколько (подряд), то приходится нажимать на кнопку несколько раз. Я решил зациклить: Код:
Как можно это исправить? Большое спасибо! |
17.06.2009, 16:02 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
цикл+проверяйте лучше с конца
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
17.06.2009, 16:14 | #3 |
Форумчанин
Регистрация: 27.05.2009
Сообщений: 127
|
Огромное спасибо! Получилось, почти. Если пустые строки идут в самом конце (внизу memo), то всё равно зависает
Точно, в самой первой строчке кода ошибка Нужно не так, Код:
Код:
Попробовал избавиться от этого, удалив все строки в конце. А можно всё это сделать как-то иначе? Вот весь код: Код:
Последний раз редактировалось Stilet; 18.06.2009 в 12:16. |
19.06.2009, 12:33 | #4 |
Регистрация: 19.06.2009
Сообщений: 3
|
Вот вариант
for i:=0 to memo2.lines.Count - 1 do begin
if trim(memo2.Lines.Strings[i]) = '' then begin while (trim(memo2.Lines.Strings[i])= '') and (i < memo2.lines.Count - 1) do Memo2.Lines.Delete(i); end; memo2.Lines.Strings[i]:=trim(memo2.Lines.Strings[i]); end; |
19.06.2009, 13:05 | #5 |
Форумчанин
Регистрация: 27.05.2009
Сообщений: 127
|
Хороший вариант, спасибо! Только пустые строки, которые идут после цифр (в самом конце) полностью не удаляются!
|
19.06.2009, 13:24 | #6 |
Регистрация: 19.06.2009
Сообщений: 3
|
тогда вот так
for i:=0 to memo2.lines.Count - 1 do begin
if trim(memo2.Lines.Strings[i]) = '' then begin while (trim(memo2.Lines.Strings[i])= '') and (i <= memo2.lines.Count - 1) do Memo2.Lines.Delete(i); end; memo2.Lines.Strings[i]:=trim(memo2.Lines.Strings[i]); end; |
19.06.2009, 13:49 | #7 |
Форумчанин
Регистрация: 27.05.2009
Сообщений: 127
|
Большое спасибо! Вот теперь всё работает! Всего один символ '=' - а какой результат!
|
19.06.2009, 15:15 | #8 |
Регистрация: 19.06.2009
Сообщений: 3
|
Суппер
вот и отличненько!)))))
|
13.08.2011, 16:48 | #9 |
Форумчанин
Регистрация: 11.11.2008
Сообщений: 177
|
а как удалить 0 символ в 0строке в мемо если он равняеться к примеру t а остальной текст оставить, к примеру если текст tblabla нужно удалить t и оставить blabla? пробую так не получаеться
Код:
Последний раз редактировалось hacknet; 13.08.2011 в 18:05. |
23.11.2012, 06:57 | #10 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 10
|
Самый простой способ удаления пустых строк:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аналог функции Trim-удаление лишних пробелов в начале и в конце передаваемой строки | GULINA | Помощь студентам | 6 | 23.05.2009 15:07 |
Массив символов и Memo | (*_*) | Общие вопросы Delphi | 4 | 09.05.2009 10:39 |
Удаление лишних пробелов. Ввод/вывод в файл. | Иван 883 | Помощь студентам | 13 | 31.03.2009 19:39 |
удаление лишних данных в ячейке | mistx | Microsoft Office Excel | 2 | 24.02.2009 18:32 |
Удаление символов | MURAD | Общие вопросы C/C++ | 3 | 19.08.2007 01:25 |