Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.04.2012, 13:04
Ankor Ankor вне форума
Новичок
 
Регистрация: 19.08.2011
Сообщения: 68
Версия Delphi: XE2, XE3
Репутация: 10
По умолчанию Открыть папку из каталога в OpenDialog

Всем привет.

Подскажите пожалуйста, как сделать, чтобы при вызове OpenDialog1,
открывалась указанная папка, которая лежит в каталоге программы?

Что ни делаю, а открывается всё время старое, запомнившееся окно.
Ответить с цитированием
  #2  
Старый 27.04.2012, 13:18
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
  OpenDialog1.InitialDir:='c:\Program Files\Borland\Delphi7\Demos';
  if OpenDialog1.Execute then
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 27.04.2012, 13:31
Ankor Ankor вне форума
Новичок
 
Регистрация: 19.08.2011
Сообщения: 68
Версия Delphi: XE2, XE3
Репутация: 10
Печаль

Цитата:
Сообщение от NumLock
Код:
  OpenDialog1.InitialDir:='c:\Program Files\Borland\Delphi7\Demos';
  if OpenDialog1.Execute then


Может я не так делаю?

Код:
 OpenDialog1.InitialDir:='Images';
  if OpenDialog1.Execute then 

Папка Images у меня лежит вместе с программой.
При вызове OpenDialog открывается старое окно, всегда одно и тоже, может предыдущее открывание как-то стирать надо
Ответить с цитированием
  #4  
Старый 27.04.2012, 13:37
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

укажи полный путь
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 27.04.2012, 13:40
Ankor Ankor вне форума
Новичок
 
Регистрация: 19.08.2011
Сообщения: 68
Версия Delphi: XE2, XE3
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
укажи полный путь

Надо, чтобы из каталога программы открывала.
Если её на другом компе откроют например, там путь и другой может быть.

Смысл в том, чтобы OpenDialog1 всегда открывался в папке, лежащей в каталоге с программой.

Последний раз редактировалось Ankor, 27.04.2012 в 13:49.
Ответить с цитированием
  #6  
Старый 27.04.2012, 14:02
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

OpenDialog1.InitialDir:=ExtractFilePath(Applicatio n.ExeName) + '\Images';
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение:
Ankor (27.04.2012)
  #7  
Старый 27.04.2012, 14:03
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

укажи полный путь каталога из которого запущена программа с конкатенацией дочернего каталога
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #8  
Старый 27.04.2012, 14:35
Ankor Ankor вне форума
Новичок
 
Регистрация: 19.08.2011
Сообщения: 68
Версия Delphi: XE2, XE3
Репутация: 10
По умолчанию

В общем, как открывала последний диалог, так и открывает.
Папку, лежащую в каталоге с программой, задать не могу, чтобы она по умолчанию в OpenDialog открывалась.

Предыдущая открытая папка наверно как-то запоминается, она всё время везде и открывается, даже в новых созданных приложениях.
Вопрос остаётся открытым.

Последний раз редактировалось Ankor, 27.04.2012 в 14:58.
Ответить с цитированием
  #9  
Старый 27.04.2012, 15:03
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

запусти http://zalil.ru/33145277
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #10  
Старый 27.04.2012, 15:14
Ankor Ankor вне форума
Новичок
 
Регистрация: 19.08.2011
Сообщения: 68
Версия Delphi: XE2, XE3
Репутация: 10
По умолчанию

Запустил, открывается папка 'закрытая школа'.(исходника нет))

Вот мне надо, чтобы открывалась моя папка, вложенная в каталог программы, в ней содержатся ещё много папок, в которых Image и txt файлы, под одним именем.
Потом при выборе одной из вложенных папок, должны автоматом открыться Image и txt файл, лежащих в последней выбранной папке.

Последний раз редактировалось Ankor, 27.04.2012 в 15:17.
Ответить с цитированием
  #11  
Старый 27.04.2012, 15:23
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Ankor
открывается папка 'закрытая школа'
ну т.е. работает все-таки))) исходник:
Код:
type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  ForceDirectories('c:\сериалы\закрытая школа\');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenDialog1.InitialDir:='c:\сериалы\закрытая школа\';
  if OpenDialog1.Execute then Sleep(0);
end;
кста, папку "c:\сериалы" у себя удали
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Ankor (27.04.2012)
  #12  
Старый 27.04.2012, 15:34
Ankor Ankor вне форума
Новичок
 
Регистрация: 19.08.2011
Сообщения: 68
Версия Delphi: XE2, XE3
Репутация: 10
По умолчанию

Спасибо, я так понял, что путь надо задавать, начиная с диска(у Вас с С).
Вложенную в программу папку получается открывать напрямую нельзя.
А если на другом компе открывать,если диск будет не C а D, или ещё какой, тогда как быть?
Ответить с цитированием
  #13  
Старый 27.04.2012, 15:41
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от NumLock
укажи полный путь каталога из которого запущена программа с конкатенацией дочернего каталога
т.е. :
Код:
  OpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName)+'Bpl';
  if OpenDialog1.Execute then
красным замени на свое!
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Ankor (27.04.2012)
  #14  
Старый 27.04.2012, 16:30
Ankor Ankor вне форума
Новичок
 
Регистрация: 19.08.2011
Сообщения: 68
Версия Delphi: XE2, XE3
Репутация: 10
По умолчанию

Всем большое спасибо, вроде заработало.
Будут ещё у меня вопросы, например событие по клику на папку, открытую в OpenDialog, или на её открытие, чтобы по клику на эту папку, сразу загружались файлы, лежащие в ней.
Ответить с цитированием
  #15  
Старый 27.04.2012, 16:48
PS11011010 PS11011010 вне форума
Новичок
 
Регистрация: 30.03.2012
Сообщения: 98
Репутация: 282
По умолчанию

Странно, а почему про getcurrentdir; никто не вспомнил?
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:29.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025