Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

Копирование файла из сети   Найти похожие ветки 

 
Helen   (2006-10-18 09:43) [0]

Доброго дня. Подскажите, пожалуйста, как проверить доступность расшаренного ресурса и скачать оттуда файл, не подключая шару как сетевой диск, т.е. не использую функцию WNetAddConnection2().


 
Сергей М. ©   (2006-10-18 09:46) [1]

См. CreateFile+ReadFile+WriteFile, CopyFile


 
Helen   (2006-10-18 09:59) [2]

А как быть с доступностью. Да, ресурс расшарен не для всех пользователей, т.е. идти к нему надо с определенным логином и паролем


 
Сергей М. ©   (2006-10-18 10:07) [3]


> как быть с доступностью


Ф-ции CreateFile и CopyFile вернут соотв.код отказа, если ресурс по тем или иным причинам не доступен


 
Helen   (2006-10-18 10:24) [4]

А полробнее про коды не расскажите?


 
Сергей М. ©   (2006-10-18 10:34) [5]

Код отказа легко выяснить, попытавшись подключиться к заведомо недоступному ресурсу

if not CopyFile(...) then
 Showmessage("Код причины отказа: " + IntToStr(GetLastError) + ", причина отказа: " + SysErrorMessage(GetLastError));

или

var
hFile: THandle;
..

hFile := CreateFile(...);
if hFile = 0 then
 Showmessage("Код причины отказа: " + IntToStr(GetLastError) + ", причина отказа: " + SysErrorMessage(GetLastError));


 
Helen   (2006-10-18 10:47) [6]

а как подключиться с определенным логином и паролем?


 
Сергей М. ©   (2006-10-18 10:50) [7]

А чем, собссно, WNetAddConnection2 не угодила ?


 
Helen   (2006-10-18 10:52) [8]

кажется, что много времени уходит на подключение.


 
Сергей М. ©   (2006-10-18 10:57) [9]

значит, что-то не в порядке с сетевыми настройками


 
Helen   (2006-10-18 11:00) [10]

Вы имеете в виду
NetResource.dwType:= RESOURCETYPE_DISK;
       NetResource.lpLocalName:= nil;
       NetResource.lpRemoteName:= Pchar("IPStation");
       NetResource.lpProvider   := "";


 
Сергей М. ©   (2006-10-18 11:21) [11]

Нет, я имею ввиду сетевые настройки ОС


 
Чапаев ©   (2006-10-18 19:22) [12]

> Showmessage("Код причины отказа: " + IntToStr(GetLastError)
> + ", причина отказа: " + SysErrorMessage(GetLastError))
> ;

А разве первый вызов GetLastError() не обнулит внутреннюю переменную, хранящую код ошибки?


> NetResource.lpRemoteName:= Pchar("IPStation");

Думаю, будет быстрей, если задать IP-адрес.


 
Сергей М. ©   (2006-10-19 08:08) [13]


> Чапаев ©   (18.10.06 19:22) [12]


> разве первый вызов GetLastError() не обнулит внутреннюю
> переменную, хранящую код ошибки?


С какого перепугу ?


 
Ketmar ©   (2006-10-19 08:15) [14]

>[12] Чапаев(c) 18-Oct-2006, 19:22
>А разве первый вызов GetLastError() не обнулит внутреннюю
>переменную, хранящую код ошибки?
хм. я тоже так считал. перечитал справку: нет упоминаний о таком. предупреждают только, чтобы вызывали до других функций из системных DLL. и всё.


 
Чапаев ©   (2006-10-19 09:39) [15]

> С какого перепугу ?
Издержки паскалевского опыта с его IOResult и GraphResult... ;-)



Страницы: 1 вся ветка

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
15-1173225780
Ksander
2007-03-07 03:03
2007.04.01
JSP&mysql


3-1168586579
zdm
2007-01-12 10:22
2007.04.01
IBExpert выдал сообщение


8-1154211426
DLag
2006-07-30 02:17
2007.04.01
Пример использования DirectDraw


15-1173292798
Ne-Ld
2007-03-07 21:39
2007.04.01
расскажите как работает Adsence часть которая ссылки доставляет


15-1173064444
Slider007
2007-03-05 06:14
2007.04.01
С днем рождения ! 3 марта