设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7367|回复: 11

[求助] tablefile的find问题

  [复制链接]
发表于 2011-9-8 14:35:36 | 显示全部楼层 |阅读模式
在我的模型中,我在track设置method,把进入track的transporter保存到tablefile(*行,1列,object型)中,当transporter离开track时,设置method查找tablefile中的transporter记录,把正行记录cutrow掉。' a8 u2 I; a! R
现在的问题是我使用语句' D5 `% r0 @2 S  y0 y
if tablefile.find(`[1,1]..`[1,*],@) then3 ^  _$ Y+ n' G
删除行逻辑
( p; O5 t4 M( W7 M7 T4 _8 @, Cend;
! S$ m7 l2 [" r: B6 |我发现find结果总是出错,明明打开tablefile之后可以看见那个transporter,但tablefile.find(`[1,1]..`[1,*],@)的返回值却不一定是true
1 G& d$ @+ V# [8 y6 c6 |3 N7 L! ^' ^- x
调试的时候,把tablefile.find(`[1,1]..`[1,*],@)粘贴到表达式两行位置,结果发现这条语句在同一时刻,一行显示true,一行显示false,我实在不知道是怎么回事,请大家有时间帮忙解惑一下,不甚感激。7 i+ ]1 C* X. h" Z
4 R6 g$ D$ Z$ p! z3 F( |6 X
另外把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 $ _" }+ h# X. d$ R6 Q% y/ ^- D
我试了一下,没问题啊,可以参考附件中的模型
$ x5 m: V- C* C/ T9 M/ G# j
我这边好像还是有些问题,我在您的模型上调了一下还是不行0 O3 h* s, w; x
麻烦您看看,在您那里的运行正常吗?
% R& a# U+ M6 L, Y2 C& C: x+ e" t8 _我这是从veryCD上下载的破解版,不会是破解的问题吧?

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-9-9 11:05:20 | 显示全部楼层
本帖最后由 pqxx 于 2011-9-9 11:05 编辑
3 ^9 E! l" |8 N2 I! u
linlin3353 发表于 2011-9-8 15:37
1 R3 S% R" ~$ {7 c我试了一下,没问题啊,可以参考附件中的模型
  M% n" W+ F. y

- q- b# y: i0 }* m5 U6 f这个附件是我这边的运行视频,用screen2exe录制了,所以是exe格式,绝不是病毒。麻烦您给看看吧

本帖子中包含更多资源

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

x
发表于 2011-9-10 14:06:36 | 显示全部楼层
pqxx 发表于 2011-9-9 11:05
' H1 U# ]% N# u这个附件是我这边的运行视频,用screen2exe录制了,所以是exe格式,绝不是病毒。麻烦您给看看吧 ...
1 k8 J0 |3 f8 ^- t) k: i9 q
看了一下,我也困惑了,时而对时而错。再研究研究吧。。# H1 n" x: I3 ^5 I) ]4 X9 w
看看论坛里们其他大侠怎么决绝吧。
发表于 2011-9-10 14:18:20 | 显示全部楼层
貌似,如果不设断点进行单步调试的话,模型运行就是正常滴。。
 楼主| 发表于 2011-9-11 11:27:51 | 显示全部楼层
linlin3353 发表于 2011-9-10 14:18
: D9 S. Q& m/ }5 L; S6 X+ q貌似,如果不设断点进行单步调试的话,模型运行就是正常滴。。
7 r- I% ^; f1 ^
在您那边运行也是如此吗?$ t' d$ `- G' s2 N, l
还是非常感谢啊
发表于 2011-9-12 18:21:09 | 显示全部楼层
我曾遇到过LZ这个问题
8 o3 s1 `7 x6 e% B  G/ s. fLZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前,一般得设置光标的初始位置,如果你在tablefile[1,3]找到了你要找的文本“true”。当再一次执行method时,你的光标是从
* m. Q! q9 ?, g& z2 \, d/ \% |tablefile[1,3]开始寻找,比如在tablefile[1,5]找到” 。所以就是说你两次运行同一个程序,结果出现不同。所以程序里面必须要设置光标的起始点。
 楼主| 发表于 2011-9-13 09:30:06 | 显示全部楼层
Inwater 发表于 2011-9-12 18:21
; _5 X+ q2 K& {我曾遇到过LZ这个问题
- L% h! X% W1 J" s) `# {& m4 T6 V5 WLZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前 ...

, J0 Y$ `) q+ K/ c+ B1 O: {在find语句之前加上/ c$ C, D. {+ H9 D) u: J  x
tablefile.CursorY:=1;
4 ^& R* d0 T" jtablefile.CursorX:=1:
. U% r' f/ U; ^之后还是不对,不知道怎么回事。
+ J9 G& J  Q$ x- X: d我把tablefile改成cardfile试了试,除了第一个离开track的mus搜索不到之外,别的都可以找到,但新的问题又出来了,当我设置断点调试程序的时候,cardfile里面记录的数据会自动丢失。比如一开始我打开cardfile之后,发现里面有5行数据,看看method之后再回过头来看,发现前两行的数据没了,就像执行了cutrow一样,过一会儿再看,全没了,成空表了。( }* V7 z+ I, z- t
是不是emplant的安装有问题呢?
发表于 2011-9-13 14:16:44 | 显示全部楼层
pqxx 发表于 2011-9-13 09:30
! Z/ Z6 m; N/ _: f0 J; |2 M在find语句之前加上
# d9 B, I2 z& ]# T: `" ~- ztablefile.CursorY:=1;( l$ Y% \. T( z, P
tablefile.CursorX:=1:
0 H! {1 r5 l+ T- d5 K+ u' V- I9 R
应该和安装没问题,估计还是程序有问题。( e, w) s, `3 j' n
在看看软件自带的帮助文件吧,估计是对函数的理解不对。
 楼主| 发表于 2011-9-14 08:24:59 | 显示全部楼层
本帖最后由 pqxx 于 2011-9-14 13:05 编辑 ' P" f1 P8 o) `/ Y
Inwater 发表于 2011-9-12 18:21   g+ b2 u$ `, w9 a* r& a7 t
我曾遇到过LZ这个问题
2 x9 K. Y2 S+ RLZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前 ...

4 G4 ]; Y/ w4 K) @; d! q1 V
2 y0 \( S+ n* B' }6 m7 ^2 R使用cardfile,在find前面加上cardfile.cursor:=1就没问题了
4 w  Y) d. R( `" I: Z* I我再试试tablefile啊,先谢谢啦7 I+ G% O) Q6 \9 N
在tablefile前面加上tablefile.cursorX:=1和tablefile.cursorX:=1也OK了
 楼主| 发表于 2011-9-14 15:01:00 | 显示全部楼层
taoyifei2000 发表于 2011-9-14 13:41
6 g6 V1 \/ L: C+ f3 E刚看到消息,看你已经解决了,修改的模型就不发了,祝贺你,其实就是每次循环光标要初始化一下。 ...

1 I$ p9 Y4 k5 d& P- w8 d! s  r谢谢啊,版面上这个板块的高手最热心肠啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-6 02:28 , Processed in 0.030147 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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