全球FlexSim系统仿真中文论坛

搜索
查看: 3799|回复: 7
打印 上一主题 下一主题

【全局表基础应用】把临时实体的生成时间、离开时间写入全局表

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2016-4-12 15:25:50 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zorsite 于 2016-4-12 15:40 编辑

以一个非常简单的模型为例。

现在要把临时实体的生成时间、离开暂存区的时间写入全局表。

首先创建一个名为“测试全局表”的全局表。

重置触发代码:
  1. /**重置全局表*/
  2. treenode current = ownerobject(c);
  3. settablesize("测试全局表",1,1);
  4. clearglobaltable(1);
  5. settableheader("测试全局表",1,1,"");
  6. settableheader("测试全局表",2,1,"");
复制代码
离开触发代码:
  1. /**将离开时间写入全局表*/
  2. treenode item = param(1);
  3. treenode current = ownerobject(c);
  4. int port = param(2);
  5. /*
  6. 假设要把临时实体生成时间、离开暂存区的时间写入全局表,同时给出备注。
  7. */
  8. var table = "测试全局表";
  9. int columns = 3;//要写入3列数据
  10. intarray array = makearray(columns);
  11. fillarray(array,1,1,2);//定义全局表每列的数据类型。1是数值型,2是文本型。
  12. stringarray arraystr=makearray(columns);
  13. fillarray(arraystr,"生成时间","离开时间","备注");//定义列标题。
  14. if (getoutput(current) == 0)
  15. //如果是第一个临时实体
  16. //请注意,这里的判断根据自己的需要来设定,目的是为了判断是否是第一次向全局表中写入数据
  17. {
  18. settablesize(table,1,columns);//在第一次写入之前会制定全局表的列数,这里是1行3列
  19. for (int index=1; index<=columns; index++)
  20.   {
  21.    nodeadddata(gettablecell(table,1,index),array[index]);//设置列数据类型
  22.    settableheader("测试全局表",2,index,arraystr[index]);//设置列标题
  23.   }
  24. } else settablesize(table,gettablerows(table)+1,columns);//如果不是第一次写入全局表,新增一行
  25. double rows = gettablerows(table);//获取行数
  26. settableheader("测试全局表",1,rows,concat("第",numtostring(getoutput(current)+1),"个"));
  27. //设置行标题
  28. int i = 1;
  29. settablenum(table, rows, i, getcreationtime(item)); i++;//写入数据
  30. settablenum(table, rows, i, time()); i++;
  31. settablestr(table, rows, i, concat("备注",numtostring(duniform(1,100)))); i++;

复制代码

本帖子中包含更多资源

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

x
2#
 楼主| zorsite 发表于 2016-4-12 16:33:22 | 显示全部楼层
2# FFFrenk
你说的很对~~

这是一个非常简单的案例。搞这么复杂的原因是为了尽可能多的用一些函数,包括数组函数、全局表函数,让新手接触到这些函数,知道有这么一个函数的存在。希望新手能够我的一片苦心,不要骂我故弄玄虚才好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-19 18:11 , Processed in 0.087656 second(s), 14 queries .

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

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