Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

magnum / proga / Unit4

.pas
Скачиваний:
11
Добавлен:
16.04.2013
Размер:
3.31 Кб
Скачать
unit Unit4;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, WinSock,
StdCtrls, ComCtrls, ImgList;

type
TForm4 = class(TForm)
ListBox1: TListBox;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
L : TList;
end;

type
Buffer = array[0..1023] of Byte;

var
Form4: TForm4;
CurrentPath : string;
implementation

uses Unit2;

{$R *.DFM}

procedure TForm4.Button1Click(Sender: TObject);
var Q, BufferSize : DWord;
R : THandle;
Buf : ^Buffer;
P : Pointer;
NR : ^NETRESOURCE;
begin
ListBox1.Clear;
if WNetOpenEnumA( RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, nil, R ) = NO_ERROR then
begin
BufferSize := 0;
Q := $FFFFFFFF;
if WNetEnumResourceA( R, Q, Buf, BufferSize ) <> NO_ERROR then
begin
Q:=1;
New( Buf );
while WNetEnumResourceA( R, Q, Buf, BufferSize ) = NO_ERROR do
begin
begin
P := Buf;
NR := P;
ListBox1.Items.Add( NR^.lpProvider );
L.Add( Buf );
end;
Q := $FFFFFFFF;
New( Buf );
end;
Dispose( Buf );
end;
WNetCloseEnum( R );
end;
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
ListBox1.Clear;
L := TList.Create;
end;

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
var I : Integer;
begin
for I := 0 to L.Count - 1 do
begin
Dispose( L.Items[ I ] );
end;
L.Free;
end;

procedure TForm4.Button2Click(Sender: TObject);
var
s:string;
begin
if ListBox1.ItemIndex<>-1 then
begin
s:=ListBox1.Items[ListBox1.ItemIndex];
if s[1]='\' then Delete (s, 1, 2);
Form2.Edit1.Text:=s;
ModalResult:=mrOK;
end;
end;

procedure TForm4.ListBox1DblClick(Sender: TObject);
var Q, BufferSize : DWord;
R : THandle;
Buf : ^Buffer;
P : Pointer;
NR : ^NETRESOURCE;
NREsource : NETRESOURCE;
I : Integer;
Err : Integer;
Path : string;
Sr : TSearchRec;
begin

NR := L.Items[ ListBox1.ItemIndex ];
Move (NR^, NResource, SizeOf( NETRESOURCE ));
ListBox1.Clear;

Path := NResource.lpRemoteName;

Err := WNetOpenEnumA( RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, @NResource, R );

for I := 0 to L.Count -1 do
begin
Dispose( L.Items[ I ]);
end;
L.Clear;

if Err = NO_ERROR then
begin
BufferSize := 1024;
q:=1;
New( Buf );
while WNetEnumResourceA( R, Q, Buf, BufferSize ) = NO_ERROR do
begin
begin
P := Buf;
NR := P;
ListBox1.Items.Add( NR^.lpRemoteName );
L.Add( Buf );
end;
New( Buf );
end;
Dispose( Buf );
end;
WNetCloseEnum( R );
end;

end.
Соседние файлы в папке proga
  • #
    16.04.20133.24 Кб11Unit3.dcu
  • #
    16.04.20131.21 Кб12Unit3.dfm
  • #
    16.04.2013437 б11Unit3.pas
  • #
    16.04.20136.18 Кб11Unit4.dcu
  • #
    16.04.2013906 б11Unit4.dfm
  • #
    16.04.20133.31 Кб11Unit4.pas
  • #
    16.04.20133.09 Кб11Unit5.dcu
  • #
    16.04.2013575 б11Unit5.dfm
  • #
    16.04.2013352 б11Unit5.pas
  • #
    16.04.20133.07 Кб12Unit6.dcu
  • #
    16.04.2013664 б11Unit6.dfm