Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > 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,360
Репутация: 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
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,401
Репутация: 3353

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,106
Репутация: 6385
По умолчанию

Чем это каталог 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


01:53.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


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