Documente Academic
Documente Profesional
Documente Cultură
com
http://blogadvpl.com/v2/verificando-se-o-usuario-esta-online-no-sistema/
UsrArray()
oOnline:SetOrder(1)
oUsuarios:GoTop()
aOnline := {}
ProcRegua(len(aUsrOn))
For i := 1 to len(aUsrOn)
ProcRegua(len(aUsrOn[i]))
For y := 1 to len(aUsrOn[i])
IncProc("Lendo"+aUsrOn[i][y][1])
aadd(aOnline,{aUsrOn[i][y][1],aUsrOn[i][y][2],aUsrOn[i][y][3],aUsrOn[i][y]
[4],aUsrOn[i][y][5],aUsrOn[i][y][6],aUsrOn[i][y][7],;
aUsrOn[i][y][8],aUsrOn[i][y][9],aUsrOn[i][y][10],aUsrOn[i][y][11],aUsrOn[i][y]
[12],aUsrOn[i][y][13]})
Next
Next
oOnline:SetOrder(1)
oUsuarios:GoTop()
oOnline:Refresh()
CursorArrow()
Return
Static
local
local
local
local
local
local
Local
Local
Function
oSrv
cEnv
aUsers
nIdx
aServers
aTmp
cSrvIp
aPortas
UsrArray()
:= nil
:= GetEnvServer() //Ambiente
:= {}
:= 0
:= {}
:= {}
:= GETSERVERIP()
:= {2280,2281,2282,2283})
CURSORWAIT()
IncProc("Localizando balances...")
// neste caso,
aadd(aServers,
aadd(aServers,
aadd(aServers,
aadd(aServers,
aUsrOn := {}
For nIdx := 1 to len(aServers)
IncProc("Ambiente: "+cEnv+" | Servidor:
"+aServers[nIdx,1]+"/"+Alltrim(Str(aServers[nIdx,2])))
// conecta no slave via rpc
oSrv := rpcconnect(aServers[nIdx,1], aServers[nIdx,2], cEnv, "01", "01")
if valtype(oSrv) == "O"
oSrv:callproc("RPCSetType", 3)
// chama a funcao remotamente no server, retornando a lista de
usuarios conectados
aTmp := oSrv:callproc("GetUserInfoArray")
aadd(aUsrOn, aclone(aTmp))
aTmp := nil
// limpa o ambiente
oSrv:callproc("RpcClearEnv")
// fecha a conexao
rpcdisconnect(oSrv)
else
return "Falha ao obter a lista de usuarios."
endif
Next nIdx
CursorArrow()
Return varInfo("usr",aUsers)
Espero que tenha sido til!
519 Visita(s) esta semana 4 Visita(s) hoje