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

问题描述 投票:0回答:1

我正在制作一个VB6项目来显示板球比赛的统计数据。在'overs'文本框中,我想以'over.ball'格式显示当前结束和球(例如: - 6.2,12.5)我当前设置了一个'up'按钮,在文本框中添加'0.1'点击时。当我单击“向上”按钮时,如果文本框的当前值为“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的新手。所以,如果您想了解有关该问题的更多信息,请告诉我。希望你的回答。谢谢!

vb6
1个回答
0
投票

我已经在Excel中完成了这项工作,因为我没有VB6,但您可以从中获取有用的东西。我创建了一个名为Innings的新类模块:

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

这个类封装了一个交付保龄球的行为,以及它如何影响该交付的过多数量和球数。然后ToString方法将这些值格式化为您在分数显示上显示的正常方式。

然后你可以像这样使用这个类:

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中使用自己的类,那么在这个主题上做一些背景阅读可能是值得的,因为它们是隐藏复杂性的好方法。

© www.soinside.com 2019 - 2024. All rights reserved.