経過時間(ミリ秒)をフォーマットして表示 <TOP>
ミリ秒で表された数値を経過時間フォーマットで表示します。
StrFromTimerInterval 時間を表す数値を文字列に変換
表示桁数(digit)は、xx時間yy分zz秒の合計桁数を表します。
'================================================================ '= 経過時間(ミリ秒)をフォーマットして表示 '= (StrFromTimeInterval2.bas) '================================================================ #include "Windows.bi" ' 時間を表す数値を文字列に変換 Declare Function Api_StrFromTimeInterval& Lib "shlwapi" Alias "StrFromTimeIntervalA" (ByVal pszOut$, ByVal cchMax&, ByVal dwTimeMS&, ByVal dwDigits&) Var Shared Text(3) As Object Var Shared Edit(1) As Object Var Shared Button1 As Object For i = 0 To 3 If i < 2 Then Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i + 1))) : Edit(i).SetFontSize 14 End If Text(i).Attach GetDlgItem("Text" & Trim$(Str$(i + 1))) : Text(i).SetFontSize 14 Next Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 ShowWindow -1 Cls '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var wTime As Long Var digit As Integer Var sOut As String Var Ret As Long Text(3).SetWindowText "" sOut = String$(100, 0) 'ミリ秒取得 wTime = Val(Edit(0).GetWindowText) 'xx時間yy分zz秒 表示するxxyyzzの桁数取得 digit = Val(Edit(1).GetWindowText) Ret = Api_StrFromTimeInterval(sOut, Len(sOut), wTime, digit) Text(3).SetWindowText sOut End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End