Spørger
C5 2012 / Chekke om en given bruger er logget ind i forvejen

Spørgsmål
-
Alle besvarelser
-
-
Tak for svar ... Ja det kan jeg nok ... men det er jo en liste af brugere og det synes jeg måske ikke jeg vil checkke samtlige brugere (INIT i denne form) HVER gang en bruger logger på ... Jeg har set det i en XAL, hvor den i autoexec spørger "Bruger XXX er allerede logget på? Ønsker du at logge på igen ?"
Så der må være en stump kode, syskald eller noget, som man kan bruge for brugerid (CurUserID()) jeg har blot glemt det :-(
Mvh
Christian
IC.CJP
-
-
-
Du smider strengen i en variabel, trækker tiden ud (det er tispunktet, hvor login kom på første gang), måler på tiden i forhold til nu (læg 10 sekunder ind som buffer), og sæt en box ind, hvis TimeNow() - 10 er større en den tid, du har i strengen.
2 variabler, STR 30 &Userinfo og &Time
Sådan her fra linje 90
SET &Userinfo = #sessionUser(CurUserID())
SET &Time = SubStr(&USerInfo,14,8)
IF Str2Time(&time) < TimeNow() - 10 THEN
Resten kan du selv.
Mvh Maria
-
Awesome :-) Der var trylleformlen lige ... takker ... big kiss
PRINT #CurSessNum
PRINT #SessionUser(#CurSessNum)
PRINT CurUserID()
PRINT SubStr(#SessionUser(#CurSessNum),1,StrScan(#SessionUser(#CurSessNum),",",1,255)-1)
PRINT Str2Num(SubStr(#SessionUser(#CurSessNum),1,StrScan(#SessionUser(#CurSessNum),",",1,255)-1)) <> CurUserId() ?
"Alone in the dark" : "More than one"Resten er som du siger bare at pakke det pænt ind
Mvh
Christian
IC.CJP
-
Hej,
Efter ændringer i formatet for #SessionUser i C5 2012 SP1, er der åbenbart opstået en bug i #CurSessNum, som ikke returnerer aktuelle SessionId.
Det vil blive rettet.
For øvrigt tager #SessionUser et SessionId som parameter jf. Kernel_Newsletter_C5_4.4.1.303.pdf:
EXTENDED SESSION INFO FROM #SESSIONUSER (SYSINFO(3021))<o:p></o:p>
SysInfo(3021) now returns the following string for a given session:<o:p></o:p>
<UserId>,<Date>,<Time>,<Datafile>,<WindowsProcessId>,<Kill-flag>,<Computername>,<WindowsUsername>,<Remote Desktop Session Id>,<Kill-flag><o:p></o:p>
Kill-flag is repeated because existing code might read it as parameter 6 or as the last parameter.
This extra info is the reason why the c5user.c5s file is larger than previous versions.<o:p></o:p>
UserStatus.FRM has been expanded with the new session information as well as ability to terminate all running sessions except current
så man er nødt til at loope over sessioner til #MaxUserCount, hvis man vil checke på UserId i samtlige sessioner.
session.<o:p></o:p>
Venlig Hilsen Henrik Hansen Program Manager II Microsoft Dynamics C5