| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2585 人关注过本帖
标题:[求助]表单设置问题
只看楼主 加入收藏
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
结帖率:100%
收藏
 问题点数:0 回复次数:20 
[求助]表单设置问题
前一个月我也遇到同样的问题,表单运行时代码的结果显示在表单上,得到一位高手指点,使用了set talk off可以解决.但现在我设计一个表单,打印前想预览一下,点击预览按钮,结果先显示在表单上,再在报表上显示.用了set talk off 也不能解决问题,请问各位高手,这是为什么?
搜索更多相关主题的帖子: 表单 
2008-02-15 00:07
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:0 
你用的命令是什么?

2008-02-15 07:41
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
我使用的是编程代码,很长,最后一部分是:
sele 8
        append blank
        *set textmerge to
        replace xh with nxh,题型名称 with ctxmc
        *store gctmhandle to _text
        append memo 题目 from tm.txt overwrite
        *store gcdahandle to _text
        append memo 答案 from da.txt overwrite
        erase tm.txt
        erase da.txt
        nxh=nxh+1
        sele 7
        continue
    enddo
    *do form form1
    labtitle=alltrim()
    report form rptsj preview
endif
2008-02-15 16:09
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
打印预览使用下面的命令就会在专门的窗口中显示,不会影响表单.
Report Form 报表文件名 Preview in screen

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2008-02-15 20:21
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
多谢hu9jj的指点!
2008-02-15 22:24
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
按照hu9jj的方法问题并没有解决,仍然有命令的结果显示在表单上。是否与我使用以下的命令有关呢?
store gctmhandle to _text
            if i=1
                \\<<alltrim(str(i))>>.
            else
                \
                \<<alltrim(str(i))>>.
            endif
            \\<<tmtmp>>
            store gcdahandle to _text
            if i=1
                \\<<alltrim(str(i))>>.
            else
                \
                \<<alltrim(str(i))>>.
            endif
            \\  答案:<<datmp>>
            
            i=i+1
            continue
        enddo
        fclose(gctmhandle)
        fclose(gcdahandle)
        sele 8
        append blank
        *set textmerge to
        replace xh with nxh,题型名称 with ctxmc
2008-02-15 22:36
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
是!
用\\命令会直接将结果输出到当前窗口.

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2008-02-16 16:31
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
不改变代码,有办法不让结果输出到当前窗口吗?或者有更好命令代替\\的设置吗?
2008-02-16 17:54
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
输出已经在报表中体现,为什么还要用\\命令直接输出到当前窗口呢?

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2008-02-16 22:22
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
这是代码设置的需要,因为表中有通用型字段。我把全部代码上传,请你帮我分析解决以下。
set talk off
set order to tag
set safety off
sele 8
use sjtmp
sele 3
use tx
sele 4
use st
sele 5
use sjmc
sele 6
use sj
sele 7
use sjtx
if alltrim()==""
   =messagebox("请选择试卷",0+64,"提示")
else
    nxh=1
    sele 7
    locate for 试卷名称=alltrim()
    do while (.not.eof())
        ntx=题型编号
        i=1
        sele 3
        locate for 题型编号=ntx
        ctxmc=题型名称
        *memotm=""
        *memoda=""
        set textmerge on
        set textmerge delimiters to
        set textmerge to tm.txt
        store _text to gctmhandle &&保存tm.txt的句柄
        store -1 to _text &&关闭对tm.txt文件的输出,但保持tm.txt文件的打开
        set textmerge to da.txt &&创建并输出到da.txt
        store _text to gcdahandle &&保存da.txt的句柄
        
        sele 6
        locate for 试卷名称=alltrim() .and. 题型编号=ntx
        do while (.not.eof())
            csth=alltrim(试题号)
            sele 4
            locate for 试题号=csth
            tmtmp=""
            datmp=""
            *if (.not.eof())
                tmtmp=题目
                datmp=答案
            *endif
            sele 6
            nfz=分值
            *memotm=memotm+str(i)+". "+tmtmp
            *memoda=memoda+str(i)+". "+datmp
            store gctmhandle to _text
            if i=1
                \\<<alltrim(str(i))>>.
            else
                \
                \<<alltrim(str(i))>>.
            endif
            \\<<tmtmp>>
            store gcdahandle to _text
            if i=1
                \\<<alltrim(str(i))>>.
            else
                \
                \<<alltrim(str(i))>>.
            endif
            \\  答案:<<datmp>>
            
            i=i+1
            continue
        enddo
        fclose(gctmhandle)
        fclose(gcdahandle)
        sele 8
        append blank
        *set textmerge to
        replace xh with nxh,题型名称 with ctxmc
        *store gctmhandle to _text
        append memo 题目 from tm.txt overwrite
        *store gcdahandle to _text
        append memo 答案 from da.txt overwrite
        erase tm.txt
        erase da.txt
        nxh=nxh+1
        sele 7
        continue
    enddo
    *do form form1
    labtitle=alltrim()
    report form rptsj preview in screen
endif
2008-02-17 00:23
快速回复:[求助]表单设置问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020701 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved