Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.027 c
2-1173689177
DelphiLexx
2007-03-12 11:46
2007.04.01
Как БД состоящая из DBF файлов показать дублирующиеся строки


15-1173115580
PARUS
2007-03-05 20:26
2007.04.01
Сидюк от компа


15-1173185073
alex_***
2007-03-06 15:44
2007.04.01
Кто-ть делал загрузочный USB flash из .iso?


11-1150389913
DevilDevil
2006-06-15 20:45
2007.04.01
Как настроить подсказки?


2-1173855559
OnRaven
2007-03-14 09:59
2007.04.01
Отключёние ctrl+esc




   Наверх