[delphi] Netwerk browsen!?

Pagina: 1
Acties:

  • bluebit
  • Registratie: Augustus 2001
  • Laatst online: 18-07 21:47

bluebit

Fear the bunny

Topicstarter
tsja, daar zit je dan : je database applicatie is af en (al zeg je het zelf) je bent zeer content met het resultaat.
Alleen, nu ben je bezig met de puntjes op de i te zetten : en ergens moet je even op het netwerk bladeren om het juiste gegevensbestand te vinden (echt een super klein maar ontzettend belangrijk bestandje voor de werking van je programma). Nu denk je natuurlijk dat Delphi wel een voorgebouwd componentje heeft voor het netwerk bladeren, net zoals je je drives en directories kunt benaderen. (tabblad win3.1 --> filelistbox en directorylistbox)
Maar als dat componentje om het netwerk te benaderen al bestaat, ik kan hem niet vinden! Wie kan mij helpen hiermee in delphi 6, of een tip op welke manier het dan wel kan.

thnx a lot!!!

blue

I hope I never get so old I get religious


  • bluebit
  • Registratie: Augustus 2001
  • Laatst online: 18-07 21:47

bluebit

Fear the bunny

Topicstarter
Goddamn, zul je altijd zien.
tien uur nadenken helpt niet, en vervolgens post je het uit pure ellende maar en 2 minuten later vind je zelf het antwoord.............:"probeer eens een TOpenDialog...."

bedankt voor jullie intellectuele "vibes", zal ik maar zeggen.

blue

I hope I never get so old I get religious


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Oh jammer, ik wou je net met een search het bos in sturen en een stukje source sturen waarmee je alle netwerk-folders (shares) op kunt halen.

Whatever (zie maar wat je ermee doet, ik heb zelf al niet eens meer een idee hoe het ook alweer werkt):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   procedure ToptionsForm.EnumNetStuff(Ptr:pointer);
   var SearchHandle:integer;
      Q:array[0..127] of TNetResource;
      p:pointer;
      i,ItemCount,Size:integer;
   begin
      if WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_DISK,0,ptr,SearchHandle)=NO_ERROR then begin
         inc(TFO);
         if (TFO mod 25)=0 then Application.ProcessMessages;
         p:=@Q;
         ItemCount:=-1;
         Size:=sizeof(Q);
         WNetEnumResource(SearchHandle,ItemCount,p,Size);

         if ItemCount<>100 then begin
            for i:=0 to ItemCount-1 do begin
               if (Q[i].dwUsage and RESOURCEUSAGE_CONTAINER)=RESOURCEUSAGE_CONTAINER then begin
                  ENumNetStuff(@Q[i]);
               end else begin
                  if (Q[i].lpRemoteName<>nil) and (Q[i].lpRemoteName[1]='\') then begin
                     AllDirs.Items.Add(Q[i].lpRemoteName+'\');
                     Init.What.Caption:=Q[i].lpRemoteName;
                     Init.What.Refresh;
                  end;
               end;
            end;
         end;
      end;
      WnetCloseEnum(SearchHandle);
   end;

Siditamentis astuentis pactum.