Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

saveDialog OpenDialog [D5, Win95/98]


appendix ©   (2004-09-18 19:41:00) 

Есть две аналогичных процедуры для чтения и для записи через диалог.

d:= ExtractFilePath(Application.ExeName);
 SetCurrentDirectory( PChar( d+'Save'));  
 with SaveDialog1 do
 begin
   InitialDir:= d+'Save';
...

d:= ExtractFilePath(Application.ExeName);
 SetCurrentDirectory( PChar( d+'Save'));
 with OpenDialog1 do
 begin
   InitialDir:=d+'Save';
...

Когда открывается SaveDialog, то директория всегда d+'Save' даже если я записывал файл в другой каталог.
А вот OpenDialog почему-то открывает директорию в которой я впоследний раз брал файл для чтения. То есть не обязательно d+'Save'.

Как с этим бороться?
Надо чтоб OpenDialog всегда открывался с директорией d+'Save'.


Германн   (2004-09-20 02:02:00) [1]

Можно выбросить её. Но лучше сначала понять, что есть CurrentDirectory, как ее можно установить, кто и что её устанавливает и как это все отражается на работе стандартных Дельфийских компонент(TSaveDialog, TOpenDialog)!


appendix   (2004-09-19 13:36:00) [2]

Да с FileName:='*.*' работает как надо.

Я почему-то думал, что нужно использовать
SetCurrentDirectory( PChar( d+'Save'));
Или её вообще можно выбросить?


Германн   (2004-09-19 01:36:00) [3]

Поясню ответ GuAV ©   (18.09.04 21:58) [1]

Главным для определения директории является свойство FileName. И если Вы ранее уже "открывали директорию, в которой я в последний раз брал файл для чтения", то естественно программа плюет на InitialDir, поскольку FileName - содержит (по определению) полный  путь к файлу.
Решение простое - перед вызовом OpenDialog.Execute  присваивайте свойству FileName, то что Вам нужно. "*.*" - например.


Гаврила   (2004-09-19 01:23:00) [4]

ТАм есть такой параметр, типа InitialDir


GuAV   (2004-09-18 21:58:00) [5]

FileName:='' ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо