Форум: "Основная";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
ВнизOpenDialog Найти похожие ветки
← →
Shumov D. (2003-03-28 17:16) [0]У компонента OpenDialog усть propertie: InitialDir, тоесть чтобы при открытии диалог открывался в заранее определенной директории. У меня вопрос: а если мне полный путь дирректории не известен известна только конечная папка например skins что тогда надо написать InitialDir. Поясню на примере есть программа она находится в папке "1" у нее есть подпапка "2" в программе надо выбирать файл из папки "2", но при этом не известно где пользаватель разместит программу, т.е. надо чтобы полюбому OpenDialog открывался в папке "2" не зависимо от того где расположена программа.
← →
Skier (2003-03-28 17:17) [1]TApplication.ExeName ?
← →
QUE (2003-03-28 17:17) [2]
ExtractFilePAth(Application.Exename)+"2/filename.ext"
← →
Shumov D. (2003-03-28 17:23) [3]нет, немного не то. Приведу обработчик как у меня есть сейчас:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
edPath.Text := OpenDialog1.FileName;
SkinData1.SkinFile:= edPath.Text;
end;
end;
файл всегда разный, и от этого зависит поведение программы
← →
Anatoly Podgoretsky (2003-03-28 17:23) [4]QUE © (28.03.03 17:17)
Это же не Линукс
← →
Anatoly Podgoretsky (2003-03-28 17:25) [5]OpenDialog.InitialDir := ExtractFilePath(Application.Exename)+"2";
← →
Shumov D. (2003-03-28 17:26) [6]Пробовал как в html указывать InitialDir как ./2, ошибку при компиляции не выдает, но и не делает то, что нужно
← →
Shumov D. (2003-03-28 17:29) [7]
> Anatoly Podgoretsky © (28.03.03 17:25)
> OpenDialog.InitialDir := ExtractFilePath(Application.Exename)+"2";
нет, не получается, не открывает он нужную директорию
← →
Palladin (2003-03-28 17:32) [8]OpenDialog.InitialDir:=ExtractFilePath(ParamStr(0))+"1\2";
← →
NickBat (2003-03-28 17:32) [9]Нет под рукой Делфи, но кажется забыли слеш поставить
ExtractFilePath(Application.Exename)+"2";
ExtractFilePath(Application.Exename)+"\2";
← →
Anatoly Podgoretsky (2003-03-28 17:33) [10]Приводи код, должно работать и вставь тестовую строку перед вызовом ShowMessage(OpenDialog.InitialDir), скажешь что покажет и соответстувует ли твоим ожиданиям.
← →
Anatoly Podgoretsky (2003-03-28 17:35) [11]Palladin © (28.03.03 17:32)
Получится "d:\1\1\2";
NickBat © (28.03.03 17:32)
Получится "d:\1\\2";
← →
Shumov D. (2003-03-28 17:40) [12]
> Anatoly Podgoretsky © (28.03.03 17:33)
> Приводи код, должно работать и вставь тестовую строку перед
> вызовом ShowMessage(OpenDialog.InitialDir), скажешь что
> покажет и соответстувует ли твоим ожиданиям
Вот код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
OpenDialog1.InitialDir := ExtractFilePath(Application.Exename)+"skins";
ShowMessage(OpenDialog1.InitialDir);
edPath.Text := OpenDialog1.FileName;
SkinData1.SkinFile:= edPath.Text;
end;
end;
В ShowMessage выводит правильный путь, но диалог открывается совсем не там где нужно.
← →
Shumov D. (2003-03-28 17:44) [13]> Anatoly Podgoretsky © (28.03.03 17:33)
> Приводи код, должно работать и вставь тестовую строку перед
> вызовом ShowMessage(OpenDialog.InitialDir), скажешь что
> покажет и соответстувует ли твоим ожиданиям
Вот код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
OpenDialog1.InitialDir := ExtractFilePath(Application.Exename)+"skins";
ShowMessage(OpenDialog1.InitialDir);
edPath.Text := OpenDialog1.FileName;
SkinData1.SkinFile:= edPath.Text;
end;
end;
В ShowMessage выводит правильный путь, но диалог открывается совсем не там где нужно.
← →
Palladin (2003-03-28 17:47) [14]
> Anatoly Podgoretsky © (28.03.03 17:35)
точно... мне показалось что у него два уровня вложености после папки программы...
> Shumov D. © (28.03.03 17:44)
батенька! не путайтесь в логике исполнения
OpenDialog1.InitialDir := ExtractFilePath(Application.Exename)+"skins";
if OpenDialog1.Execute then
begin
edPath.Text := OpenDialog1.FileName;
SkinData1.SkinFile:= edPath.Text;
end;
← →
Anatoly Podgoretsky (2003-03-28 17:49) [15]Ну и будем тебя допрашивать какой именно путь открывается, какие у тебя установки ссвойств в OpenDialog1?
Во вторых почему ты устанавливаешь нужный тебе путь после, а не до?
← →
Shumov D. (2003-03-28 17:56) [16]To Palladin: спасибо за указание на ошибку.
To ALL: всем спасибо, все получилось как надо
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c