ret:= rdo2 TSTaskAdmin("ou",CmdReturn,BroadCastMsg,ErrMsg,3000,1000);
return CmdReturn;
ret:= rdo2 TSTaskAdmin("oa",CmdReturn,BroadCastMsg,ErrMsg,3000,1000);
return CmdReturn;
ret:= rdo2 TSTaskAdmin("info",CmdReturn,BroadCastMsg,ErrMsg,3000,1000);
return CmdReturn;
执行代码:
ret:= rdo2 TSTaskAdmin("ou",CmdReturn,BroadCastMsg,ErrMsg,3000,1000);
info :=CmdReturn;
return array("已登录用户数":getusers(info),
"在线执行个数/可在线执行个数":getConcurrency(info)["OLTASK"]);
执行结果:
调用子函数1:getusers
function getusers(info);
begin
ParseRegExpr("(\\d+).*online",info,"",result,MPos,Mlen);
for i in result do users+=StrToInt(result[i,1]);
return users;
end
调用子函数2:getConcurrency
function getConcurrency(info);
begin
info_t:=str2array(info,"\r\n");
key:=str2array(info_t[0]," ");
value:=str2array(info_t[1]," ");
k:=array();
v:=array();
for i in key do
if key[i] <> "" then
AppendArray(k,key[i]);
for i in value do
if value[i] <> "" then
AppendArray(v,value[i]);
s:=0;
len:=length(v);
for i:=0 to len-1 do
begin
NI:=i-s;
if rightStr(v[NI],1)="/" then
begin
v[NI]+=v[NI+1];
deleteindex(v,NI+1);
s+=1;
end
end
rt:= array();
for i in k do
rt[k[i]]:=v[i];
return rt;
end