Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2016, 15:17   #1
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию Проблема с TOpenDialog

Возникла проблема, что не задаётся нужный каталог. Открывается последний ранее открытый каталог. А на переменную KatalogOrg программа не реагирует. Подскажите, что можно сделать?
Код:
 F_Np_New.OD_Impot.InitialDir :=KatalogOrg;
 if F_Np_New.OD_Impot.Execute then
 begin
...
Антон Иванчин вне форума Ответить с цитированием
Старый 04.10.2016, 15:26   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

ну, либо неправильно прописали значение этой переменной (тогда открывается по умолчанию папка Документы или Мои документы в зависимости от системы)
либо ей вообще нигде ничего не присваивается.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 04.10.2016, 15:40   #3
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
ну, либо неправильно прописали значение этой переменной (тогда открывается по умолчанию папка Документы или Мои документы в зависимости от системы)
либо ей вообще нигде ничего не присваивается.
Проверял много раз - значение переменной правильное. Специально выводил её значение в текстовое поле, а затем данный текст вставлял в адресную строку и нужная папка открывалась.
А открывается не папка "Мои документы", а последняя ранее открытая папка.
Антон Иванчин вне форума Ответить с цитированием
Старый 04.10.2016, 18:59   #4
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Вообще-то тут все очень просто.
Если вы открываете файл в OpenDialog-е, в его свойство FileName заносится полный путь к этому файлу.
И при последующей инициализации OpenDialog-а он "пилюёт" на то, что вы там занесли ему в OpenDialog.InitialDir, и берет каталог из свойства OpenDialog.FileName
Ну просто потому, что ему это свойство теперь задано
То есть надо просто обнулять свойство
Код:
F_Np_New.OD_Impot.OpenDialog.FileName:='';
после присвоения
Код:
F_Np_New.OD_Impot.InitialDir :=KatalogOrg;
...

Последний раз редактировалось Вадим Мошев; 04.10.2016 в 19:41.
kropotkina-alice вне форума Ответить с цитированием
Старый 05.10.2016, 07:44   #5
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию

Благодарю за помощь.
Ещё нашёл одну причину!
Она заключается в направлении слешев "/" и "\". Если где-то программа не делает разницы и нормально реагирует на оба варианта, то в данном случае необходимо писать именно такие - "\"
Антон Иванчин вне форума Ответить с цитированием
Старый 05.10.2016, 11:23   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Так пути в винде всегда через "\" . Где взяли "/"?
FaTaL вне форума Ответить с цитированием
Старый 05.10.2016, 12:43   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Во многих случаях и / работает в винде.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.11.2018, 12:25   #8
Владимир1945
Новичок
Джуниор
 
Регистрация: 05.11.2018
Сообщений: 1
По умолчанию

Успешнее получится если писать :
OpenDialog1.FileName:=ParamStr(0);
Владимир1945 вне форума Ответить с цитированием
Старый 05.11.2018, 12:35   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Чем это каталог exe успешнее каталога мои документы?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неблокирующий сокет Си проблема с закрытием, проблема с закрытием сокетов в цикле mnx_vol C/C++ Сетевое программирование 0 06.11.2012 13:57
Освобождение памяти после запуска TOpenDialog t2skler Общие вопросы Delphi 8 14.09.2011 02:19
Инициализация TOpenDialog FaTaL Общие вопросы Delphi 3 28.05.2011 09:41
использевание TOpenDialog iliili Помощь студентам 2 21.03.2010 22:23
Запрет на удаление из TOpenDialog. m007kuzya Компоненты Delphi 2 19.02.2010 12:14