Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

Возникла проблема, что не задаётся нужный каталог. Открывается последний ранее открытый каталог. А на переменную KatalogOrg программа не реагирует. Подскажите, что можно сделать?
Код:

 F_Np_New.OD_Impot.InitialDir :=KatalogOrg;
 if F_Np_New.OD_Impot.Execute then
 begin
...

Антон Иванчин вне форума   Ответить с цитированием
Старый 04.10.2016, 16:26   #2
NetSpace
Профессионал
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Адрес: п.Путеец, Печорский р-н
Сообщений: 1,374
Репутация: 536
По умолчанию

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

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

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

F_Np_New.OD_Impot.OpenDialog.FileName:='';

после присвоения
Код:

F_Np_New.OD_Impot.InitialDir :=KatalogOrg;

...

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

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

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

icq: 512-765
skype: alexp.frl
По умолчанию

Во многих случаях и / работает в винде.
Alex11223 на форуме   Ответить с цитированием
Старый 05.11.2018, 13:25   #8
Владимир1945
Новичок
 
Регистрация: 05.11.2018
Сообщений: 1
Репутация: 10
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неблокирующий сокет Си проблема с закрытием, проблема с закрытием сокетов в цикле 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 23:23
Запрет на удаление из TOpenDialog. m007kuzya Компоненты Delphi 2 19.02.2010 13:14


00:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru