设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5249|回复: 6

[求助] Cursor,Cursor X和Cursor Y的使用

[复制链接]
发表于 2009-5-20 21:02:43 | 显示全部楼层 |阅读模式
5仿真币
对于黄家强ppt里面的一个程序,有点不懂。求教各位大虾!$ p/ `6 f# o! R& I. t
(product:object):boolean% I: [5 f* p& m. T8 [' ^
is
* O# w& P( i% g. A! Ido, c. _5 X- i. t. R
partstatistics.cursorX:="color";
9 V! B2 P# F" R1 _0 I6 } partstatistics.cursorY:=1;. z' `$ h" A4 G7 N( T% ?
if partstatistics.find(product.CurrIcon) then1 {8 E! P! W- B; m
  partstatistics["number",partstatistics.cursorY]:=$ w: x) V# a0 P/ \7 R) h1 V
  partstatistics["number",partstatistics.cursorY]+1;
" N' j/ z& h. I( j% |& A- a- o  result:=true;7 J# ~5 J6 h6 s' `
else
& T% ?0 J6 Y% v$ r$ O  result:=false;
3 C8 P- a7 P  Z end;
9 |  Z/ N& N1 |8 @! E. ~' U4 q$ ~end;
, V# ~3 y2 i2 R' C9 I
) i5 q) G- G& @3 w“partstatistics.cursorY:=1;”
6 ^/ p. a5 ^3 \+ @8 i3 |这一句怎么理解,他对partstatistics.cursorY赋值为1,那么后面的partstatistics["number",partstatistics.cursorY]不就变成了partstatistics["number",1],这样只能在number这一列的第一行里统计颜色的数量了。
; s0 P8 N, T! V0 z9 ]$ F: N8 l但它的结果是在五行里统计出各种颜色的数量。

附件: 您需要 登录 才可以下载或查看,没有帐号?注册
 楼主| 发表于 2009-5-20 21:12:27 | 显示全部楼层
还有CursorY在help的用法:
2 V6 v, {9 y7 y5 G3 L3 KUsage:  <path>.CursorY;  
9 @7 f& N$ U: J; r% F$ W% p& m: c2 J% d! E, V3 A
The attribute CursorY sets the row in which the internal cursor is located. Note that all methods that employ ranges, such as find or max, use the current position of the cursor. Plant Simulation ignores ranges located before the current cursor position. The method starts its task beginning at the cursor position. If a method does not return the expected values, check the cursor position. The first column has the number 1. If you also want to include the customized index, set the attribute CursorY to 0.
+ `8 l6 d1 L  e% E$ M9 Y) S$ W$ _( C  ^8 H  h6 g* S9 i# H: U
This attribute applies to the TableFile and the TimeSequence. - E9 A" U& F# i( ]" {
, q. D& q5 b7 k, \: W* m
You can assign a value of type integer.
" k# n! a, f2 y4 l* p. x2 W
& u8 a9 w" O1 B4 ~5 k, EExample:  is
1 v* E* g0 Y  y$ vdo, Y) H, ~! |& [& _7 f
   tableFile.CursorX := 1; -- starting position, [* z2 ?8 n+ G
   tableFile.CursorY := 1; -- set* y- q2 y# D# w! _4 U- q* i
if tableFile.find({1,*},4712) then
/ C1 m! ?  k8 m. Y) S) Z# D   print "found in row:",table.CursorY;& l, c/ {5 C6 b
end;  
. g  d4 a% q% i4 K$ |  }/ s You can also set the pointer by employing a user-defined index. For a user-defined index of data type integer, use the method setCursor!
9 f  D8 w% W) @  m# GExample:  tableFile.CursorY := "urgent"; -- custom index
% d9 O& z4 x8 `. xtableFile.CursorX := 3.1415;  / Z2 K2 k+ E$ [$ A$ m
有人能解释一下吗??我不是看得很懂,从他的例子里面print "found in row:",table.CursorY;这里明显不是他所说的tableFile.CursorY := 1。) s" ?' E1 n6 V; S7 e
我的理解就是程序对tableFile.CursorY 赋值为1了,为什么tableFile.CursorY 后面这个值会变?& H- }7 n9 ]9 y
还有tableFile.CursorX := 3.1415这个为小数又是表示什么意思啊?
 楼主| 发表于 2009-5-21 14:59:28 | 显示全部楼层
请问有人能解答吗?
发表于 2009-5-22 16:08:44 | 显示全部楼层
这个不难,你的注意力被转移了,主要研究研究find这个命令你就明白了,而不是cursor的问题
 楼主| 发表于 2009-5-23 03:24:53 | 显示全部楼层
哦~~7 R9 c  b+ P0 O+ }' Z4 ?; z
我看了,我大概理解了,such as find or max, use the current position of the cursor.; _. b! w2 P/ d5 K6 f# D. v
When it finds a value, the method returns true and sets the cursor onto that cell.
# v" H0 ^2 T. |! [) u3 H0 Tpartstatistics.cursorY:=1只是说明了,光标在第一行,而当partstatistics.find(product.CurrIcon)找到product.CurrIcon里面的名字与partstatistics里面名字相符的时候,光标就会设置在partstatistics里面相应的行那里,例如如果找到blue时,光标就移到partstatistics里面["number",partstatistics.cursorY]地方,这里的partstatistics.cursorY就是blue这一行的行数,就是第二行,number那一列。这么说,partstatistics.cursorY这数是随着find这条语句找到的位置而变化的。5 V  h) }8 T, Y  `" E
不知道我这样理解有没有错呢?# X8 |7 C# |7 ~& P
请大家指教一下!
6 w8 h2 X% j9 F/ y! ?  M- ]谢谢!
发表于 2009-5-23 09:05:22 | 显示全部楼层
正解
 楼主| 发表于 2009-5-23 18:49:25 | 显示全部楼层
谢谢,我现在懂了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2024-11-24 02:28 , Processed in 1.988847 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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