![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Nic442 |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Вопрос такой у меня есть treeview и memo и фунукция, которая ищет определенные слова и запихивает их в treeview. Как сделать, чтобы при нажатии на пункт treeview но выделял слово. Позиция начала и конца выделения известны. Я думал их занести в рекорд.
И главный вопрос. Как при щелчке на treeview определить куда ссылается ? на какой индекс?? TreeView имеет вложенность. ![]() |
||||||
|
|||||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
у TTreeNode есть свойство Data пиши в него свою запись. у дерева есть Selections. бери первый из них (это будет нода) читай ее Data -- получиш искомую запись
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Можно пример с массивом. Я сделал без массива но он выделял только последнее слово
А с массивом какая-то фигня происходит. Я должен создавать 2 массива, а в Data сохранять указатель на элементы этих двух массивов. Как это сделать? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
в смысле? с каким массивом (да и зачем?)?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
В Data нельзя же записывать данные, только указатели на данные - я так понял. Следовательно, начало и конец выделения должны храниться в двух массивах, на элементы которых должно ссылаться Data.
|
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
зачем массив?
создавай структуру Create' ом (или как-там-у-вас-) и полученный указатель и засовывай в Data указатель (только про удаление потом не забудь) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Зачем? Чем тебе Data не массив?
|
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Сделал!!! заработало :-) . Когда я вчера сделал я стормозил и не впихнул в цикл New(MyRecPtr); поэтому выдавало только одно слово, но было поздно и бошка не сработала.
Теперь возник вопрос. Я создаю в цикле New(MyRecPtr); как мне его очищать??? Вот так?
|
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
пройтись по всем итемам дерева (это линейный массив) и удалить все указатели из Data
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Dispose(MyRecPtr);
|
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Так мне так делать???
или достаточно один раз написать Dispose(MyRecPtr); |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
|
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
А при закрытии формы указатели и Data автоматически очищаюся?
А то этот код на OnClose или OnDestroy выдаёт ошибку. А при обновлении работает. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
что OnClose что OnDestroy происходят до вызова деструкторов => само удаляться ничег оне должно...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Так куда тогда вешать очистку памяти?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |