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

タイトル Re^13: 経過時間の算出部分と表示部分の処理はできました。
投稿日: 2008/03/06(Thu) 15:30
投稿者
> 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 bbTime)
>
> Dim Text As Integer
> Dim A As Integer
> Dim Alignment As EAlignment33
>    
>     Call AnElapsedTime
>    
>     Text = mp.A
>    
>     With makeMatrixRect(Col, Row, Cols, Rows)
>         drawText .Left + 0.2, .Top + 0.05, .Right, .Bottom, _
>             Text, Alignment, Color, Font
>     End With
>    
> End Sub

表示するために TimeOutMinutes に入ってくる度に
再度 AnElapsedTime で経過時間を求めて
それを表示するようになってますね。
つまり、計算が必要な場合は同じ計算を2度行い、
計算が不要な時でも計算してしまっている状態です。
また、追加した index が使用されていないので
引数の内容や有無に関わらず結果は同じになってしまいます。

>                     If mp.Game.Team(ixTeam).AnElapsedTime(i) <> -1 Then
>                         Call .AnElapsedTime
>
>                     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

これだと mp.Game.Team(ixTeam).AnElapsedTime(i) <> -1 の時は
経過時間を計算するだけで表示に行かない事になりますね。


> また、ブレークポイントを置いてF8で追っていくと、1回目のコマン
> ドボタンをクリックすると.AnElapsedTime(i)の値は「1」なのですが
> 、ElseIf mp.Game.Team(ixTeam).AnElapsedTime(i) = -1 Then
> の方を選択して動作します。

.AnElapsedTime(i) と i を勘違いしてるってことはないですよね?^^;
もしくは .AnElapsedTime(i) が Boolean型で判定されてるとか?
試しにCInt関数とかで数値型に変換してみてください。

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

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