TNB Library
公開メンバ関数 | 全メンバ一覧
CProgressTime クラス

進捗時間管理クラス [詳解]

#include <TnbProgressTime.h>

公開メンバ関数

 CProgressTime (DWORD ri=5)
 コンストラクタ. [詳解]
 
int EstimateRemainingSecond (void)
 [計算] 残り時間計算 [詳解]
 
int _deprecated EstimateRemainingTime (void)
 [計算] 残り時間計算 [詳解]
 
LONGLONG GetPos (void) const
 [取得] 進捗値取得 [詳解]
 
double GetRate (void) const
 [取得] 経過割合取得 [詳解]
 
LONGLONG GetTotal (void) const
 [取得] 全体値取得 [詳解]
 
void operator++ (int)
 [設定] 進捗 [詳解]
 
void operator++ (void)
 [設定] 進捗 [詳解]
 
void operator+= (LONGLONG d)
 [設定] 進捗 [詳解]
 
void Resume (void)
 [設定] レジューム. [詳解]
 
void Set (LONGLONG pos, LONGLONG total)
 [設定] 進捗、全体値設定 [詳解]
 
void SetPos (LONGLONG pos)
 [設定] 進捗 [詳解]
 
void Start (LONGLONG total=100)
 [開始] 開始. [詳解]
 

詳解

進捗時間管理クラス

全体の大きさを入れ、順次、進捗を通知することで、おおよその残り時間を計算します。
覚え書き
かかった時間から、全体の時間を割り出し、残り時間をだしていますので、 進捗の進みにばらつきがある時、数値はかなりあやふやになります。
使用例
CTickCount tt;
loop ( i, 20 )
{
prog += 5;
Sleep(500);
TRACE2("%3d ; 残り %f秒\n", i, prog.EstimateRemainingSecond());
}
#define loop(VAR, CNT)
loop構文.
Definition: TnbDef.h:343
CProgressTime(DWORD ri=5)
コンストラクタ.
必要ファイル
TnbProgressTime.h
日付
07/01/19 新規作成
11/03/07 計算方法を改善。メソッド改善。

TnbProgressTime.h48 行目に定義があります。

構築子と解体子

◆ CProgressTime()

CProgressTime ( DWORD  ri = 5)

コンストラクタ.

引数
ri進み具合再チェック間隔(秒)。省略すると5秒です。

TnbProgressTime.h56 行目に定義があります。

関数詳解

◆ EstimateRemainingSecond()

int EstimateRemainingSecond ( void  )

[計算] 残り時間計算

覚え書き
Startしてからの時間と、全体長さと現在の進捗から、残り時間を概算します。
戻り値
0以上概算した残り秒。
マイナス計算中など、概算できなかった。

TnbProgressTime.h183 行目に定義があります。

◆ EstimateRemainingTime()

int _deprecated EstimateRemainingTime ( void  )

[計算] 残り時間計算

覚え書き
Startしてからの時間と、全体長さと現在の進捗から、残り時間を概算します。
戻り値
0以上概算した残りミリ秒。
マイナス計算中など、概算できなかった。
非推奨:
精度は秒です。 EstimateRemainingSecond() を使用してください。

TnbProgressTime.h208 行目に定義があります。

◆ GetPos()

LONGLONG GetPos ( void  ) const

[取得] 進捗値取得

戻り値
進捗値

TnbProgressTime.h145 行目に定義があります。

◆ GetRate()

double GetRate ( void  ) const

[取得] 経過割合取得

戻り値
割合

TnbProgressTime.h163 行目に定義があります。

◆ GetTotal()

LONGLONG GetTotal ( void  ) const

[取得] 全体値取得

戻り値
全体値

TnbProgressTime.h154 行目に定義があります。

◆ operator++() [1/2]

void operator++ ( int  )

[設定] 進捗

覚え書き
+1、進捗します。

TnbProgressTime.h136 行目に定義があります。

◆ operator++() [2/2]

void operator++ ( void  )

[設定] 進捗

覚え書き
+1、進捗します。

TnbProgressTime.h127 行目に定義があります。

◆ operator+=()

void operator+= ( LONGLONG  d)

[設定] 進捗

覚え書き
指定加算数、進捗します。
引数
d加算数

TnbProgressTime.h118 行目に定義があります。

◆ Resume()

void Resume ( void  )

[設定] レジューム.

覚え書き
長時間空いた時に再計算させるために使用します。

TnbProgressTime.h82 行目に定義があります。

◆ Set()

void Set ( LONGLONG  pos,
LONGLONG  total 
)

[設定] 進捗、全体値設定

覚え書き
全体値も変更する場合のみ、これを使用します。
引数
pos進捗値。通常、全体値以下の値です。
total全体値。

TnbProgressTime.h107 行目に定義があります。

◆ SetPos()

void SetPos ( LONGLONG  pos)

[設定] 進捗

覚え書き
進捗値を指定します。
引数
pos進捗値。通常、全体値以下の値です。

TnbProgressTime.h96 行目に定義があります。

◆ Start()

void Start ( LONGLONG  total = 100)

[開始] 開始.

引数
total全体値

TnbProgressTime.h65 行目に定義があります。