Подключение сетевого диска в Delphi
|
Соседи заметили, что Насреддин повадился каждую неделю посещать новую мечеть, а мечетей в городе было много.
- Неужели уважаемый полагает, что молитва доходит до Аллаха из разных мест по-разному? - спросили его.
- Конечно нет, - ответил мудрый Хаджа, - просто захотелось составить рейтинг провайдеров.
|
Данный код показывает как создавать кнопку 'Сеть', вызывающую
диалог подключения сетевого диска и указывающего логический диск для
подключаемого сетевого ресурса. Этот код создавался на Delphi 2, но и в Delphi 1
данная процедура не сильно отличается от исходной.
Создайте кнопку с именем NetBtn и drive combo box (выпадающий список с
дисками) с именем DriveBox. Затем напишите следующий обработчик события OnClick
кнопки:
procedure TStartForm.NetBtnClick(Sender: TObject);
var
OldDrives: TStringList;
i: Integer;
begin
OldDrives := TStringList.Create;
// Запоминаем список дисков
OldDrives.Assign(Drivebox.Items);
// Показываем диалог подключения
if WNetConnectionDialog(Handle, RESOURCETYPE_DISK) = NO_ERROR then
begin
// Обновляем список дисков
DriveBox.TextCase := tcLowerCase;
for i := 0 to DriveBox.Items.Count - 1 do
begin
// Ищем свободный логический диск
if Olddrives.IndexOf(Drivebox.Items[i]) = -1 then
begin
// Показываем первый найденный логический диск
DriveBox.ItemIndex := i;
// Каскадируем обновление на список подключенных каталогов и др.
DriveBox.Drive := DriveBox.Text[1];
end;
end;
DriveBox.SetFocus;
end;
OldDrives.Free;
end;
|
Ну и не забудьте также добавить WinProcs и WinTypes в список используемых
модулей.
Самое большое неудобство заключается в том, что у DriveComboBox отсутствует
функция обновления. Меняя значение свойства TextCase, мы заставляем компонент
обновляться.
|