设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6959|回复: 11

[求助] tablefile的find问题

  [复制链接]
发表于 2011-9-8 14:35:36 | 显示全部楼层 |阅读模式
在我的模型中,我在track设置method,把进入track的transporter保存到tablefile(*行,1列,object型)中,当transporter离开track时,设置method查找tablefile中的transporter记录,把正行记录cutrow掉。# L7 G2 k: q4 R) A
现在的问题是我使用语句- w" x" N0 s0 {2 E, ]
if tablefile.find(`[1,1]..`[1,*],@) then- Q( O  i6 }" _0 @% C
删除行逻辑
' m+ j. @, _! I( z: zend;
8 I8 z& v( u% f# ~8 R我发现find结果总是出错,明明打开tablefile之后可以看见那个transporter,但tablefile.find(`[1,1]..`[1,*],@)的返回值却不一定是true
4 \% r) w: J& a  c& O6 i2 |( y8 ^( ~* j' u: s% E
调试的时候,把tablefile.find(`[1,1]..`[1,*],@)粘贴到表达式两行位置,结果发现这条语句在同一时刻,一行显示true,一行显示false,我实在不知道是怎么回事,请大家有时间帮忙解惑一下,不甚感激。# j& K, b; Q6 ^) t$ P! h
& }- P! l1 A+ |
另外把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 3 O+ v  v# B8 m3 R; K0 L
我试了一下,没问题啊,可以参考附件中的模型

+ V2 }/ N4 A/ F1 ~我这边好像还是有些问题,我在您的模型上调了一下还是不行
# y$ `& \( W8 V麻烦您看看,在您那里的运行正常吗?8 H( A+ g- u6 Y0 e
我这是从veryCD上下载的破解版,不会是破解的问题吧?

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-9-9 11:05:20 | 显示全部楼层
本帖最后由 pqxx 于 2011-9-9 11:05 编辑 ) e" g# u' z0 y7 z( X- g1 x
linlin3353 发表于 2011-9-8 15:37
! h- |0 l% l' T# S' r  Y我试了一下,没问题啊,可以参考附件中的模型

" l9 t% Q4 }4 ^. i9 Y" |$ u
" o; J' }; e/ u- g. }这个附件是我这边的运行视频,用screen2exe录制了,所以是exe格式,绝不是病毒。麻烦您给看看吧

本帖子中包含更多资源

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

x
发表于 2011-9-10 14:06:36 | 显示全部楼层
pqxx 发表于 2011-9-9 11:05 ( ], `8 Z, v, B1 L  e# \: @
这个附件是我这边的运行视频,用screen2exe录制了,所以是exe格式,绝不是病毒。麻烦您给看看吧 ...
# [, C' i9 A' {' p  t, P) A: T
看了一下,我也困惑了,时而对时而错。再研究研究吧。。
' H/ p! u. [( B0 P4 O看看论坛里们其他大侠怎么决绝吧。
发表于 2011-9-10 14:18:20 | 显示全部楼层
貌似,如果不设断点进行单步调试的话,模型运行就是正常滴。。
 楼主| 发表于 2011-9-11 11:27:51 | 显示全部楼层
linlin3353 发表于 2011-9-10 14:18
+ t; ^) {# J+ h  S) D8 x3 E6 \貌似,如果不设断点进行单步调试的话,模型运行就是正常滴。。

' z/ c7 G7 [8 m在您那边运行也是如此吗?
, l+ m% Y! F) H还是非常感谢啊
发表于 2011-9-12 18:21:09 | 显示全部楼层
我曾遇到过LZ这个问题/ e$ V) W! c& n4 P
LZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前,一般得设置光标的初始位置,如果你在tablefile[1,3]找到了你要找的文本“true”。当再一次执行method时,你的光标是从
* ^) f- _( N# g5 ~# utablefile[1,3]开始寻找,比如在tablefile[1,5]找到” 。所以就是说你两次运行同一个程序,结果出现不同。所以程序里面必须要设置光标的起始点。
 楼主| 发表于 2011-9-13 09:30:06 | 显示全部楼层
Inwater 发表于 2011-9-12 18:21 2 n# w  V$ R$ h
我曾遇到过LZ这个问题. T8 A5 \$ N' r* [% F
LZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前 ...
, H/ B3 E4 e0 `/ J0 I
在find语句之前加上
1 u7 E8 C8 R0 b6 o' ^tablefile.CursorY:=1;& a+ U: }1 U$ @% Q2 A9 P5 I# R
tablefile.CursorX:=1:
/ D/ N! u% ~( u1 r; @% p之后还是不对,不知道怎么回事。
& f) m' D+ r6 D" A- l; G1 `* d我把tablefile改成cardfile试了试,除了第一个离开track的mus搜索不到之外,别的都可以找到,但新的问题又出来了,当我设置断点调试程序的时候,cardfile里面记录的数据会自动丢失。比如一开始我打开cardfile之后,发现里面有5行数据,看看method之后再回过头来看,发现前两行的数据没了,就像执行了cutrow一样,过一会儿再看,全没了,成空表了。
1 q8 x7 a; h' v! _; b是不是emplant的安装有问题呢?
发表于 2011-9-13 14:16:44 | 显示全部楼层
pqxx 发表于 2011-9-13 09:30
. y" Z* Y0 w7 }1 k在find语句之前加上
" B/ V; s: m0 D$ }7 `, U: \tablefile.CursorY:=1;! c7 f6 ^: w) \. f% s4 t" w8 `" j
tablefile.CursorX:=1:

  s) X% j, |2 q- v* O( |6 C应该和安装没问题,估计还是程序有问题。
0 o$ @, r' H- n- f在看看软件自带的帮助文件吧,估计是对函数的理解不对。
 楼主| 发表于 2011-9-14 08:24:59 | 显示全部楼层
本帖最后由 pqxx 于 2011-9-14 13:05 编辑
& g& ]+ p6 D$ a9 e2 P
Inwater 发表于 2011-9-12 18:21
; G9 @9 ^9 T' N5 ]2 ?我曾遇到过LZ这个问题( y  o# B# x! i
LZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前 ...

$ |/ [5 Q& G- c& X
) _6 B6 T0 S: M% V( N6 Q使用cardfile,在find前面加上cardfile.cursor:=1就没问题了! a, p$ O# z9 v# T6 |
我再试试tablefile啊,先谢谢啦
$ L+ p9 S6 h, I6 g% z  f) l在tablefile前面加上tablefile.cursorX:=1和tablefile.cursorX:=1也OK了
 楼主| 发表于 2011-9-14 15:01:00 | 显示全部楼层
taoyifei2000 发表于 2011-9-14 13:41
. G% P( T4 P& ]/ i. c. H! @刚看到消息,看你已经解决了,修改的模型就不发了,祝贺你,其实就是每次循环光标要初始化一下。 ...
, M2 s) s; y: n: V" k. O1 J
谢谢啊,版面上这个板块的高手最热心肠啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-15 16:19 , Processed in 0.021998 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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