replace 迷惑中?(在线)

colorrain 2003-07-09 09:58:19
INDEX ON BY TAG BY
REPLACE BY WITH ('0000')
copy to 1.dbf
TOTAL ON BY TO ls
REPLACE BY WITH ('0' + U027)
copy to 2.dbf
TOTAL ON BY TO ls0
REPLACE BY WITH (SUBSTR(BY,1,2))
TOTAL ON BY TO ls1
copy to 3.dbf
这段代码执行结果非常奇怪。
replace by with ('0000')正常执行了。但在total之后的replace 运行不正常。
表现如下:
我在foxpro 命令窗口中一条条手动执行这段代码,执行过程中没有去激活数据表窗口。结果total之后的repl不生效。但如果是没执行一条语句就去点一下数据表窗口的话,total后的repl就起作用。什么原因?
这段代码是别人程序里的,在程序中运行时,好像total 后的repl 也不起作用?
到底怎么回事?
清多多指点?
...全文
25 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
colorrain 2003-07-09
  • 打赏
  • 举报
回复
我只是想知道那段反编译程序代码的作用,他的实际执行结果应该就是
total 后面的repl 不起作用吧?
kinlzy 2003-07-09
  • 打赏
  • 举报
回复
SELECT 0
USE ii
REPLACE U030B WITH (0)
REPLACE U030B WITH (1) FOR .NOT. EMPTY(U030)
INDEX ON BY TAG BY
REPLACE BY WITH ('0000')
TOTAL ON BY TO ls
sele ii
REPLACE BY WITH ('0' + U027)
TOTAL ON BY TO ls0
sele ii
REPLACE BY WITH (SUBSTR(BY,1,2))
TOTAL ON BY TO ls1
lz_zxf 2003-07-09
  • 打赏
  • 举报
回复
你是要替换一条还是全部,如果是一条,请确定当前记录号,如果是全部请使用
Replace All BY With ('0' + U027)

因为Replace 默认的是一条记录。
colorrain 2003-07-09
  • 打赏
  • 举报
回复
这是反编译出来的一段代码,
源码如下
SELECT 0
USE ii
REPLACE U030B WITH (0)
REPLACE U030B WITH (1) FOR .NOT. EMPTY(U030)
INDEX ON BY TAG BY
REPLACE BY WITH ('0000')
TOTAL ON BY TO ls
REPLACE BY WITH ('0' + U027)
TOTAL ON BY TO ls0
REPLACE BY WITH (SUBSTR(BY,1,2))
TOTAL ON BY TO ls1
运行结果却是total on by to ..下面的replace 不起作用。结果生成的ls 文件都是相同的?
这些replace 为什么不执行呢?如果不执行这些代码又有什么用?
WUHANBIN 2003-07-09
  • 打赏
  • 举报
回复
在替换前增加一条选择工作区的语句-------先择你要执行操作的表
fj_jiangqi 2003-07-09
  • 打赏
  • 举报
回复
在total运行后,当前表记录在最后一条的后面,所以repl无效。
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧