|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
Структура текстового документа при компоненте Treeview01.05.2015, 17:37. Показов 1436. Ответов 17
Метки нет (Все метки)
Привет всем, допустим что есть текстовый документ в формате ".rtf" загруженный с помощью OpenFileDialog в RichTextBox, можно ли сделать так что бы он вывел структуру текстового файла (т.е пункты, подпункты) этого документа в Treeview?
Добавлено через 2 часа 1 минуту Может кто помочь?
0
|
|
| 01.05.2015, 17:37 | |
|
Ответы с готовыми решениями:
17
TreeView: по нажатию на объект дерева, выводить в Memo информацию, загруженную с текстового документа Открытие в Webbrowser определенного html-документа при клике на item Treeview Удаление текстового документа при его закрытии |
|
|
|
| 01.05.2015, 18:52 | |
|
Можно, но сложно. Для этого придется разобраться как эти пункты и подпункты выглядят в RTF, и код придется разбирать программно самому, а это непросто. Если бы это делалось в WPF, то там возможности для этого получше, а в винформах думаю будет сложновато.
0
|
|
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
| 01.05.2015, 18:57 [ТС] | |
|
ну должен быть какой небуть способ же, или что то подобие
0
|
|
|
|
|
| 01.05.2015, 18:59 | |
|
Ну способ есть и не один. Либо разбирать код ртф вручную, либо искать готовую библиотеку, с помощью которой можно это сделать, либо использовать библиотеки WPF. Другие способы мне не известны(хотя утверждать, что их нет тоже не буду).
0
|
|
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
| 01.05.2015, 19:08 [ТС] | |
|
жаль что не каких примеров нету на сайте, все обыскал
0
|
|
|
|
||||||||||||||||||||||||||
| 01.05.2015, 20:43 | ||||||||||||||||||||||||||
|
Андрей_74, Если тебя устроит вариант с библиотеками WPF(не обязательно создавать впф-проект, можно просто подключить нужные библиотеки), то примерно направление могу задать.
Подключить надо библиотеки PresentationFramework PresentationCore System.Xaml WindowsBase Далее
В аттач прилагаю проект, написанный для примера в другой теме, но добавил туда третий пункт меню, с помощью которого можно выбрать ртф-файл и отобразить его в ричтекстбоксе как хмл. Код немного отличается от того, что представил в топике, но это для того, чтобы вывести отформатированный хмл-код в ртф. Если просто воспользоваться
1
|
||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
| 02.05.2015, 11:57 [ТС] | |
|
Спасибо сейчас попробую
![]() Добавлено через 14 часов 16 минут Вроде все понятно, но как он будет отображать саму структуру текстового документа (Глава-Тема-Подтема) не совсем я понял
0
|
|
|
|
||
| 02.05.2015, 12:24 | ||
Ты в данном случае просто вместо текстового формата, который не можешь обработать, получаешь либо готовый объект FlowDocument и его можно уже обходить и строить дерево, либо хмл, для работы с которым тоже есть куча инструментов. В данном случае твой вопрос просто разбивается на два: как обработать ртф-документ (с этим разобрались), и как теперь построить дерево.Второй вопрос уже проще, но мне, чтобы показать тебе пример, надо посмотреть пример исходного ртф-файла, который ты хочешь отобразить и как бы ты хотел, чтобы он отображался в виде дерева. Я код набросаю, а ты уже сможешь допилить его как тебе надо.
0
|
||
|
|
|||
| 02.05.2015, 13:38 | |||
|
Андрей_74, А сам документ где?
0
|
|||
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
| 02.05.2015, 13:40 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
| 02.05.2015, 13:42 [ТС] | |
|
Любой .rtv файл где есть Составленное меню (гиперссылок), взгляни документ первую страницу там увидешь
0
|
|
|
|
||
| 02.05.2015, 14:57 | ||
|
В ртф есть дескрипторы спсков. То есть там многоуровневые списки можно составить средствами самого формата. Пример, где этот список составлен как надо прилагаю в аттаче. Если взглянуть на код ртф, то там можно увидеть дескрипторы \list, \listlevel, \listtable и т. д. Вот если документ составлен так, то в хмл это будет предствлено реальным многоуровневым списком(файл прилагается). Такой список легко можно обойти рекурсивно и построить по нему дерево. Если же документ только внешне напоминает список, а все реализовано с помощью ввода символов маркеров и индентов, то обработка будет достаточно сложной и написать что-то универсальное для всех таких случаев - нереально. Можно, конечно, подстроиться под списки, как их делают конкретные программы, но в принципе это все равно будут костыли, заставить которые работать гарантированно правильно будет чрезвычайно сложно.
0
|
||
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
| 02.05.2015, 15:29 [ТС] | |
|
блин, проблема.
хотя бы что то подобие сделать
0
|
|
|
|
||
| 02.05.2015, 16:11 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
| 02.05.2015, 16:51 [ТС] | |
|
только это должно быть автоматизировано, с любым документом
0
|
|
|
|
||||||||||||||||||||||
| 02.05.2015, 17:59 | ||||||||||||||||||||||
|
Ссылки можно извлечь следующим образом.
1
|
||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 224
|
|
| 16.05.2015, 00:26 [ТС] | |
|
diadiavova, можно же адрес ссылки занести в treeview? если можно то как?
0
|
|
| 16.05.2015, 00:26 | |
|
Помогаю со студенческими работами здесь
18
Построить каталог в компоненте treeview
Как при создании нового текстового документа увеличивать счетчик в названии? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|