AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Det ser jo ganske fornuftigt ud, bortset fra at jeg ikke har arbejdet ret meget med TTreeList.
Hvis jeg nu har et netværk der ser sådan her ud:
\\ - Workgroup - \\\\_DJ_ - \\\\_DJ_\\Upload
Hvordan kan jeg så vide at \\\\_DJ_\\Upload hører til under _DJ_ som igen hører til under Workgroup? Er der en eller anden form for GetParentNode eller noget ? :)
begin dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, 0, lpnr, hEnum); if dwResult <> NO_ERROR then begin EnumerateFunc := False; exit; end; cbBuffer := 32768; cEntries := $FFFFFFFF; lpnrLocal := PNetResource(GlobalAlloc(GPTR,cbBuffer)); repeat dwResultEnum := WNetEnumResource(hEnum, cEntries, lpnrLocal, cbBuffer); if dwResultEnum = NO_ERROR then begin for i := 0 to cEntries - 1 do begin p1 := PChar(lpnrLocal) + i * SizeOf(TNetResource); p2 := PNetResource(p1); s := StrPas(p2^.lpRemoteName);
if Length(s) > 2 then if (s[1] = \'\\\') and (s[2] = \'\\\') then begin t := Copy(s, 3, Length(s) - 2); if Pos(\'\\\', t) <> 0 then Items.Add(s); end;
if (p2.dwUsage and RESOURCEUSAGE_CONTAINER) =RESOURCEUSAGE_CONTAINER then if DrillDepth < 3 then EnumerateFunc(p2, Items, DrillDepth + 1); end; end; until dwResultEnum = ERROR_NO_MORE_ITEMS; GlobalFree(HGLOBAL(lpnrLocal)); dwResult := WNetCloseEnum(hEnum);
if dwResult <> NO_ERROR then begin EnumerateFunc := False; exit; end;
EnumerateFunc := True; end; begin EnumerateFunc(nil, Items, 0); end;
procedure TForm1.Button1Click(Sender: TObject); begin EnumRemoteDrives(Memo1.Lines); end;
Det er lidt en \"udvidelse\" eller rettere indskrænkning af ovenstående function :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.