Notes中的进度条

大家好,才是真的好。

随着Notes/Domino产品使用的年限越来越多,积累的数据也越来越多,用程序或代理处理这些文档和数据时,需要漫长等待,常常得不到更多的提示,很多用户会以为Notes客户机假死,于是强制关掉,造成数据处理的失败,接着又跑一遍,造成更多时间浪费。

如果有一种详细进度条提示我们,任务还在正常进行,并且速度还不赖,那么我们的内心的欣喜和体验感受会提升很多。

今天我们就介绍一下Notes应用中的进度条,主要是原生应用中的提示实现。

当然,早在近30年前,这些功能都能够实现,Notes默认就有,如果你的眼睛足够尖锐就可以发现状态栏中的进度显示:
在这里插入图片描述
当然我们更多人希望它在对话框中显示:
在这里插入图片描述
或者像这样的对话框:
在这里插入图片描述
如果对话框能够更加详细就好了:
在这里插入图片描述
还有人在功能实现的基础上,对对话框的美观程度提出了高标准、严要求,也可以进一步进行优化,
在这里插入图片描述
无论哪种,只要你的代码功底强大,在Notes上都充满了可能。

今天我们介绍一个简单的LotusScript进度条。

如果你的Notes运行在Windows平台上,一切就很好办了。我们可以通过C API方式调用几个函数,例如NEMProgressBegin、NEMProgressEnd等,如下图:

Declare Function NEMProgressBegin Lib "nnotesws.dll" ( Byval wFlags As Integer ) As Long

Declare Sub NEMProgressEnd Lib "nnotesws.dll" ( Byval hwnd As Long )

Declare Sub NEMProgressSetBarPos Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwPos As Long)

Declare Sub NEMProgressSetBarRange Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwMax As Long )

Declare Sub NEMProgressSetText Lib "nnotesws.dll" ( Byval hwnd As Long, Byval pcszLine1 As String, Byval pcszLine2 As String )

说明一下,nnotesws.dll是一个动态文件,里面包含很多可以公开调用的C函数。你可以在https://hclsoftware.flexnetoperations.com/flexnet/operationsportal/entitledDownloadFile.action?downloadPkgId=CAPI_Toolkit_11.0.1站点下载说明和示例nsf库,其中apiref.nsf中列举了可公开使用的C API函数。

我们声明调用的函数,如下图所示:
在这里插入图片描述
然后写上正式的代码,里面的注释我写得非常详细,如下:

Const NPB_TWOLINE% = 1

	Dim hwnd As Long

	Dim i As Long

	Dim j As Long

	hwnd = NEMProgressBegin( NPB_TWOLINE )

   ' 设置进度条数据区间

	NEMProgressSetBarRange hwnd, 100

   ' 进度条对话框中的文本显示.

	NemProgressSetText hwnd, "Calculating ...", "Start"

	For i = 0 To 200

		For j = 0 To 9000

         '循环,延迟时间

		Next j

      ' 更新进度条位置

		NEMProgressSetBarPos hwnd, i

      '  更新进度条位置到25%

		If i = 50 Then

			NEMProgressSetText hwnd, "Calculating ....", "25%"

		End If

      ' 更新进度条位置到50%

		If i = 100 Then

			NEMProgressSetText hwnd, "Calculating .....", "50 %"

		End If

       ' 更新进度条位置到75%

		If i = 150 Then

			NEMProgressSetText hwnd, "Calculating ......", "75 %"

		End If

	Next

   ' 关闭更新进度条对话框

	NEMProgressEnd hwnd

也可以在里面加入自己的处理语句等。

执行时,就会出现下列图示:
在这里插入图片描述
这是调用Notes内置的默认进度条对话框,如果需要进一步扩展,可以采用其他方式,例如Java(LS2J)方式来生成更为详细的进度条。

不过,限于篇幅,今天我们就讲到这里吧。

更多精彩文章,请关注微信公众号:协作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值