|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.03.2008, 22:18 | #1 |
Сисадмин
Форумчанин
Регистрация: 28.12.2007
Сообщений: 320
|
Открытие файлов через TreeView
Столкнулся с такой проблемой:
в TreeView загружаю необходимые мне папки и файлы, структура выглядит примерно так: -файл1.mht -файл2.mht -папка1 ---------файл3.txt ---------файл4.mht -файл5.txt -папка2 ---------файл6.mht ---------файл7.mht и т.д. Файлы необходимо открывать сторонними приложениями. Как мне определить к какому узлу относятся, например, дочерние узлы файл3 и файл4? Как видимо, при выделении "папка1" или "папка2" открывать их не надо, то есть я использую Код:
И у меня никак не получается это осуществить . Подскажите, пожалуйста, что делать? А если файлов и папок много? Может я чего-то не оптимально делаю и можно сделать проще? Поделитесь, пожалуйста, опытом, посоветуйте как быть!!! |
28.03.2008, 22:28 | #2 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
Подсказываю..
Хочеш узнать родителся тогда treeview1.Selected.Parent хочеш узнать его значение тогда treeview1.Selected.Parent.text Чочеш узнать родителя родителя (дедушку или бабушку))))) тогда treeview1.Selected.Parent.Parent и т.д......
Помог? Ну так нажми на весы!
|
28.03.2008, 22:37 | #3 | |
Сисадмин
Форумчанин
Регистрация: 28.12.2007
Сообщений: 320
|
Цитата:
|
|
28.03.2008, 22:50 | #4 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
Ну тогда делаем так
Код:
Помог? Ну так нажми на весы!
|
28.03.2008, 23:23 | #5 |
Сисадмин
Форумчанин
Регистрация: 28.12.2007
Сообщений: 320
|
В процессе выполнения Node.Text имеет Inaccessible Value - недопустимое значение, вылетает ошибочка.
Последний раз редактировалось Xardas; 28.03.2008 в 23:25. |
28.03.2008, 23:28 | #6 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Разве так трудно догадаться, что проверка на NIL должна происходить раньше? То есть не REPEAT...UNTIL, а WHILE... |
|
28.03.2008, 23:59 | #7 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
А я то думал что каждый файл будет хотя бы в одной папке.
Помог? Ну так нажми на весы!
|
29.03.2008, 00:03 | #8 | |
Сисадмин
Форумчанин
Регистрация: 28.12.2007
Сообщений: 320
|
Цитата:
Делаю таким образом: SDirAdr:=''; Node:=TreeView1.Selected; while node<>nil do begin Node:=Node.Parent; SDirAdr:=Node.Text+'\'+SDirAdr; end; На предпоследней строке ошибка, исключение EAccessViolation. Причем, когда делаю точку останова на этой строке, Node.text содержит 'Новая папка', т.е. правильное значение... Ведь как только все предки переберутся из цикла должен выходить... Тупик у меня в голове Последний раз редактировалось Xardas; 29.03.2008 в 00:06. |
|
29.03.2008, 00:08 | #9 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Вот эта "дикая" строка ?
Цитата:
В ней вы говорите : присвоить мне, что я - мой отец... Бред... Чуть-чуть изменим: Код:
|
|
29.03.2008, 00:09 | #10 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
И он на этом же когда имеет значение "Новая папка" дает ошибку?
Помог? Ну так нажми на весы!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие файлов из Delphi | Demien | Общие вопросы Delphi | 16 | 28.07.2011 01:06 |
открытие файлов | Ensoph | Общие вопросы Delphi | 5 | 31.03.2008 20:45 |
Открытие через программу | xGroupers | Общие вопросы Delphi | 3 | 29.03.2008 16:26 |
Открытие файлов в MDI-приложении | Eofol | Общие вопросы Delphi | 2 | 20.12.2007 22:05 |
Открытие файлов *.txt | Bill Gates | Общие вопросы Delphi | 3 | 28.11.2007 22:44 |