Вниз
Скачать: 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.47 MB
Время: 0.027 c
1-1170435839
Makhanev Alexander
2007-02-02 20:03
2007.04.01
DdeClient и IE


2-1173861867
Нуб
2007-03-14 11:44
2007.04.01
Ручная ли это процедура иль ее создал кто ?


3-1168326050
parasolka
2007-01-09 10:00
2007.04.01
Объединение TQuery


15-1173117673
nobody_1988
2007-03-05 21:01
2007.04.01
Books about win programming


15-1173318547
Cj
2007-03-08 04:49
2007.04.01
Hide Folder XP




   Наверх