VisualStudio C#とMySQL or SQLiteで競馬ソフトを作ってみる。そのメモ。

基本情報

JV-Dataの読みとばし

【構文】

void JVSkip( );

【パラメータ】

なし

【戻り値】

なし

【解説】

JVOpen で準備した JV-Data を読み込み中に不要なレコード種別を読み飛ばすために使用します。
JVSkip メソッドを呼び出すと現在読み込み中のファイルにレコードが残っていても次のファイルの先頭までファイルポインタを進めます。
JVRead/JVGets メソッドは物理的には複数のファイルであっても1つのファイルであるかのように連続してデータを読み出します。

蓄積系データは1つのファイルにレコード種別は1種類しか収容されていません。
したがって JVRead/JVGets メソッドで読み出されたレコードが処理不要のレコード種別であった場合に JVSkip メソッドを呼び出し、そのファイルに収容されている残りの処理不要レコードを読み飛ばし処理時間を短縮することができます。

速報系データは1回の JVRTOpen に対して1ファイルしか返されないので JVSkip には意味がありません。

例えばデータ種別”DIFF”を dataspec に指定して JVRead/JVGets を行なうと
・レース詳細(“RA”) ・馬毎レース情報(“SE”)
・競走馬(“UM”) ・騎手(“KS”)
・調教師(“CH”) ・生産者(“BR”)
・馬主(“BN”) ・レコード(“RC”)
の8種類のデータを読み出す可能性がありますが、このうち”BR”と”BN”が不要なデータである場合には次のロジックにより処理時間が短縮されます。

【注意点】

・JVSkip を複数回連続して呼び出しても1回呼び出した場合と同じ動作をします。
・JVOpen 直後に JVSkip を呼び出すと次の JVRead/JVGets では2ファイル目の先頭レコードを読みます。
・JVRead/JVGets で-1 が返った直後に JVSkip を呼び出すと次のファイルを読み飛ばします。
・JVSkip で読み飛ばしたファイルが最後のファイルである場合は次の JVRead/JVGets で 0 が返ります。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

メンバーのみ編集できます