全球FlexSim系统仿真中文论坛

搜索
查看: 1364|回复: 0
打印 上一主题 下一主题

如何获取Activity的统计信息?

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2022-11-29 15:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zorsite 于 2022-11-29 15:42 编辑
* T, H8 Z$ |3 X0 U& H+ q  C' r2 [/ _
如何获取Activity的统计信息?
9 l. |- g4 a* i" C2 J7 h3D实体的属性面板中可以查看统计信息。
; @! G' d: [" C$ N
- Z5 _  {. z- B同时可以通过Object.stats属性来获取相关信息。
8 `" r# F4 P" i2 g+ S$ u( H& J  m$ S% B* R0 c0 m
Activity也有属性面板
7 J1 b7 T9 O0 S5 i
* n; G! N5 l3 H: _  l  E: Q: ]但是Activity却没有stats属性,无法通过属性获取统计信息。' h" n/ @9 c1 k: G

# Q' M" ]" ^5 u! Y+ X原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。
3 ^' a. K5 S* G6 ztreenode作为Object的父类,其属性和方法不如其子类Object那样丰富。% V/ g- B$ `9 g9 P- x- k
' @+ z7 M9 F4 ~2 w9 W- @$ W9 _
作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
4 t. @' i2 d9 t1 s) Q, S/ r8 d# h0 Y! h4 L: ~& ]% p; D
其中就有stats属性,可以获取统计信息。+ j6 S: M9 h/ v1 n
# P1 k% @6 a$ x4 L
那如何使用代码获取Activity的统计信息呢?& m% f  k0 B& [# a: W
第1种方法,使用getstat命令。
) K- m  `* \; X8 `3 m5 r" Ngetstat (node object, str name, int flag [, var p1, var p2, var p3])4 Q! j7 a4 A; q2 A: {
Returns the statistic value for the given objectDescription% I: G9 j  i4 L  v
It is preferred to use Object.stats instead. Gets the specified statistic from the given object." d3 ^! Z: ?6 h# J
Example:+ `2 t3 k% v# o6 G3 q, C
  1. getstat(activity, "Content", STAT_CURRENT)
复制代码
  1. getstat(activity, "Input", STAT_CURRENT)
复制代码
  1. getstat(activity, "Staytime", STAT_AVERAGE)
复制代码
  1. double avgContent = getstat(
    " F2 F4 w5 O2 S: [3 G, |+ _3 f
  2. // getstat requires between 4 and 6 parameters:! ^. n, @$ {) K" n* Z6 s# ~: t; H3 p* N
  3. activity, // 1. the object (shared asset or activity) that has the statistic
    5 y" d% R$ d( d7 |
  4. "Content", // 2. the name of the statistic
    + V: C- ?- q1 j2 G, @
  5. STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)2 g1 |0 M$ j! B* [! J( M
  6. // 4. an optional parameter the instance object (usually current)" [3 G, A! Z2 i8 s' t
  7. // 5. an additional parameter to help resolve which data to get, I' o! \& ]8 p8 f1 i
  8. // 6. an additional parameter to help resolve which data to get
      i( q4 Y: P& ^) Y( _+ P+ F
  9. );
复制代码

0 i8 @+ g$ |! \- i4 u4 j0 K第2种方法,转换activity的类型。
5 w* }9 f5 U; Q  Y既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?# I/ m7 d5 w. \7 s! ]- k( d! g
转换的方式有2种:
6 b* R1 s" S( F2 \/ E方法1,使用as关键字:& O9 F: N! q& \# w+ W
  1. activity.as(Object).stats.input.value;, R: m  ?, v4 N' G, M5 F
复制代码

$ u; {7 G, B3 i3 N, h1 V方法2,将activity声明为Object类型的变量:
! X! k; |1 y! G1 }
  1. Object Obj_activity=activity;; y; n* @/ v: E: G$ N$ o
  2. return Obj_activity.stats.input.value;
复制代码

' O7 |* k) l) k9 v! a" `/ u! `! J0 a! T; l; H3 e  ^) y

4 B3 [7 Y# x% K$ L! n6 I5 {8 ], `% g+ H; z+ Z& _$ ~6 A

( m/ p* j/ E; Z8 p; W6 s# R/ @1 ?
) C2 M6 t' y# {. l; ~. |7 r# K% ]1 F$ s5 ~  n
" Y, J! f+ N3 u2 G6 A

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-5-7 09:48 , Processed in 0.059655 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表