进度条控件_progressbar用法

by admin on 2020年2月2日

大家好!我是一位VFP编程的学习者,现在向大家请教两个问题。
1、在VFP中,如何用代码实现将表单界面直接打印?是不是要转换成图片的形式?怎么样编写程序?
2、有一种产品属性多达30几种,我建了8个数据表来存放字段属性,并以产品编号作为每个表的主键值,请问在一个表单中,怎么样实现选择产品的任意几个属性后,按查找功能键查寻出具有该属性的产品种类并以表格的形式显示出来?表单中显示产品属性的控件我已经把它们与数据源绑定了。

今天将用测试过的进度条控件_therm的用法简单说说。

     在VFP中,表单之间参数的传递与返回主要通过Do Form命令实现

1.添加进度条控件
    你建立一个表单之后,遇到需要较长时间处理任务的时候,
总是希望有一个提示用户进度的工具。
    查找发现VFP提供了这样的工具,_therm.vcx。它不同于.ocx控件,
因此,不能使用菜单中工具和添加ActiveX控件的方法添加进度条。
    正确的添加方法是:
    (1)点击“表单控件”这个工具栏的“查看类”图标;
    (2)弹出一个快捷菜单,单击添加;
    (3)在安装了VFP的系统文件夹…VFP98FCC
这个文件夹里找到可视类库“_therm.vcx”;
    (4)经过上述过程,我们就可以在“表单控件”
工具栏里看到出现_thermometer和_progressbar两个控件,
将_progressbar这个控件添加到表单,至此进度条正确添加完成。

   
假设现在有表单test1和test2,分别表示调用表单和被调用表单,要实现参数的传递和返回,必须进行如下设置:

2.正确使用进度条控件
    这个时候需要使用进度条。我们知道,进度条反映了任务处理的进度,
因此,我们必须知道任务的总数是多少,需要处理的进度如何表示,这些指
标如何在进度条控件中设置等问题。
先谈进度条的属性及方法。
    (1)进度条的属性
    ibasis:指定计算百分数时的基数。实际上就是指需要处理任务的总数。
    ipercentage:指定更新显示时的百分数完成量。实际上就是当前进度。
    iprogress:指定完成(iPercentage) 的百分数。通常这个值就是1=100%。
    (2)进度条的方法
    RESET 方法程序:
        初始化进度条。
        语法:RESET(m.ibasis)
        返回值:无
        参数:m.ibasis 指定从什么地方开始进行进度条显示。一般用0表示。
    Complete 方法程序:
        显示100%完整的进度。
        语法:Complete(m.cTask)
        返回值:无
        参数:m.cTask 指定过程完成时的显示。
    Update 方法程序
        更新进度。
        语法:Update(iProgress, cTask)
        返回值:无
        参数:
        iProgress 指定进程增量。
        cTask 指定需要显示的信息。   
    (3)举例说明:
    假设需要处理10万个数据,目的是从第1个数据到第10万个数据进行处理。
进度就是这样安排的:
    ibasis就是10万了,它表示需要处理的总数。
    iprogress就是1了,它表示完成处理的百分数为100%。
    Update过程输入1个参数,就是当前处理的数据号。
    这样一个简单的进度条示例就是:

        

THISFORM._progressbar1.RESET(0)
nCnt=0
nTotal=1E5
THISFORM._progressbar1.iBasis=nTotal
THISFORM._progressbar1.iProgress=1
FOR nCnt=1 TO nTotal
  THISFORM._progressbar1.UPDATE(nCnt)
ENDFOR

被调用表单test2的属性设置

对象

属性

frmtest2

windowstype

1

 

lcstr

” “(自定义属性)

cmdset

caption

设置返回值

 frmtest2表单的init事件代码如下(用于接收数据):

          Lparameters lcstr

         this.text1.value=lcstr

        this.lcstr=lcstr

cmdset按钮的click事件代码如下(用于修改传递参数,设置返回值):

       thisform.lcstr=thisform.text1.value

frmtest2表单的unload事件代码如下(用于返回数据):

  return thisform.lcstr

 

调用表单test1的设置

对象

属性

text1

value

123456

cmdset

caption

调用表单

 

cmdset按纽的click事件代码(用于参数的传递与返回):

local lcstr

do form test2 to lcstr with thisform.text1.value 
&&(lcstr=>返回的参数  thisform.text1.value=>传递的参数)

thisform.caption=lcstr

 

 

 

转自

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图