以 Cricket 'overs' 格式格式化文本?

Formatting text in Cricket 'overs' format?

我正在制作一个 VB6 项目来显示板球比赛的统计数据。在 'overs' 文本框中,我想以 'over.ball'(例如:- 6.2、12.5)的格式显示当前的球和球 我目前已经设置了一个 'up' 按钮,其中添加了“0.1”单击时到文本框。当我点击 'up' 按钮时,如果文本框的当前值为 '0.5' ,它必须变为 '1' [或 '1.0'] 而不是 '0.6' 。

这是我为 'up' 命令添加的代码。

Private Sub up_Click()
overs.Text = overs.Text + 0.1
End Sub

Preview of the application
Code for the 'up' command

那么,我必须在文本框中使用什么格式来显示如上所述的轮询?

注意:对不起!我是 VB6 的新手。因此,如果您想了解有关该问题的更多信息,请告诉我。希望得到您的答复。谢谢!

我在 Excel 中完成了此操作,因为我没有 VB6,但您可以从中获取一些有用的东西。 我创建了一个名为 Innings 的新 class 模块:

Private m_Over As Integer
Private m_Ball As Integer
Public Sub BowlDelivery()
    If m_Ball = 5 Then
        m_Ball = 0
        m_Over = m_Over + 1
    Else
        m_Ball = m_Ball + 1
    End If
End Sub
Public Function ToString() As String
    ToString = Format(m_Over, "##0") + "." + Format(m_Ball, "0")
End Function
Private Sub Class_Initialize()
    m_Over = 0
    m_Ball = 0
End Sub

此 class 封装了投球投球的行为,以及它如何影响投球数和投球数。然后 ToString 方法将这些值格式化为您在分数显示上显示的正常方式。

然后您可以像这样使用 class:

Public Sub TestInnings()
    Dim EnglandFirstInnings As New Innings
    Dim i As Integer
    For i = 1 To 100
        Debug.Print EnglandFirstInnings.ToString()
        EnglandFirstInnings.BowlDelivery
    Next
End Sub

如果您没有在 VB6 中使用过自己的 classes,可能值得阅读有关该主题的一些背景知识,因为它们是隐藏复杂性的好方法。