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

Вниз

Как вызвать стандартный диалог выбора папки   Найти похожие ветки 

 
Vulko ©   (2003-05-17 22:44) [0]

Как вызвать стандартный диалог выбора папки - Open Directory.


 
Юрий Зотов ©   (2003-05-17 22:49) [1]

SelectDirectory
SHBrowseForFolder


 
_Narayan_   (2003-05-17 22:49) [2]

function nAnKA: String;
var mDir: String;
begin
If SelectDirectory("Укажите папку","",mDir) Then Result:=mDir+"\";
end;


 
Anatolyk ©   (2003-05-17 22:53) [3]

> Result:=mDir+"\";
Лучше всегда использовать IncludeTrailingPathDelimiter, т.к. разные ос работают с путями по-разному. Может оказаться, что в пути окажется два "\" на конце.


 
lipskiy ©   (2003-05-18 01:27) [4]

Если установлен RX, то BrowseDirectory.


 
Vulko ©   (2003-05-18 10:55) [5]

2lipskiy
Что за RX?

А Select Directiry я юзаю сейчас (аля win3.1 форева :( ), но мне нужно другое.

SHBrowseForFolder - как её юзать - у меня нет её в хелпе.


 
Юрий Зотов ©   (2003-05-18 11:16) [6]

1. RxLib - мощная и широко распространненная библиотека компонентов.
2. SelectDirectiry - можно вызвать и в стиле Win32. См. Help.
3. SHBrowseForFolder - справка по WinAPI.


 
dtrn   (2003-05-18 11:47) [7]

function myBrowseFolder:string;
var
SelectionPIDL: PItemIDList;
BrowseInfo: TBrowseInfo;
ShellAllocator: IMalloc;
PathBuffer: array[0..MAX_PATH] of Char;
begin
// simplest implementation of BrowseForFolder
// to get more information refer to MSDN Library
// or Check Brad Stower"s excellent site
// www.delphifreestuff.com
ZeroMemory(@BrowseInfo, SizeOf(BrowseInfo));
BrowseInfo.hwndOwner := Application.Handle;
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
CoInitialize(nil);
try
SelectionPIDL := ShBrowseForFolder(BrowseInfo);
if SelectionPIDL <> nil then
try
ZeroMemory(@PathBuffer, SizeOf(PathBuffer));
if not SHGetPathFromIDList(SelectionPIDL, @PathBuffer) then
begin
beep;
exit;
end;
Result:=StrPas(@PathBuffer[0]);
finally
if SHGetMalloc(ShellAllocator) = 0 then
begin
ShellAllocator.Free(SelectionPIDL);
ShellAllocator := nil;
end;
end;
finally
CoUnInitialize;
end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
4-95163
mazepa
2003-04-02 14:51
2003.05.29
readfile


14-95022
vajo
2003-05-13 15:16
2003.05.29
Улучшение зрения. (эта ветка уже была)


3-94767
Cranium
2003-05-08 18:10
2003.05.29
TIMESTAMP в Yaffil


14-95081
Дмитрий К.К.
2003-05-10 13:39
2003.05.29
Именинники 10 мая


3-94682
lightix
2003-05-07 10:03
2003.05.29
Сделать в Query неБазовое поле