Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для Razmir
3 / 2 / 1
Регистрация: 04.03.2013
Сообщений: 145

Из Stringlist в TreeView

11.09.2022, 19:24. Показов 1772. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго. Не могу сообразить, как сделать. Есть 3 Stringlist с данными:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
StringListName
 
Каталог 1
Каталог 2
Каталог 3
Каталог 4
Каталог 5
Каталог 6
Каталог 7
Каталог 8
Каталог 9
Каталог 10
Каталог 11
Каталог 12
Каталог 13
Каталог 14
Каталог 15
Каталог 16
 
StringListID
 
16
24
7
32
21
345
22
76
99
12
35
43
5
17
287
224
 
StringlistParentID
 
1292
1292
32
1292
345
32
76
1292
76
32
1834
345
224
32
224
76
В первом название каталога. Во втором его ID. В третьем соответственно ID каталога, в котором он находится. Надо из этого всего в TreeView собрать дерево такого плана

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Каталог 1        
Каталог 2        
Каталог 4        
    Каталог 3    
    Каталог 6    
        Каталог 5
        Каталог 12
    Каталог 10   
    Каталог 14   
Каталог 8        
    Каталог 7    
    Каталог 9    
    Каталог 16   
        Каталог 13
        Каталог 15
Каталог 11
Перебор циклом получается ужасно медленным. Как это можно грамотно организовать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.09.2022, 19:24
Ответы с готовыми решениями:

TreeView - выстроить древо списку из StringList
Все привет. Помогите построить древо в TreeView по существующему списку. Допустим, в StringList у меня хранятся строки: fileX.tpl...

Как присвоить серверному контроллу TreeView коллекцию из TreeView, в котором находится информация из БД
Здравствуйте, в общем я кидаю на страницу TreeView и хочу его динамически заполнять, но сразу куча проблем, обо всем по порядку: ...

StringList в VB
Есть ли подобная переменная в VB?

26
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
14.09.2022, 23:45
Студворк — интернет-сервис помощи студентам
ну а свой потомок от TTreeNode не проще ли переписать с нужным функционалом сразу и с нужными полями... или вообще TTreeView
Такое впечатление, что никто не пользуется вообще наследием, только что визуальное из палитры на сцену мышкой тянуть и в нем писать? Оно же скудно получается)))

Лично последние 3 года переписываю/переопределяю вообще все что можно, настолько удобно работать, и настолько уменьшает захломленность кода со всякими там эвентами перерисовок или засовыванием в Data неких структур. Отказался вообще в проектах от визуального набрасывания компонентов мышкой
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
15.09.2022, 01:02
Цитата Сообщение от Arcor Посмотреть сообщение
Лично последние 3 года переписываю/переопределяю вообще все что можно, настолько удобно работать, и настолько уменьшает захломленность кода со всякими там эвентами перерисовок или засовыванием в Data неких структур. Отказался вообще в проектах от визуального набрасывания компонентов мышкой
Вольный художник?
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
15.09.2022, 01:37
Цитата Сообщение от northener Посмотреть сообщение
Вольный художник?
я так вижу
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
15.09.2022, 02:03
Цитата Сообщение от Arcor Посмотреть сообщение
я так вижу
Предвижу тут тогда одну, по крайней мере, сложность. Если через два-три года нужно будет вернуться к проекту где куча всего переопределено/переписано, вспомнишь ли ты о чем идет речь в некоем куске кода? Или ты всегда пишешь подробный комментарий?
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
15.09.2022, 08:26
Цитата Сообщение от Arcor Посмотреть сообщение
ну а свой потомок от TTreeNode не проще ли переписать с нужным функционалом сразу и с нужными полями... или вообще TTreeView
Всё можно переписать.
Смысл? Вот в данной конкретной задаче, которая может быть очень разовая.

Главное - идею накидали.
Как именно её реализовать - минимальным кодом или "переписать всё!" - это уже несущественные детали.

Добавлено через 5 минут
Цитата Сообщение от Arcor Посмотреть сообщение
Отказался вообще в проектах от визуального набрасывания компонентов мышкой
Довольно странный путь, считаю, для Delphi, которая как раз удобна визуальным проектированием.
Конечно, если на форме 5 элементов - можно и руками все это поддерживать, а если хитрое взаимодействие при ресайзах формы - то даже проще.
Но если 200 форм, на каждой по 100500 контролов и постоянно добавляет что-то новое или шаманится расположение - то визуальное проектирование как раз то, что нужно.
Да и полнофункциональную компоненту свою сделать и в палитру положить - совсем не сложно. Ну если уж хочется "всё своё", что в самом деле бывает удобно в большом проекте.
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
15.09.2022, 12:15
Цитата Сообщение от KSergey9 Посмотреть сообщение
Довольно странный путь, считаю, для Delphi, которая как раз удобна визуальным проектированием.
ну вот и считайте так дальше, я не запрщеаю ведь

и как раз таки да, если дохренища элементов то куда проще сделать их динамическими и проще логику написать для взаимодействия, чем вон то мышкой натыкивать и каждую штуку параметрировать отдельно, когда можно написать взаимоджействующий механизм и сократить почти абсолютно все

Главная проблема в дельфи в том и состоит, что приучили все руками накидывать
Цитата Сообщение от northener Посмотреть сообщение
если через два-три года нужно будет вернуться к проекту где куча всего переопределено/переписано, вспомнишь ли ты о чем идет речь в некоем куске кода?
ну ты же видишь что там по коду исполняется, суть то останется той же что и не переписывал бы, взаимодействия то остаются, как раз упрощенные, я вижу как раз сложность в том если не переписывать, тогда начинаешь отслеживать чего там засунул по ссылкам и по тегам куда-то и как оно там вообще, как раз из-за того что начинает плодиться такая каша пришел к выводу, что лучше переписать и подточить некий класс к решению именно данного участка кода

а комментарии я вообще не пишу, если только лишь идею описываю, что по коду воплощается далее, в чем состоит идея и какова реализация

Названия всего уже имеют давным давно осознанные понятия и описывают всю суть

Думаю я ничего нового от слова совсем тут и не написал, всем ясна эта идея кто программирует
0
 Аватар для Razmir
3 / 2 / 1
Регистрация: 04.03.2013
Сообщений: 145
17.09.2022, 10:43  [ТС]
Всех благодарю, все получилось отлично, правда в итоге перешел на firemonkey )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.09.2022, 10:43

Найти совпадающий текст в TreeView и показать найденные результаты открыть нужную ветку в TreeView
Найти совпадающий текст в TreeView и показать найденные результаты открыть нужную ветку в TreeView Делаю что-то типа реестра

Вывод результата запроса в treeView - Заполнить курсами первый уровень treeView, а тестами второй
Здравствуйте, помогите, пожалуйста, у меня есть список курсов и список тестов (каждый из которых относится к определённому курсу). И нужно...

WebBrowser и stringlist
var a:Tstrings; begin a:=tstringlist.Create; a.Strings:='<html><body>; a.Strings:='<p align=justify> ñïðîñ</p>'; ...

Поиск по StringList
Ребят, как реализовать поиск по StringList? Есть строчка в текстовом файле. Там идут некие значения, которые разделяются ";"....

Из ListView в StringList
В ListView несколько колонок, и установлен checkboxes в ListView. Интересует первая колонка, как все отмеченные записи чикетом из первой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru