![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| 095 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 3.10.2007 Репутация: нет Всего: нет |
Сутки добрые, Уважаемые знатоки!
Помогите разобраться со следующим: Есть некий алгоритм генерации текста в поле Memo из множества других полей TEdit по определенному шаблону, тоесть обскакиваем каждый TEdit, ищем его тег в шаблоне (на мотив phpBB [::тег::] и заменяем его на текст из TEdit, таким образом конструируется текст в TMEmo... Генератор стоит на таймере, который сбивается поновой на OnChange каждого TEdit, таким образом генерация происходит по нажатию последнего символа и ожиданием в секунду. Текст мерцает при изменении одного из TEdit, тоесть реконструируется в TMemo каждый раз по новой, начиная с загрузки шаблона для текста и тд... Проблема нагрянула такая: С развитием прог продукта, образовалось, допустим, уже тысяча компонентов Tedit, при которых текст теперь генерируется слишком долго, невыносимо долго... Подскажите подход к данной проблеме, возможно кто-то сталкивался с подобным? Каким образом можно организовать процесс одновременного изменения текста в TEdit и на его потенциально заменяемом месте в TMemo? |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
А TMemo.Lines.BeginUpdate / EndUpdate пользуетесь? Что за текст тоже не совсем ясно. Может и не надо ничего заново собирать, а лишь заменить то что изменилось в готовом тексте...
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: 5 Всего: 11 |
Приведи пример работы алгоритма.
|
|||
|
||||
| 095 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 3.10.2007 Репутация: нет Всего: нет |
ну приблизительно так:
Mikel, да, про обновляемую позицию TEdit в тексте я тож подумал, даже дошел уже до Regex'a почти... Ваше подтверждение только подбавило энтузиазма |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Проверьте ваш пример- не вижу смысла во втором параметре процедуры.
Добавлено через 1 минуту и 13 секунд И потом приведение к TEdit класса TMemo... ну они конечно пересекаются на TCustomEdit, но не красиво как минимум ) -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| 095 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 3.10.2007 Репутация: нет Всего: нет |
Mikel, Я на коленке набросал сей код, ибо в настоящем попросту уже через строку 3 строки другого мусора
|
|||
|
||||
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: 5 Всего: 11 |
Зачем постоянно обращаться к компоненту?
Загрузи его текст в переменную - модифицируй и выдай обратно! |
|||
|
||||
| 095 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 3.10.2007 Репутация: нет Всего: нет |
тож верно
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |