Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

ShellTreeView и папка "Рабочий стол"   Найти похожие ветки 

 
igorium ©   (2012-05-11 09:11) [0]

Всем привет.
Есть дерево ShellTreeView, которое идет от Рабочего стола (root = rfDesktop).
Есть файл ini, из которого читается информация о том, какой каталог выбрать активным при загрузке программы (ShellTreeView.Path).
Соответственно при закрытии программы в ini-файл записывается путь к каталогу, который сейчас активен.
Все замечательно работает, но если выходить из программы и активный каталог будет "Рабочий стол" или "Мои документы" или их подкаталоги, то
в ini-файл записывается полный путь к Рабочему столу - С:\Documents and Settings\1234\Рабочий стол\. И соответственно открывается дерево не от root = Рабочий стол, а от С:\Documents and Settings\1234\Рабочий стол\

Как это решить я не придумал...


 
Медвежонок Пятачок ©   (2012-05-11 09:37) [1]

если в ини записана строка равная полученному при старте пути к столу, зен рут = rfDesktop

например


 
igorium ©   (2012-05-11 10:39) [2]

Это не совсем корректно.
Т.к. при старте может быть начало с диска C, а перед закрытием выбрать Рабочий стол.
Кроме этого, root у меня всегда равен rfDesktop.
Меняется только path.


 
brother ©   (2012-05-11 11:03) [3]

> Это не совсем корректно.

ты о чем?
если Pos(ini, \Рабочий стол\) then рут = rfDesktop


 
Dimka Maslov ©   (2012-05-11 13:38) [4]

Что мешает получить путь к рабочему столу (SHGetSpecialFolderPath) и сравнить со строкой из ини-файла, после чего присвоить правильное значение root?


 
igorium ©   (2012-05-11 14:04) [5]

Мне кажется я чего-то недогоняю.
В дереве есть 2 переменные - root и path.
Root - это каталог, с которого показывается дерево
Path - Это каталог, который активен.

У меня Root = rfDesktop всегда.
Меняется только Path.

Dimka Maslov
Это очень близко к тому, что я хочу.
Спасибо.
Буду использовать эту функцию и если оказывается Рабочим столом, то просто не буду задавать значение Path.


 
Медвежонок Пятачок ©   (2012-05-11 14:13) [6]

ну пипец.

и если оказывается Рабочим столом, то просто не буду задавать значение Path.


если в ини записана строка равная полученному при старте пути к столу, зен рут = rfDesktop


 
igorium ©   (2012-05-11 14:19) [7]

Медвежонок Пятачок

Зачем мне задавать рут, если он и так = rfDesktop.
Рут НЕ меняется.
У меня дерево всегда рисуется от рабочего стола.
Но активная папка может быть любой.
Сейчас у меня так, что если я сохраняю Путь в ини-файл, то при открытии ини-файла и обратном изменении Путь = значение из ини-файла в случае, если указан рабочий стол, то у меня активная папка становиться НЕ "Рабочий стол" (root) (по сути виртуальная папка), а вполне себе физическая папка, расположенная по адресу С:\Documents and Settings\1234\Рабочий стол\.
С учетом того, что root у меня по прежнему равен Рабочему столу, то выглядит это странно - Рабочий стол в Рут и еще один рабочий стол, который активен.


 
Медвежонок Пятачок ©   (2012-05-11 14:27) [8]

Рут НЕ меняется.

а у меня он меняется?


 
igorium ©   (2012-05-11 15:01) [9]

А зачем тогда
зен рут = rfDesktop


 
Медвежонок Пятачок ©   (2012-05-11 15:11) [10]

пипец два раза.
просто потому чтобы перед элс было что-то.

сохраненный путь равен текущему пути до стола?
да! - нихрена не делаем.

нет? - делаем то что делал раньше


 
igorium ©   (2012-05-12 13:22) [11]

Медвежонок Пятачок
Согласен.
Так я ж так и писал:

> Буду использовать эту функцию и если оказывается Рабочим
> столом, то просто не буду задавать значение Path.


В любом случае меняется ТОЛЬКО Path. Root всегда остается прежнем и не меняется в программе.

В любом случае, спасибо за долготерпение и желание помочь.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.065 c
2-1334127903
Gimbomba
2012-04-11 11:05
2013.03.22
Проблема с bde table в Embarcadero Delhpi XE2


15-1350066609
Лёха
2012-10-12 22:30
2013.03.22
Помогите люди добрые


2-1341560100
Просто ФАН
2012-07-06 11:35
2013.03.22
ошибка при копирование файла


15-1338220756
brother
2012-05-28 19:59
2013.03.22
Как Вы прочитали это: CoCu ?


15-1339143768
Scott Storch
2012-06-08 12:22
2013.03.22
знатокам английского





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский