|
|
|
shutnik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 57 Регистрация: 18.12.2005 Репутация: нет Всего: нет |
здравствуйте! у меня такая проблема:
имеется форма, кнопка *выделить всё*, TSynEditMemo когда я пропиываю в обработчик события OnStatusChange компонетна TSynMemo код примерно такого содержания if(memo->SelText!=memo->Text){bntSelectAll->Enabled=1;}else{bntSelectAll->Enabled=0;} при выделении текста прога начинает подтормаживать =( каким ещё способом можно определить активность кнопки *выделить всё* (если выделен весь текст - сделать неактивной)? помогите пожалуйста! |
|||
|
||||
_hunter |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
делать проверку хотябы по таймеру...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
shutnik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 57 Регистрация: 18.12.2005 Репутация: нет Всего: нет |
_hunter, хм......... неужели попроще нет ничего?
|
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 2 Всего: 260 |
shutnik, я правильно понял: ты сравниваешь посимвольно выделенный текст со всем остальным? Я с компонентом незнаком, но, мне кажется, там есть свойства SelStart и SelLength - почему бы их не обрабатывать вместо сравнения двух кусков текста?
|
|||
|
||||
shutnik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 57 Регистрация: 18.12.2005 Репутация: нет Всего: нет |
skyboy, нет, я не сравниваю посимвольно, я просто сравниваю текст!
короче когда весть текст выделен кнопка должна деактивироваться!! но если сравнивать так как я указал то прога подглючивает при выделении болшого текста.... |
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 2 Всего: 260 |
я не знаю, как происходит сравнение двух многосимвольных переменных. Разве не через побайтовое сравнение?
|
|||
|
||||
AntonChik |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 207 Регистрация: 4.10.2005 Где: Красноярск Репутация: 1 Всего: 1 |
2shutnik: думаю skyboy прав - SelStart и SelLength должны быть... зачем заморачиваться непосредственно сравнением текстов?
--------------------
"Человек притаился за деревом. За широким огромным деревом. Он выглядывал тихонько и прятался. Но его никто не преследовал." (с) Хорги |
|||
|
||||
_hunter |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
заморачиваться нужно потому как тексты равной длины могут различаться.
shutnik, можно сделать и проще -- забить на интерактивность и выполнять проверку в обработчике нажатия на кнопку -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 2 Всего: 260 |
_hunter, глянь на код. Если я ничего не путаю, он сравнивает выделенный в Мемо текст со всем тексто того же Мемо. И если тексты совпадают(выбран текст полностью), то вопрошающий деактивирует кнопку "Выделить всё", иначе - активирует. Зачем проверять на совпадение текста? Если из 2834 символов в Мемо выбрано 2834 - ясен пень, что выбран весь текст полностью
|
|||
|
||||
_hunter |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
просто есть у меня подозрение что тот код набирался руками а не копировался из IDE и текст должен сравниваться с шаблоном.
если это действительно "рабочий" код -- можно и просто длины сравнивать... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 2 Всего: 260 |
bntSelectAll - для чего может предназначаться кнопка с таким именем, кроме как для выделения всего текста?
|
|||
|
||||
_hunter |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
а какой, в этом случае, смысл этого кода? -- если Selection можно и програмно установить...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
AntonChik |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 207 Регистрация: 4.10.2005 Где: Красноярск Репутация: 1 Всего: 1 |
Вот именно, что Selection, судя по теме, надо не устанавливать, а проверять на полное выделение...
Или я уже в конец запутался... --------------------
"Человек притаился за деревом. За широким огромным деревом. Он выглядывал тихонько и прятался. Но его никто не преследовал." (с) Хорги |
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 2 Всего: 260 |
если выделен весь текст(текст мемо=выделенному фрагменту), то деактивировать кнопку "Выделить всё", иначе - сделать её активной. Это и означает код
Ищу работу телепата. |
|||
|
||||
shutnik |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 57 Регистрация: 18.12.2005 Репутация: нет Всего: нет |
всем спасибо, пофлеймили немножко в моё отсутствие =) ну да ладно )))
а теперь попорядку: ---
ну допустим я сравниваю selstat с длиной текста, но вот при обращении к этому самому тексту получается такой же эффект как при сравнивании текстов, то есть по сути смысла нету так поступать =( ---
а если я выделил теккст через контекстное меню (пунктом *выделить всё*)???? =))) --- в общем, я понял что эту задачу более рациональным путём эту задачу не решить, так как в любом случае я сравниваю либо с самим текстом, либо с его длиной что по сути не имеет значения и памяти расходуется столько же .......... --- в итоге позволю себе забить на эту функцию, пусть кнопка будет всегда активна =) --- ещё раз всем спасибо!!! |
||||
|
|||||
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |