Соседи заметили, что Насреддин повадился каждую неделю посещать новую мечеть, а мечетей в городе было много.
- Неужели уважаемый полагает, что молитва доходит до Аллаха из разных мест по-разному? - спросили его.
- Конечно нет, - ответил мудрый Хаджа, - просто захотелось составить рейтинг провайдеров.
Данный код показывает как создавать кнопку 'Сеть', вызывающую
диалог подключения сетевого диска и указывающего логический диск для
подключаемого сетевого ресурса. Этот код создавался на 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 thenbegin// Обновляем список дисков
DriveBox.TextCase := tcLowerCase;
for i := 0 to DriveBox.Items.Count - 1 dobegin// Ищем свободный логический дискif Olddrives.IndexOf(Drivebox.Items[i]) = -1 thenbegin// Показываем первый найденный логический диск
DriveBox.ItemIndex := i;
// Каскадируем обновление на список подключенных каталогов и др.
DriveBox.Drive := DriveBox.Text[1];
end;
end;
DriveBox.SetFocus;
end;
OldDrives.Free;
end;
Ну и не забудьте также добавить WinProcs и WinTypes в список используемых
модулей.
Самое большое неудобство заключается в том, что у DriveComboBox отсутствует
функция обновления. Меняя значение свойства TextCase, мы заставляем компонент
обновляться.
В статье описано создание кнопки 'Сеть' в приложении на Delphi, которая вызывает диалог подключения сетевого диска и указывает логический диск для подключаемого сетевого ресурса.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS