tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: 「0」ではなく「数字」が表示されるようにはなりましたが、
投稿日: 2008/03/07(Fri) 16:57
投稿者tea
改めて質問させていただきます。
Indexはグローバル変数で宣言しています。
コマンドボタンをクリックした場合に1回目の経過時間から7回目の
経過時間を.AnElapsedTime(1)から(7)に値を保存したいと考えて、以
下のようにコードを記述しました。
例としては「1」「2」「3」「4」「=」「5」「6」といった表示にな
ります。
一定期間内にコマンドボタンがクリックされなかった場合に「=(ダ
ブルライン)」を表示するようにしていますが、全7回の内「=」が
入るとその後の経過時間が正しく表示されなくなります。
デバッグもしてみたんですが、わかりません。

どうか教えてください。
よろしくお願いします。

PrintEngineクラス
'チャージドタイムアウト時の残り時間の表示
Public Sub TimeOutMinutes(ByVal Col As Single, _
                           ByVal Row As Single, _
                           ByVal Cols As Single, _
                           ByVal Rows As Single, _
                           Optional ByVal Color As Variant = Empty, _
                           Optional ByVal Font As Object = Nothing, _
                           Optional ByVal Index As Integer)

Dim Text As Integer
Dim Alignment As EAlignment33
  
    Text = Index
    
    With makeMatrixRect(Col, Row, Cols, Rows)
        drawText .Left + 0.2, .Top + 0.05, .Right, .Bottom, _
            Text, Alignment, Color, Font
    End With
    
End Sub
'チャージドタイムアウト取得時の経過時間計測
Public Sub AnElapsedTime()
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Dim f As Integer
Dim g As Integer
Dim h As Integer

    '通常のゲームタイムの経過時間算出
    b = Game.Setting.QuarterMinutes
    c = Left(frmMain.vsGameTime.Value / 60, 1)
    d = b - c
    Index = d
    
    '延長戦のゲームタイムの経過時間算出
    If Game.IsExtraQuarter = True Then
        Select Case Game.Setting.QuarterMinutes
        'クォーター時間が5&6&7分の場合は延長戦は3分
            Case 5, 6, 7
                e = 3
                g = e - c
                Index = g
        'クォーター時間が8&9&10分の場合は延長戦は5分
            Case 8, 9, 10
                f = 5
                h = f - c
                Index = h
            'Case Else
                'Game.Setting.ExtraQuarterMinutes = Game.Setting.QuarterMinutes
        End Select
    End If
End Sub

RScoreSheetCommanderクラス
drawTeam
'チャージドタイムアウト取得時間の表示。
            ixRow = ixRow + 1
            
            For i = bbTimeOutMin To bbTimeOutMax
            
                .DrawMatrixBox i, ixRow, 1, 1
                
                If mp.Game.Team(ixTeam).TimeOutted(i) Then
                    If mp.Game.Team(ixTeam).AnElapsedTime(i) = -1 Then
                        Call .AnElapsedTime
                        '「経過時間」を表示する-----------------
                        .TimeOutMinutes i, ixRow, 1, 1, _
            colorByQuarter(mp.Game.Team(ixTeam).TimeOutted(i)), _
            , Index
                        
            '---表示位置に経過時間の値を保存-------
                        Select Case Index
                        Case 1
                            mp.Game.Team(ixTeam).AnElapsedTime(1) = Index
                        Case 2
                            mp.Game.Team(ixTeam).AnElapsedTime(2) = Index
                        Case 3
                            mp.Game.Team(ixTeam).AnElapsedTime(3) = Index
                        Case 4
                            mp.Game.Team(ixTeam).AnElapsedTime(4) = Index
                        Case 5
                            mp.Game.Team(ixTeam).AnElapsedTime(5) = Index
                        Case 6
                            mp.Game.Team(ixTeam).AnElapsedTime(6) = Index
                        Case 7
                            mp.Game.Team(ixTeam).AnElapsedTime(7) = Index
                        End Select
                        
                    ElseIf mp.Game.Team(ixTeam).AnElapsedTime(i) <> -1 Then
                        Index = mp.Game.Team(ixTeam).AnElapsedTime(i)
                        .TimeOutMinutes i, ixRow, 1, 1, _
            colorByQuarter(mp.Game.Team(ixTeam).TimeOutted(i)), _
            , Index
                    End If
                Else
                    '「=」ダブルラインを表示する。
                    .DrawMatrixCenterDoubleLine i, ixRow, 1, 0.95, _
            colorByQuarter(mp.Game.Team(ixTeam).TimeOutted(i))
                End If
            Next

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。