设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5838|回复: 11

[求助] tablefile的find问题

  [复制链接]
发表于 2011-9-8 14:35:36 | 显示全部楼层 |阅读模式
在我的模型中,我在track设置method,把进入track的transporter保存到tablefile(*行,1列,object型)中,当transporter离开track时,设置method查找tablefile中的transporter记录,把正行记录cutrow掉。
- v, M8 F3 a2 \* g+ k现在的问题是我使用语句
$ b- V. w9 C7 kif tablefile.find(`[1,1]..`[1,*],@) then
7 N& {# R" x3 V7 x& J; c; \删除行逻辑# N2 b. b% j( {  K: ^
end;
# a- p, m* {' |4 W" o5 R我发现find结果总是出错,明明打开tablefile之后可以看见那个transporter,但tablefile.find(`[1,1]..`[1,*],@)的返回值却不一定是true7 B4 |7 \8 I- R0 H

  G; w0 k7 v! A调试的时候,把tablefile.find(`[1,1]..`[1,*],@)粘贴到表达式两行位置,结果发现这条语句在同一时刻,一行显示true,一行显示false,我实在不知道是怎么回事,请大家有时间帮忙解惑一下,不甚感激。5 C  q$ @7 R7 [! t7 a

+ k& Q$ E& v6 e; Y" C另外把tablefile换成queuefile之后,搜索结果到没问题,都正确了,但因为track里面的transporter有些是从入口进入,有些是用method方法从别处移动过来,所以queuefile好像不适用于模型逻辑

本帖子中包含更多资源

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

x
发表于 2011-9-8 15:37:30 | 显示全部楼层
我试了一下,没问题啊,可以参考附件中的模型

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-9-9 10:57:06 | 显示全部楼层
linlin3353 发表于 2011-9-8 15:37
% N; @$ G' B0 _% M5 m$ I我试了一下,没问题啊,可以参考附件中的模型

7 A" M/ ?& v: I/ S& X我这边好像还是有些问题,我在您的模型上调了一下还是不行
# C9 m% g. E1 t9 T5 G麻烦您看看,在您那里的运行正常吗?
) e4 b4 m( y% N" }我这是从veryCD上下载的破解版,不会是破解的问题吧?

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-9-9 11:05:20 | 显示全部楼层
本帖最后由 pqxx 于 2011-9-9 11:05 编辑 2 _( N7 v: M# W$ o! A' ^6 y
linlin3353 发表于 2011-9-8 15:37 + F# W8 l* L- Q3 A1 F2 ~
我试了一下,没问题啊,可以参考附件中的模型

! j0 g1 ~) Z+ L' T# ]- Z; z" y
8 u  H$ @5 }$ r) w% j! i这个附件是我这边的运行视频,用screen2exe录制了,所以是exe格式,绝不是病毒。麻烦您给看看吧

本帖子中包含更多资源

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

x
发表于 2011-9-10 14:06:36 | 显示全部楼层
pqxx 发表于 2011-9-9 11:05
/ W0 U/ W" Z- F这个附件是我这边的运行视频,用screen2exe录制了,所以是exe格式,绝不是病毒。麻烦您给看看吧 ...
2 z4 q) i7 Y! y+ }, u/ y
看了一下,我也困惑了,时而对时而错。再研究研究吧。。
. y) p( T+ s6 k9 c看看论坛里们其他大侠怎么决绝吧。
发表于 2011-9-10 14:18:20 | 显示全部楼层
貌似,如果不设断点进行单步调试的话,模型运行就是正常滴。。
 楼主| 发表于 2011-9-11 11:27:51 | 显示全部楼层
linlin3353 发表于 2011-9-10 14:18
( N5 j  h2 n  e3 P- ], Q) B$ Y貌似,如果不设断点进行单步调试的话,模型运行就是正常滴。。
, C! E9 e/ m& n
在您那边运行也是如此吗?
$ c0 N/ B$ ~1 q4 N- Y还是非常感谢啊
发表于 2011-9-12 18:21:09 | 显示全部楼层
我曾遇到过LZ这个问题
+ p5 y: l# O+ \% hLZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前,一般得设置光标的初始位置,如果你在tablefile[1,3]找到了你要找的文本“true”。当再一次执行method时,你的光标是从
7 ~& t* l7 J4 ]tablefile[1,3]开始寻找,比如在tablefile[1,5]找到” 。所以就是说你两次运行同一个程序,结果出现不同。所以程序里面必须要设置光标的起始点。
 楼主| 发表于 2011-9-13 09:30:06 | 显示全部楼层
Inwater 发表于 2011-9-12 18:21 7 Y; h( ^8 j! N7 s1 b: c3 d3 A2 H
我曾遇到过LZ这个问题
8 C* k- T: e1 y% o' [, H% b0 B$ SLZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前 ...

4 Z. A* W% n) C! f在find语句之前加上/ D5 D5 ^! n' y, G
tablefile.CursorY:=1;& I7 M# d' w& s) x! i" i6 r2 O% N$ A
tablefile.CursorX:=1:( H( i3 x4 ~8 q  z' ]6 L
之后还是不对,不知道怎么回事。
* V: v6 j0 Q! q( _我把tablefile改成cardfile试了试,除了第一个离开track的mus搜索不到之外,别的都可以找到,但新的问题又出来了,当我设置断点调试程序的时候,cardfile里面记录的数据会自动丢失。比如一开始我打开cardfile之后,发现里面有5行数据,看看method之后再回过头来看,发现前两行的数据没了,就像执行了cutrow一样,过一会儿再看,全没了,成空表了。
* v' c! ]" R6 @& ]4 K+ b是不是emplant的安装有问题呢?
发表于 2011-9-13 14:16:44 | 显示全部楼层
pqxx 发表于 2011-9-13 09:30
9 H0 ~4 [" g4 ?& D在find语句之前加上! V7 N, A# H8 z* W
tablefile.CursorY:=1;2 J9 d4 B4 B6 u1 o* B- p' V2 _
tablefile.CursorX:=1:
0 v% {7 h' G9 L8 c
应该和安装没问题,估计还是程序有问题。& @  P- C8 N0 L
在看看软件自带的帮助文件吧,估计是对函数的理解不对。
 楼主| 发表于 2011-9-14 08:24:59 | 显示全部楼层
本帖最后由 pqxx 于 2011-9-14 13:05 编辑
: x# n+ p  \& |2 U( C
Inwater 发表于 2011-9-12 18:21 ! t" ^' d  u5 n8 D7 W5 K3 }8 E
我曾遇到过LZ这个问题6 G2 v; d9 G" T( }3 b& Q9 T7 f9 d
LZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前 ...

' j5 p) |! o/ U/ C; x7 R% U4 l0 x5 _8 o% }8 i, D0 J
使用cardfile,在find前面加上cardfile.cursor:=1就没问题了
# h* ^7 G( \0 T8 _1 q我再试试tablefile啊,先谢谢啦( O) x* n- R& ^* a# P
在tablefile前面加上tablefile.cursorX:=1和tablefile.cursorX:=1也OK了
 楼主| 发表于 2011-9-14 15:01:00 | 显示全部楼层
taoyifei2000 发表于 2011-9-14 13:41 1 p6 W6 K" K7 v8 |
刚看到消息,看你已经解决了,修改的模型就不发了,祝贺你,其实就是每次循环光标要初始化一下。 ...

4 M7 \/ h7 {- i" V谢谢啊,版面上这个板块的高手最热心肠啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-10 21:59 , Processed in 0.016750 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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