如何在VB6中设置粘性变量

How to set sticky variables in VB6

我是 Visual Basic 6 的新手,没有机会升级到更新的平台。我们需要对现有程序进行一些更改。

我有一个带有 3 个文本框的表单 (Form1)。我需要在用户填写后保存每个文本框值。

用户按下 Enter 键后,应保存该框的值,稍后测试来自单个 function/Sub 的空值。

这是我目前的情况:

Private Sub empId_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    Dim empId As String
    empId = Form1.empId.Text 'Save this for a later test
  End If
End Sub

Private Sub orderNo_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    Dim orderNo As String
    orderNo = Form1.orderNo.Text 'Save this for a later test
  End If
End Sub

Private Sub partNo_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    Dim partNo As String
    partNo = Form1.partNo.Text 'Save this for a later test
  End If
End Sub

设置完所有变量后,我想做类似的事情:

if(!empId || !orderNo || !partNo) {
  // show error
} else{
  // process the data
}

有人可以告诉我应该怎么做吗?

以下代码与您已经提供的代码类似,但应该满足您的需要:

Option Explicit

Private m_empID As String
Private m_orderNo As String
Private m_partNo As String

Private Sub Form_Load()
   Me.KeyPreview = True
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   m_empID = empID.Text
   m_orderNo = orderNo.Text
   m_partNo = partNo.Text
End Sub

Private Sub ASubCalledLater()
   If m_empID = "" Or m_orderNo = "" Or m_partNo = "" Then
      ' show error
   Else
      ' process the data
   End If
End Sub

您需要将表单 KeyPreview 设置为 True 才能正常工作。