Форум: "Основная";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
ВнизВыбор директории Найти похожие ветки
← →
__Oleg (2003-02-12 14:29) [0]Как вызвать диалог выбора директории?
← →
Anatoly Podgoretsky (2003-02-12 14:33) [1]Перевести на английский и воспользоваться переводом
← →
AlexKr (2003-02-12 14:45) [2]Попробуй SelectDirectory
← →
kkostik (2003-02-12 14:45) [3]SHBrowseForFolder
← →
__Oleg (2003-02-12 14:56) [4]Вызываю из примера:
...
const
SELDIRHELP = 1000;
begin
SelectDirectory("d:\temp", [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP)
...
Выдает ошибку:
There is no overloaded version of SelectDirectory that can be called with these arguments.
← →
blackman (2003-02-12 14:58) [5]>Anatoly Podgoretsky
How to cause dialogue of a choice of a directory?
← →
Андрей Сенченко (2003-02-12 15:02) [6]blackman © (12.02.03 14:58)
Кривой перевод
← →
__Oleg (2003-02-12 15:04) [7]Народ, может все же по существу?
← →
Олег (2003-02-12 15:06) [8]
> __Oleg (12.02.03 14:56)
> Вызываю из примера:
В примере немного по-другому
uses FileCtrl;
const
SELDIRHELP = 1000;
procedure TForm1.Button1Click(Sender: TObject);
var
Dir: string;
begin
Dir := "C:\MYDIR";
if SelectDirectory( Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then
Label1.Caption := Dir;
end;
← →
Cranium (2003-02-12 15:07) [9]Вот я пользую это так....
procedure TFormNTrans.SpeedButton1Click(Sender: TObject);
var
Dir: String;
begin
If SelectDirectory ("Укажите путь к каталогу базы","",Dir) then
begin
Dir:=InputBox("Можете уточнить путь", "База расположена", Dir);
Edit1.Text:=Dir;
end
else
begin
MessageDlg("Вы не указали каталог! "+#13+"Путь к базе не выбран!", mtError,[mbYes],0);
end;
end;
← →
__Oleg (2003-02-12 15:09) [10]> Олег
Sorry, зарапортовался :) Точно, там переменная...
← →
Андрей Сенченко (2003-02-12 15:10) [11]Ну .. в принципе по существу Тебе уже все сазали
var
RootDir : string;
begin
if SelectDirectory("Давай выберем папку !","C:\",RootDir) = true then
// .... и пиши чего хочешь
Флудим ...
← →
__Oleg (2003-02-12 15:12) [12]Ага, а может еще насчет BrowseDirectory расскажете, где ее взять? :)
← →
blackman (2003-02-12 15:39) [13]>Андрей Сенченко
Пардон.
Используйте SelectDirectory() из модуля FileCtrl
Также смотрите компоненты на вкладке Win3.1
или
uses ShlObj;
procedure TForm1.BrowseBtnClick(Sender: TObject);
var
TitleName : string;
lpItemID : PItemIDList;
BI : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
FillChar(BI, SizeOf(TBrowseInfo), #0);
BI.hwndOwner := Handle;
BI.pszDisplayName := @DisplayName;
TitleName := "Select folder";
BI.lpszTitle := PChar(TitleName);
BI.ulFlags := $0040;// or BIF_EDITBOX;
lpItemID := SHBrowseForFolder(BI);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
EditArcDir.Text := Format("%s\", [TempPath]);
GlobalFreePtr(lpItemID);
end;
end;
← →
blackman (2003-02-12 15:46) [14]Вот получилось вроде неплохо:
uses ShellAPI, ShlObj;
procedure TForm1.SelDir(Sender: TObject);
var
TitleName : string;
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Form1.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := "Please specify a directory";
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then
begin
SHGetPathFromIDList(lpItemID, TempPath);
ShowMessage(TempPath);
GlobalFreePtr(lpItemID);
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c