Главная страница
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.012 c
14-95026
ChikaVladimir
2003-05-12 14:55
2003.05.29
Win API


14-95087
race1
2003-05-10 14:26
2003.05.29
Cinema 4D


1-94837
PAI
2003-05-19 18:53
2003.05.29
Как создать потомка VCL-класса?


1-94917
Navi
2003-05-11 19:20
2003.05.29
Поиск и замена в StringGrid


1-94909
prof
2003-05-17 11:54
2003.05.29
копирование файлов