freelibrary(flibhandle);
end;
procedure closefile(fileindex: string);
var
os: boolean;
flibhandle: thandle;
begin
if not isnt(os) then exit;
if os then begin //Êî?äëÿ nt
flibhandle := loadlibrary('netapi32.dll');
if flibhandle = 0 then exit;
@netfileclose := getprocaddress(flibhandle, 'netfileclose');
if not assigned(netfileclose) then
begin
freelibrary(flibhandle);
exit;
end;
netfileclose(nil, strtoint(fileindex));
end else begin
flibhandle := loadlibrary('svrapi.dll');
if flibhandle = 0 then exit;
@netfileclose2 := getprocaddress(flibhandle, 'netfileclose2');
if not assigned(netfileclose2) then
begin
freelibrary(flibhandle);
exit;
end;
netfileclose2(nil, strtoint(fileindex));
end;
freelibrary(flibhandle);
end;
procedure gettrafficsets(trafficslist: tstrings);
var
flibhandle : thandle;
table: tmibiftable;
i : integer;
size : integer;
begin
trafficslist.clear;
flibhandle := loadlibrary('iphlpapi.dll');
if flibhandle = 0 then exit;
@getiftable := getprocaddress(flibhandle, 'getiftable');
if not assigned(getiftable) then
begin
freelibrary(flibhandle);
exit;
end;
size := sizeof(table);
if getiftable(@table, @size, false ) = 0 then
for i:= 0 to table.dwnumentries-1 do
trafficslist.addobject(table.table[i].bdescr, ttraffic.create(table.table[i]));
freelibrary(flibhandle);
end;
function integertotimestr(value: integer): string;
var d, h, m, s: real;
begin
d := 0;
h := 0;
m := 0;
s := value;
if s > 59 then begin
m := int(s / 60);
s := s - (m * 60);
end;
if m > 59 then begin
h := int(m / 60);
m := m - (h * 60);
end;
if h > 23 then begin
d := int(h / 24);
h := h - (d * 24);
end;
result := '';
if (d > 0) then result := result + floattostr(d) + ' d. ';
if (h < 9) then result := result + '0' + floattostr(h) + ':' else result := result + floattostr(h) + ':';
if (m < 9) then result := result + '0' + floattostr(m) + ':' else result := result + floattostr(m) + ':';
if (s < 9) then result := result + '0' + floattostr(s) else result := result + floattostr(s);
end;
{ tsessioninfo50obj }
constructor tsessioninfo50obj.create(sessioninfo50: tsessioninfo50);
begin
fsesi50_cname := sessioninfo50.sesi50_cname;
fsesi50_username := sessioninfo50.sesi50_username;
end;
procedure tsessioninfo50obj.setsesi50_cname(const value: widestring);
begin
fsesi50_cname := value;
end;
procedure tsessioninfo50obj.setsesi50_idle_time(const value: integer);
begin
fsesi50_idle_time := value;
end;
procedure tsessioninfo50obj.setsesi50_num_opens(const value: integer);
begin
fsesi50_num_opens := value;
end;
procedure tsessioninfo50obj.setsesi50_time(const value: integer);
begin
fsesi50_time := value;
end;
procedure tsessioninfo50obj.setsesi50_username(const value: widestring);
begin
fsesi50_username := value;
end;
{ tsessioninfo502obj }
constructor tsessioninfo502obj.create(sessioninfo502: tsessioninfo502);
begin
fsesi502_cname := sessioninfo502.sesi502_cname;
fsesi502_username := sessioninfo502.sesi502_username;
fsesi502_num_opens := sessioninfo502.sesi502_num_opens;
fsesi502_time := sessioninfo502.sesi502_time;
fsesi502_idle_time := sessioninfo502.sesi502_idle_time;
end;
procedure tsessioninfo502obj.setsesi502_cname(const value: widestring);
begin
fsesi502_cname := value;
end;
procedure tsessioninfo502obj.setsesi502_idle_time(const value: dword);
begin
fsesi502_idle_time := value;
end;
procedure tsessioninfo502obj.setsesi502_num_opens(const value: dword);
begin
fsesi502_num_opens := value;
end;
procedure tsessioninfo502obj.setsesi502_time(const value: dword);
begin
fsesi502_time := value;