sammen med net aktier med anvendelse af en komponent

, har mistet en netværksforbundet andel og vidste ikke, hvordan jeg skal forbindes til det?,, men med denne komponent kan du lede netværket for en bestemt aktie, der indeholder en fil eller et register og automatisk igen til det.note:,, hvis du allerede kender placeringen af den andel, du burde ikke bruge denne komponent i store net vil gå langsomt.det er kun, hvis du ikke kender den nøjagtige beliggenhed, men kan lokalisere det ved hjælp af en markør, såsom en specifik fil eller folder.,,, tip: anvendelse af beforeconnect begivenhed til at angive, om en forbindelse, bør gøres.,,, enhed igen;,,, grænseflade,, anvender, vinduer, meddelelser, stdctrls, sysutils, klasser, grafik, kontrol, formularer, dialoger, filectrl,,,,,,,,, tsistype = (itdir, itinifile, itapp, itother);,, tbeforeconnectevent = procedure (ejer: tobject; assignpath: string, var acceptere: boolean) af objekt,,, tafterconnectevent = procedure (ejer - tobject; assignedpath: string) af objekt,,, tonfail = procedure (ejer: tobject; failmessage: string) af objekt,,, treconnect = klasse (tcomponent), private, (private erklæringer), didassign: boolean, fi.temtolookfor: string,,, fusername: string,,, fpassword: string,,, flettertoassign: char,,, fistype: tsistype;,, foutputlabel: tlabel;,, ffailmessage: string,,, fbeforeconnect: tbeforeconnectevent;,, fafterconnect: tafterconnectevent;,, fonfail: tonfail;,, funktion doenum (netrest - pnetresourcea): heltal, fungerer addbs g: string): string, overbelastning,,, funktion addbs g: string, skråstreg: char): string, overbelastning,,, funktion indebærer (netrest: netresource; vej, param: string): boolean,,, beskyttet (beskyttede erklæringer}, offentlig, {offentlige erklæringer), offentliggjort, (offentliggjort erklæringer), funktion searchandassign: boolean,,, ejendom itemtolookfor: string læse fitemtolookfor stævninge fitemtolookfor;,, ejendom lettertoassign: char læse flettertoassign skrive flettertoassign;,, ejendom istype: tsistype læse fistype skrive fistype misligholdelse itdir;,, ejendom outputlabel: tlabel læse foutputlabel skrive foutputlabel;,, ejendom brugernavn: string læse fusername skrive fusername;,, ejendom, kodeord: string læse fpassword skrive fpassword;,, ejendom beforeconnect - tbeforeconnectevent læse fbeforeconnect skrive fbeforeconnect;,, ejendom afterconnect: tafterconnectevent læse fafterconnect skrive fafterconnect;,, ejendom onfail: tonfail læse fonfail skrive fonfail,,,,,,,,,,, gennemførelse af proceduren register,,,,,,,, funktion treconnect. addbs (g - string og skære: char): string.,, begynder, g: = beklædning (g), hvis g <>'',, then begin,, if g[length(g)]<>SLASH,, then result:=g+SLASH,, else result:=g;,, end,, else result:=g;,, end;,,, function TReconnect.addbs(g:string):string;,, begin,, result:=addbs(g,'\\');,, end;,,, function TReconnect.SearchFor(NetResT:NETRESOURCE;Path,param:string):boolean;,, var,, cont:boolean;,, Exists:boolean;,, begin,, Exists:=false;,, path:=addbs(path);,, SearchFor:=false;,, if IsType=itDir then,, Exists:=directoryExists(path+param);,, if IsType=itIniFile then,, Exists:=FileExists(path+param);,, if IsType=itApp then,, Exists:=FileExists(path+param);,, if IsType=itOther then,, Exists:=FileExists(path+param);,, if Exists then,, begin,, cont:=true;,, try, og, hvis det er blevet tildelt (fbeforeconnect) så, beforeconnect (self, vej, fortsat), bortset fra, showmessage ('failed ringe beforeconnect. ');,,,,,,, hvis fortsat så begynde,,,, netrest. lplocalname: = pchar (string (flettertoassign) + ":"), wnetaddconnection2a (netrest, pchar (brugernavn), pchar (kode), connect_update_profile);,, didassign: = sandt;,,,, hvis den er blevet tildelt (fafterconnect) så, afterconnect (self, vej), bortset fra, showmessage ('failed ringe afterconnect.');,,,,, men e: undtagelse er, showmessage (e.message),,,;,, SearchFor:=true;,, end;,, end;,, end;,,, function TReconnect.DoEnum(NetResT:PNetResourceA):integer;,, var,, EnumH:THandle;,, cnt:cardinal;,, buffsize:cardinal;,, NetResBuf:array [0..200] of NETRESOURCE;,, res:word;,, i:integer;,, begin,, if DidAssign then,, exit;,, try,, cnt:=255;,, WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_DISK,0,NetResT,EnumH);,, res:=0;,, while (res=NO_ERROR) do,, begin,, buffsize:=sizeof(NetResBuf);,, res:=WNetEnumResource(EnumH,cnt,@NetResBuf,buffsize);,, for i:=0 to cnt-1 do,, begin,, if Assigned(OutputLabel) then,, begin,, OutputLabel.Caption:=NetResBuf[i].lpRemoteName;,, Outputlabel. friske;,,,,,, hvis netresbuf [i]. dwdisplaytype = resourcedisplaytype_share så begynde, hvis ikke didassign, hvis indebærer (netresbuf [i], string (netresbuf [i]. lpremotename), itemtolookfor), begynder, resultat: = 0,,, exit,,,,,,,,,, hvis netresbuf [i]. dwscope = resourceusage_container) så, doenum (@ netresbuf [i]);,,,,,,,, wnetcloseenum (enumh);,, resultat: = 1, bortset fra e: undtagelse gør det, begynder, ffailmessage: = e.message;,, hvis det er blevet tildelt (fonfail) så, onfail (ejeren, ffailmessage);,, resultat: = 0,,,,,,,,,,,,, funktion treconnect. searchandassign: boolean,,, begynder, didassign: = falske,, doenum (nul), resultat: = sandt,,,,,,, procedure register, begynder, registercomponents ('vnpvcls ", - treconnect]);,,,,,,,,,.,,



Previous:
Next Page: