| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > как обрезать текст в мемо? |
| Автор: treem 21.3.2009, 20:21 |
| как обрезать текст в мемо? вообщем объясню кратко что мне нужно, короче я получаю заголовки последних тем на форуме... вот например: Новые ключи для антивируса Касперского Управление процессорным временем на Паблике. Microsoft показала мобильное будущее 2019 года Мошенник получил по заслугам! Защита аккаунта по IP. ОБНОВЛЕНИЯ от 18.03.2009 всё это я получаю в мемо... результат нужен примерно такой Новые ключи для антиви... Управление процессорным... Microsoft показала мобильн... Мошенник получил по засл... Защита аккаунта по IP. ОБНОВЛЕНИЯ от 18.03.200... алгоритм примерно такой, если текст больше 23 символов то удалять всё кроме первых 23 символов и добавть ... вообщем я ламер, и нихрена не могу сделать... please help |
| Автор: THandle 21.3.2009, 20:27 | ||
treem, бежишь в цикле по всем строчкам(Lines), проверяешь - если длина больше 23(length), то удаляешь с помощью delete ненужную часть и прибавляешь к строке '...'. |
| Автор: treem 21.3.2009, 20:37 | ||
в том то и дело, что я незнаю как это сделать... я имею введу код... Добавлено через 5 минут и 49 секунд |
| Автор: Данкинг 21.3.2009, 21:17 |
С помощью функций COPY или DELETE. А уж как пройтись по строчкам Memo - примеров масса. Впрочем, если - тогда, думаю, тебе ничего не поможет. ЗЫ: в русском языке нет слова "вообщем", а "не" с глаголами пишется слитно только в чешском. |
| Автор: Christoph 21.3.2009, 23:33 | ||
Держи код, немного нестандартный
|
| Автор: Matematik 22.3.2009, 00:06 | ||
treem,
|
| Автор: Dmi3ev 22.3.2009, 00:27 | ||
| А че так все трудно? А вот так
Это моя первая программа на Delphi, но вроде работает... |
| Автор: Данкинг 22.3.2009, 00:30 | ||
Dmi3ev, можно даже ещё на 2 строчки сократить:
|
| Автор: Dmi3ev 22.3.2009, 00:37 | ||
это да... я их для себя поставил... не суть важно... я про сам способ... так просто проще всего по-моему... |
| Автор: Данкинг 22.3.2009, 00:50 |
| И ещё - для всех способов - я бы всё же брал Trim(Memo1.Lines[i]). |
| Автор: Dmi3ev 22.3.2009, 01:06 |
| Данкинг, спорить не буду, хотя мог бы, ведь у меня за плечами уже порядка 5 строк кода на Delphi |
| Автор: Dmi3ev 22.3.2009, 01:33 | ||
Может и неплохая, ты придерживаешься теории: "психология пользователя такова, что он ставит пробел в начале и в конце строки..." Мне что-то такое из книжки по Access вспоминается... (да и в принципе по любым БД) Вопрос был в другом, поэтому это здесь непринципиально... Я стал более уверенным, осознав, что 5 строк кода - это не так уж и мало... Теперь буду более тверд и настойчив, а по сему: 1) не надо тут никакого Trim! 2) использовать только тот код, который я выложил! 3) слушать только меня, я все таки ни одну строчку кода написал на старом добром Дельфине (а пять) |
| Автор: Данкинг 22.3.2009, 01:56 |
Здесь - возможно. Честно говоря, я даже не подумал, что можно так просто и это будет работать (Memo1.Lines[i]:=...), я думал, что придётся запоминать текущую позицию строки, удалять, а затем вставлять новую на прежнюю позицию. |
| Автор: Dmi3ev 22.3.2009, 03:09 | ||
Век живи - век учись... |
| Автор: treem 22.3.2009, 09:13 |
| спасиба вам всем |
| Автор: THandle 22.3.2009, 09:16 |
| treem, в следующий раз обращайтесь в http://forum.vingrad.ru/forum/Vingrad-help-center.html. Этот раздел не предназначен для просьб сделать все за себя. Вообще грустно. На простые вопросы идут целой толпой отвечать, а как сложные... Печально. Тему закрываю. Опасаюсь дальнейших ненужных обсуждений. |