![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Аналог TOpenDialog [D5, MSSQL]
MakNik © (2003-09-24 15:24:00)
Подскажите, пожалуйста, как вызывать стандартный диалог для выбора компъютера в сети (Аналог TOpenDialog)??? И есть ли возможность сделать такой диалог (или комбобокс), который выдавал бы список всех SQL серверов в сети???
MsGuns (2003-09-29 13:37:00) [1]
uses FileCtrl
SelectDirectory
me (2003-09-29 12:54:00) [2]
Цитата из MSDN:
Windows 95/98/Me: SHBrowseForFolder is supported by the Microsoft Layer for Unicode. To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.
Похоже для программ, написанных на Delphi, это не просто сделать.
MakNik (2003-09-29 10:14:00) [3]
А как этот код заставить работать под win 98???
me (2003-09-24 21:50:00) [4]
uses
ShlObj, Variants, ActiveX;
function SelectDirectory(const Caption: string; out Computer: string) : Boolean;
var
WindowList : Pointer;
BrowseInfo : TBrowseInfo;
Buffer : PChar;
RootItemIDList,
ItemIDList : PItemIDList;
ShellMalloc : IMalloc;
IDesktopFolder : IShellFolder;
Eaten, Flags : LongWord;
begin
Result := False;
Computer := EmptyStr;
FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
if (ShGetMalloc(ShellMalloc) = S_OK) and (ShellMalloc <> nil) then
begin
Buffer := ShellMalloc.Alloc(MAX_PATH);
try
RootItemIDList := nil;
SHGetSpecialFolderLocation(0, CSIDL_NETWORK, RootItemIDList);
with BrowseInfo do
begin
hwndOwner := Application.Handle;
pidlRoot := RootItemIDList;
lpszTitle := PChar(Caption);
ulFlags := BIF_BROWSEFORCOMPUTER;
pszDisplayName := Buffer;
end;
WindowList := DisableTaskWindows(0);
try
ItemIDList := ShBrowseForFolder(BrowseInfo);
finally
EnableTaskWindows(WindowList);
end;
Result := ItemIDList <> nil;
if Result then
begin
ShellMalloc.Free(ItemIDList);
Computer := Buffer;
end;
finally
ShellMalloc.Free(Buffer);
end;
end;
end;
Stas (2003-09-24 15:55:00) [5]
в D6 есть компоненты...
MakNik (2003-09-24 15:54:00) [6]
А примерчик можно???
Alex_Raider (2003-09-24 15:50:00) [7]
Это функции Shell Api