unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TNetResourceArray=^TNetResource; TForm1 = class Button1: TButton; TreeView1: TTreeView; procedure Button1Click ; private function GetUsers :Boolean; public procedure MakeComputersTree ; end; var Form1: TForm1; ServerList : TStringList; compList : TStringList; implementation function GetServerList : Boolean; var NetResource : TNetResource; Buf : Pointer; Count, BufSize, Res : DWORD; lphEnum : THandle; p : TNetResourceArray; i, j : Smallint; NetworkTypeList : Tlist; begin Result:=false; NetworkTypelist := Tlist. Create; List. Clear; Res := WNetOpenEnum ; if Res <> NO_ERROR then Exit; Count := $FFFFFFFF; BufSize := 8192; GetMem ; Res := WNETEnumResource(lphEnum, Count, Pointer , Bufsize); if or then Exit; p := TNetResourceArray ; for i:=0 to Count-1 do begin NetworkTypeList. Add ; Inc ; end; Res := WNetCloseEnum ; if Res <> NO_ERROR then exit; for j:=0 to NetWorkTypeList. Count-1 do begin NetResource := TnetResource ; Res := WNetOpenEnum ; if Res <> NO_ERROR then break; while True do begin count:=$FFFFFFFF; BufSize:=8192; GetMem ; Res := WNetEnumResource(lphEnum, Count, Pointer , Bufsize); if or then break; p := TNetResourceArray ; for i:=0 to Count-1 do begin List. Add(StrPas ; Inc ; end; end; Res := WNetCloseEnum ; if Res<>NO_ERROR then break; end; Result := True; FreeMem ; NetworkTypeList. Destroy; end; function TForm1. GetUsers :Boolean; var NetResource : TNetResource; Buf : Pointer; Count, BufSize, Res : DWord; Ind : Integer; lphEnum : THandle; Temp : TNetResourceArray; begin Result := False; List. Clear; FillChar(NetResource, SizeOf , 0); NetResource. lpRemoteName := @GroupName ; NetResource. dwDisplayType := RESOURCEDISPLAYTYPE_SERVER; NetResource. dwUsage := RESOURCEUSAGE_CONTAINER; NetResource. dwScope := RESOURCETYPE_DISK; Res := WNetOpenEnum ; If Res <> NO_ERROR Then Exit; while True Do begin Count := $FFFFFFFF; BufSize := 8192; GetMem ; Res := WNetEnumResource(lphEnum, Count, Pointer , BufSize); if Res = ERROR_NO_MORE_ITEMS Then break; if then Exit; Temp := TNetResourceArray ; for Ind := 0 to Count - 1 do begin List. Add ; Inc ; end; end; Res := WNetCloseEnum ; if Res <> NO_ERROR Then exit; Result:=True; FreeMem ; end; procedure TForm1. Button1Click ; begin ServerList := TStringlist. Create; if GetServerList then MakeComputersTree else ShowMessage ; end; procedure TForm1. MakeComputersTree ; var i, j : Integer; treeNode : TTreeNode; compName : string; begin for i:=0 to ServerList. Count-1 do begin treeNode := TreeView1. TopItem; TreeView1. Items. AddFirst ; try compList := TStringList. Create; if GetUsers then if compList. Count <> 0 then for j:=0 to compList. Count-1 do begin compName := compList. Strings ; Delete(compName, 1, 2); TreeView1. Items. AddChild(TreeView1. TopItem, compName); end; TreeView1. FullExpand; finally compList. Free; end; end; ServerList. Free; end; end. bir adet boş form açın. daha sonra bu komudları olduğu gibi yapıştırın. bir adet de treeview eklemeyi unutmayın.

dostum bunlar delphi programlama dili ile yazılmış kodlar. eğer delphi programını açarda daha sonra yeni bir proje oluşturup bu kodları ekleyip birde treeview eklersen. ağ üzerindeki bilgisayarları gösteren bir program yapmış oluyorsun. budur.

Logic; sen bir dahaki kod ekleyişinde üste bi açıklama da koy. eklediğin bütün kod örneklerine istisnasız aynı tepki gelmiş. bu ne ya...

arkadaşım burası delphi bölümü bu bir delphinin d sinden anlamayn bir kişiye burada açıklamada koysam halayda çeksem bu komutları anlatamam buda 2 ama bundan sonra dediğini dikkate alırım buda 3. teşekkürler.

bu ne ya bi sürü ingilizce yazı bişi anlamadım valla bunlarla ne yapıcaz bilen varmı