Data.Win.ADODB.TCustomADODataSet.OnFetchProgress
Delphi
property OnFetchProgress: TFetchProgressEvent read FOnFetchProgress write FOnFetchProgress;
C++
__property TFetchProgressEvent OnFetchProgress = {read=FOnFetchProgress, write=FOnFetchProgress};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | published | Data.Win.ADODB.pas Data.Win.ADODB.hpp |
Data.Win.ADODB | TCustomADODataSet |
説明
非同期データの取り出し処理で周期的に発生します。
OnFetchProgress イベントハンドラを記述すると,非同期データ取り出しの処理中に特定のアクションを実行できます。OnFetchProgress イベントはデータ取り出し時に周期的に発生して,その進行度数を提供します。このイベントのハンドラを作成すると,ユーザーにデータ取り出しの進行具合の視覚的示度を提供するなど,この周期的な通知に応答できます。
DataSet は,OnFetchProgress イベントを発生させた ADO データセットコンポーネントです。このデータセットコンポーネントはまた,問題のレコードセットを保持しています。
Progress は,データ取得処理が開始されてから受け取ったレコードの数です。
MaxProgress は,処理で取り出されたレコードの総数です。
Progress と MaxProgress を併用すると,進行状況をパーセント単位で完全に取得できます。たとえば,Progress を MaxProgress で割ってから 100 を乗ずると,データ取り出しの完了割合がパーセント単位で算出されます。
procedure TForm1.ADODataSet1FetchProgress(DataSet: TCustomADODataSet; Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
begin
Caption := 'Percent complete: ' +
IntToStr(Trunc(Progress / MaxProgress * 100)) + '%';
Application.ProcessMessages;
end;
void __fastcall TForm1::ADODataSet1FetchProgress(TCustomADODataSet *DataSet, int Progress, int MaxProgress, TEventStatus &EventStatus)
{
Caption = "Percent complete: " +
IntToStr(Trunc(Progress / MaxProgress * 100)) + "%";
Application->ProcessMessages;
}