72 lines
1.9 KiB
QBasic
72 lines
1.9 KiB
QBasic
Attribute VB_Name = "z_UIMessages_sample"
|
|
' Ìîäóëü âûâîäà ñîîáùåíèé è âçàèìîäåéñòâèÿ ñ ïîëüçîâàòåëåì
|
|
Option Private Module
|
|
Option Explicit
|
|
|
|
'# Êîäû ñîîáùåíèé
|
|
Public Enum MsgCode
|
|
MSG_OK = 0
|
|
|
|
'EM_DOC_NOT_ADDED
|
|
|
|
'IM_SCAN_MODE
|
|
|
|
'QM_ADD_TITLELINK
|
|
End Enum
|
|
|
|
Private g_UI As API_UserInteraction
|
|
|
|
Public Function UserInteraction() As API_UserInteraction
|
|
If g_UI Is Nothing Then _
|
|
Set g_UI = New API_UserInteraction
|
|
Set UserInteraction = g_UI
|
|
End Function
|
|
|
|
Public Function SetUserInteraction(newUI As API_UserInteraction)
|
|
Set g_UI = newUI
|
|
End Function
|
|
|
|
Public Function ProcessErrorMessages(expectedErrors As Scripting.Dictionary)
|
|
If Err.Number = 0 Then _
|
|
Exit Function
|
|
|
|
' Call Unload(CSE_ProgressBar)
|
|
If Not expectedErrors.Exists(Err.Number) Then _
|
|
Call Err.Raise(Err.Number)
|
|
|
|
Select Case Err.Number
|
|
' Case EM_LINK_NO_FILE: Call UserInteraction.ShowMessage(Err.Number, Err.Source)
|
|
End Select
|
|
End Function
|
|
|
|
Public Function UIShowMessage(theCode As MsgCode, ParamArray params() As Variant)
|
|
Dim unwrapped As Variant: unwrapped = params
|
|
unwrapped = FixForwardedParams(unwrapped)
|
|
|
|
Select Case theCode
|
|
' Case EM_DOC_NOT_ADDED
|
|
' Call MsgBox("Äîêóìåíò íå äîáàâëåí â Ðååñòð", vbExclamation)
|
|
|
|
' Case IM_SCAN_MODE
|
|
' Call MsgBox("Äîêóìåíò íàõîäèòñÿ â ðåæèìå ñïðàâî÷íèêà, ññûëêè íå ðàçìå÷àþòñÿ", vbInformation)
|
|
|
|
Case Else
|
|
Call MsgBox("Íåâåðíûé êîä ñîîáùåíèÿ", vbCritical)
|
|
End Select
|
|
End Function
|
|
|
|
Public Function UIAskQuestion(theCode As MsgCode, ParamArray params() As Variant) As Boolean
|
|
Dim unwrapped As Variant: unwrapped = params
|
|
unwrapped = FixForwardedParams(unwrapped)
|
|
|
|
Dim answer As Long: answer = vbNo
|
|
Select Case theCode
|
|
' Case QM_ADD_TITLELINK
|
|
' answer = MsgBox("Âíèìàíèå! Â ïåðâûé àáçàö áóäåò äîáàâëåíà ñîîòâåòñòâóþùàÿ ññûëêà. Ïðîäîëæèòü?", vbYesNo + vbQuestion)
|
|
|
|
Case Else
|
|
Call MsgBox("Íåâåðíûé êîä ñîîáùåíèÿ", vbCritical)
|
|
End Select
|
|
UIAskQuestion = answer = vbYes
|
|
End Function
|