Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  277

•  TDictionary Custom Sort  3 432

•  Fast Watermark Sources  3 178

•  3D Designer  4 938

•  Sik Screen Capture  3 431

•  Patch Maker  3 635

•  Айболит (remote control)  3 836

•  ListBox Drag & Drop  3 099

•  Доска для игры Реверси  82 495

•  Графические эффекты  4 037

•  Рисование по маске  3 333

•  Перетаскивание изображений  2 707

•  Canvas Drawing  2 855

•  Рисование Луны  2 660

•  Поворот изображения  2 272

•  Рисование стержней  2 208

•  Paint on Shape  1 608

•  Генератор кроссвордов  2 289

•  Головоломка Paletto  1 806

•  Теорема Монжа об окружностях  2 303

•  Пазл Numbrix  1 709

•  Заборы и коммивояжеры  2 085

•  Игра HIP  1 304

•  Игра Go (Го)  1 255

•  Симулятор лифта  1 502

•  Программа укладки плитки  1 248

•  Генератор лабиринта  1 574

•  Проверка числового ввода  1 392

•  HEX View  1 524

•  Физический маятник  1 379

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Как подключить и отключить сетевые диски



Звонит один мужик своему интернет-провайдеру и говорит оператору:
- Алло, здраствуйте, у меня проблема! Я не могу зайти в интернет!
- А в чем, собственно говоря, дело?
- А у меня нет компьютера.

Для работы с сетевыми дисководами (и ресурсами типа LPT порта) в WIN API 16 и WIN API 32 следующие функции:

Подключить сетевой ресурс:


WNetAddConnection(NetResourse, Password, LocalName: PChar): longint;

где

  1. NetResourse - имя сетевого ресурса (например '\\P166\c')
  2. Password - пароль на доступ к ресурсу (если нет пароля, то пустая строка)
  3. LocalName - имя, под которым сетевой ресурс будет отображен на данном компьютере (например 'F:')

Пример подключения сетевого диска:


WNetAddConnection('\\P166\C', '', 'F:');

Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее часто используемые:

  • NO_ERROR - Нет ошибок - успешное завершение
  • ERROR_ACCESS_DENIED - Ошибка доступа
  • ERROR_ALREADY_ASSIGNED - Уже подключен. Наиболее часто возникает при повторном вызове данной функции с теми-же параметрами.
  • ERROR_BAD_DEV_TYPE - Неверный тип устройства.
  • ERROR_BAD_DEVICE - Неверное устройство указано в LocalName
  • ERROR_BAD_NET_NAME - Неверный сетевой путь или сетевое имя
  • ERROR_EXTENDED_ERROR - Некоторая ошибка сети (см. функцию WNetGetLastError для подробностей)
  • ERROR_INVALID_PASSWORD - Неверный пароль
  • ERROR_NO_NETWORK - Нет сети

Отключить сетевой ресурс


WNetCancelConnection(LocalName: PChar; ForseMode: Boolean): Longint; 

где

  1. LocalName - имя, под которым сетевой ресурс был подключен к данному компьютеру (например 'F:')
  2. ForseMode - режим отключения :
    • False - корректное отключение. Если отключаемый ресурс еще используется, то отключения не произойдет (например, на сетевом диске открыт файл)
    • True - скоростное некорректное отключение. Если ресурс используется, отключение все равно произойдет и может привести к любым последствиям (от отсутствия ошибок до глухого повисания)

Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее часто используемые:

  • NO_ERROR - Нет ошибок - успешное завершение
  • ERROR_DEVICE_IN_USE - Ресурс используется
  • ERROR_EXTENDED_ERROR - Некоторая ошибка сети (см. функцию WNetGetLastError для подробностей)
  • ERROR_NOT_CONNECTED - Указанное ус-во не является сетевым
  • ERROR_OPEN_FILES - На отключаемом сетевом диске имеются открытые файлы и параметр ForseMode=false

Рекомендация: при отключении следует сначала попробовать отключить ус-во с параметром ForseMode=false и при ошибке типа ERROR_OPEN_FILES выдать запрос с сообщением о том, что ус-во еще используется и предложением отключить принудительно, и при согласии пользователя повторить вызов с ForseMode=true.








Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте