Delphi

Xakep, номер #043, стр. 043-064-3


Дополнительную инфу, как всегда, можно найти на моем сайте www.cydsoft.com/vr-online. Там же можно найти и исходники этой проги после выхода журнала в свет или можешь поискать на диске к этому номеру Х.

P.S. У меня к тебе просьба, на сто баксов :). Не пиши мне большие письма. После появления рубрики "Кодинг" меня каждый день валят вопросами. Я не в состоянии всем рассказывать то, о чем пишут книги. Я могу что-то подсказать, где-то помочь, но не больше. А просьбы типа помоги написать прогу - вообще нереальны. Я отвечаю только на те вопросы, где ответ займет несколько строчек. Целые лекции по мылу я разводить не могу. Я бы с удовольствием помог всем, но это НЕВОЗМОЖНО. Вас слишком много, а я один :(((. Поэтому лучше разбей свой вопрос на несколько маленьких и спрашивай постепенно, а не все сразу.

Листинг 1

procedure TForm1.Button1Click(Sender: TObject);

var

hNetEnum: THandle;

NetContainerToOpen: NETRESOURCE;

ResourceBuffer: array[1..2000] of TNetResource;

i,ResourceBuf,EntriesToGet: DWORD;

begin

NetContainerToOpen.dwScope:=RESOURCE_GLOBALNET;

NetContainerToOpen.dwType:=RESOURCETYPE_ANY;

NetContainerToOpen.lpLocalName:=nil;

NetContainerToOpen.lpRemoteName:= PChar('\\'+AddressEdit.Text);

NetContainerToOpen.lpProvider:= nil;

WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, RESOURCEUSAGE_CONNECTABLE or RESOURCEUSAGE_CONTAINER,

@NetContainerToOpen, hNetEnum);

while TRUE do

begin

ResourceBuf := sizeof(ResourceBuffer);

EntriesToGet := 2000;

if (NO_ERROR <> WNetEnumResource(hNetEnum, EntriesToGet,

@ResourceBuffer, ResourceBuf)) then

begin

WNetCloseEnum(hNetEnum);

exit;

end;

for i := 1 to EntriesToGet do

Memo1.Lines.Add(string(ResourceBuffer[i].lpRemoteName));

end;

end;

Назад на стр. 043-064-2  Содержание