Форум: "Основная";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c