Notes進度條[C/S]

一、聲明進度條代碼:
我們在數據庫的Script庫中加入名爲ProgressBar的庫,
 
 
在聲明(Declarations)中加入代碼:
Declare Function NEMProgressBegin Lib "nnotesws.dll"() NEMProgressBegin Lib "nnotesws.dll"(Byval wFlags As Integer) As Long        
Declare Sub NEMProgressEnd Lib "nnotesws.dll"() NEMProgressEnd Lib "nnotesws.dll"(Byval hwnd As Long)        
Declare Sub NEMProgressSetBarPos Lib "nnotesws.dll"() NEMProgressSetBarPos Lib "nnotesws.dll"(Byval hwnd As Long,Byval dwPos As Long)        
Declare Sub NEMProgressSetBarRange Lib "nnotesws.dll"() NEMProgressSetBarRange Lib "nnotesws.dll"(Byval hwnd As Long,Byval dwMax As Long)        
Declare Sub NEMProgressSetText Lib "nnotesws.dll"() NEMProgressSetText Lib "nnotesws.dll"(Byval hwnd As Long,Byval pcszLine1 As String,Byval pcszLine2 As String)    
Class ProgressBar        
    
Private hwnd As Long        
         '構造類        
New () New (BarRange As Long)            
    On Error Goto ErrorHandler        
                    '創建進度條        
    Me.hwnd = NEMProgressBegin(NPB_TWOLINE)        
                 '設置進度條的總長        
    Call NEMProgressSetBarRange(Me.hwnd,BarRange)        
    Exit Sub        
ErrorHandler:        
    Dim TheError As String        
    TheError = "Constructor:Error" + Str(Err) + ":" + Error$            
    Messagebox TheError,0 + 48,"Progress Bar Error"        
End Sub        
         '回收對象        
Public Sub Delete        
         '取消進度條        
    Call NEMProgressEnd(Me.hwnd)            
End Sub        
    
Sub UpdatePosition() Sub UpdatePosition(BarPos As Long)        
                 '公共方法:更新進度位置        
    Call NEMProgressSetBarPos(Me.hwnd,BarPos)        
End Sub        
    
Sub UpdateProgressText() Sub UpdateProgressText(BarMsg As String,UpdateMsg As String)        
                    '公共方法:更新進度條顯示文字        
    Call NEMProgressSetText(Me.hwnd,BarMsg,UpdateMsg)        
End Sub            
End Class        
 
二、調用:
 
1、在你需要調用的代碼的(Options)中加入:
Use "ProgressBar"
 
2、在Initialize中加入:
  '調用進度條
  ConstNPB_TWOLINE% = 1            
  Dim pb As New ProgressBar(10000)        
  Dim m As Long        
  For m=1 To 10000            
    Call pb.UpdatePosition(m)        
  Next m    
 
然後在notes客戶端運行此代理便可。我在導入Excel數據到Domino中的代理中添加了如上代碼,運行效果如:
這個界面跟我們在平時notes客戶端拷貝數據庫文檔見到的是一樣的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章