Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: CL | DM;

Вниз

saveDialog OpenDialog   Найти похожие ветки 

 
appendix ©   (2004-09-18 19:41) [0]

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

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".


 
GuAV ©   (2004-09-18 21:58) [1]

FileName:="" ?


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

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


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

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

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


 
appendix ©   (2004-09-19 13:36) [4]

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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
14-1095008063
jack128
2004-09-12 20:54
2004.10.03
Б-деревья


1-1095261340
dimon_programmer
2004-09-15 19:15
2004.10.03
ProgressBar подвисает во время вычислений


1-1095523707
Hensin
2004-09-18 20:08
2004.10.03
Прилипание формы к краям экрана


6-1090803627
RaPToR_1
2004-07-26 05:00
2004.10.03
многопоточность twebbrowsera


4-1093114982
Thinker
2004-08-21 23:03
2004.10.03
Какая функция возвращает количество свободной оперативной памяти