设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6809|回复: 11

[求助] tablefile的find问题

  [复制链接]
发表于 2011-9-8 14:35:36 | 显示全部楼层 |阅读模式
在我的模型中,我在track设置method,把进入track的transporter保存到tablefile(*行,1列,object型)中,当transporter离开track时,设置method查找tablefile中的transporter记录,把正行记录cutrow掉。
' v- e/ e/ X: U2 |现在的问题是我使用语句2 D  J$ ]+ V+ w, N0 g2 d
if tablefile.find(`[1,1]..`[1,*],@) then
* h2 z0 u( q$ n: M删除行逻辑( G: V3 R$ B/ q" V6 Q- u
end;
. r; ]: ^& V! `) P- i3 m我发现find结果总是出错,明明打开tablefile之后可以看见那个transporter,但tablefile.find(`[1,1]..`[1,*],@)的返回值却不一定是true
& a8 D6 P) w2 a3 F1 @9 y0 t; O4 {$ K& ^5 j
调试的时候,把tablefile.find(`[1,1]..`[1,*],@)粘贴到表达式两行位置,结果发现这条语句在同一时刻,一行显示true,一行显示false,我实在不知道是怎么回事,请大家有时间帮忙解惑一下,不甚感激。. \8 d1 a: Z0 |9 ~; O- p& g

+ _8 e0 k; J3 y2 w另外把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
6 k' n' y( x' I# U) O' N我试了一下,没问题啊,可以参考附件中的模型

" |6 W% O9 K$ s/ p6 T我这边好像还是有些问题,我在您的模型上调了一下还是不行" ^" V7 g4 q: ?* l0 h
麻烦您看看,在您那里的运行正常吗?
2 O$ L: t6 R8 D0 H6 f) j我这是从veryCD上下载的破解版,不会是破解的问题吧?

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-9-9 11:05:20 | 显示全部楼层
本帖最后由 pqxx 于 2011-9-9 11:05 编辑
$ F- u8 n5 X0 E8 `
linlin3353 发表于 2011-9-8 15:37 9 F# E7 c4 K% `6 E) @
我试了一下,没问题啊,可以参考附件中的模型
' o. S* T2 F" D

# x6 Z- c8 E# Q8 w7 f" y# ~这个附件是我这边的运行视频,用screen2exe录制了,所以是exe格式,绝不是病毒。麻烦您给看看吧

本帖子中包含更多资源

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

x
发表于 2011-9-10 14:06:36 | 显示全部楼层
pqxx 发表于 2011-9-9 11:05 # k$ t5 _/ q0 |( O+ u' B7 c
这个附件是我这边的运行视频,用screen2exe录制了,所以是exe格式,绝不是病毒。麻烦您给看看吧 ...

( _2 y- R& [5 h) G9 u- `0 C看了一下,我也困惑了,时而对时而错。再研究研究吧。。
: l7 R( L9 F" \; f1 Z看看论坛里们其他大侠怎么决绝吧。
发表于 2011-9-10 14:18:20 | 显示全部楼层
貌似,如果不设断点进行单步调试的话,模型运行就是正常滴。。
 楼主| 发表于 2011-9-11 11:27:51 | 显示全部楼层
linlin3353 发表于 2011-9-10 14:18 ; G1 F7 Z1 E8 W. B; o0 n8 _
貌似,如果不设断点进行单步调试的话,模型运行就是正常滴。。
4 {) I) Y$ {# C
在您那边运行也是如此吗?. r( f% ^( }+ b' k2 N4 D) M$ N
还是非常感谢啊
发表于 2011-9-12 18:21:09 | 显示全部楼层
我曾遇到过LZ这个问题$ v+ f; _5 D% H* a9 C& f
LZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前,一般得设置光标的初始位置,如果你在tablefile[1,3]找到了你要找的文本“true”。当再一次执行method时,你的光标是从7 A8 X( x4 F7 K
tablefile[1,3]开始寻找,比如在tablefile[1,5]找到” 。所以就是说你两次运行同一个程序,结果出现不同。所以程序里面必须要设置光标的起始点。
 楼主| 发表于 2011-9-13 09:30:06 | 显示全部楼层
Inwater 发表于 2011-9-12 18:21
% J% e1 z# L; k" Q2 K" y2 j我曾遇到过LZ这个问题
/ T4 r. e' ?; d  |- o: BLZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前 ...

: `. _) ]/ n: x在find语句之前加上+ P4 c3 B! p$ I( ?2 D
tablefile.CursorY:=1;
+ k/ B3 H0 L+ i( mtablefile.CursorX:=1:2 ~- @6 d) s3 R, e1 F
之后还是不对,不知道怎么回事。$ s4 c$ `' E% I( h) @$ u
我把tablefile改成cardfile试了试,除了第一个离开track的mus搜索不到之外,别的都可以找到,但新的问题又出来了,当我设置断点调试程序的时候,cardfile里面记录的数据会自动丢失。比如一开始我打开cardfile之后,发现里面有5行数据,看看method之后再回过头来看,发现前两行的数据没了,就像执行了cutrow一样,过一会儿再看,全没了,成空表了。
) t  K* E* F4 U( P# J4 r是不是emplant的安装有问题呢?
发表于 2011-9-13 14:16:44 | 显示全部楼层
pqxx 发表于 2011-9-13 09:30 5 V" G! q0 ]/ f3 }0 U# K
在find语句之前加上
% F( t7 B+ u+ y5 s  ^& {tablefile.CursorY:=1;
/ C3 k  d: {$ h% X8 ?- Mtablefile.CursorX:=1:
9 z, G( g$ t* C' O  h+ [
应该和安装没问题,估计还是程序有问题。. l! A6 g3 B/ V6 ?
在看看软件自带的帮助文件吧,估计是对函数的理解不对。
 楼主| 发表于 2011-9-14 08:24:59 | 显示全部楼层
本帖最后由 pqxx 于 2011-9-14 13:05 编辑
, Y$ C- n, D/ J# F
Inwater 发表于 2011-9-12 18:21
$ e' c+ Q& I( r0 C我曾遇到过LZ这个问题; v, ]$ N* ~" ^0 `* p
LZ可以HELP:tablefile.find;仔细看里面的意思。当执行method时,在表格里寻找之前 ...
) }- |8 p1 P; {
. k- A7 I, I7 H/ f' ]1 T
使用cardfile,在find前面加上cardfile.cursor:=1就没问题了! W% @+ l2 w5 D# F. `+ o" {
我再试试tablefile啊,先谢谢啦
) _% O6 `8 w. a  W& ^: [在tablefile前面加上tablefile.cursorX:=1和tablefile.cursorX:=1也OK了
 楼主| 发表于 2011-9-14 15:01:00 | 显示全部楼层
taoyifei2000 发表于 2011-9-14 13:41
- q% |' s8 A/ Y0 z& k5 y8 {刚看到消息,看你已经解决了,修改的模型就不发了,祝贺你,其实就是每次循环光标要初始化一下。 ...
' e6 h! D9 K" R
谢谢啊,版面上这个板块的高手最热心肠啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-17 23:32 , Processed in 0.017971 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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