Главная страница
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.025 c
14-95045
Scorpx
2003-05-09 08:31
2003.05.29
И вновь взломали сайт!


7-95144
Борис_Ш
2003-03-31 18:46
2003.05.29
Как отследить количество свобдной памяти?


4-95160
Tropin
2003-04-02 14:20
2003.05.29
Блокировка ввода символов


1-94918
Артем К.
2003-05-17 15:30
2003.05.29
Как сделать индикатор выбранной строки для StringGrida


14-95058
Ancara
2003-05-08 12:34
2003.05.29
SendMessage - не совсем понятен