JRA公式競馬データ配信サービス JRA-VAN Data Lab.

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

一括表示 リストに戻る
タイトル全賭式(0B30)での速報オッズ取得について
記事No7250
投稿日: 2023/08/06(Sun) 17:10
投稿者椿
初心者ながらVB2019を使用して開発をしているのですが、JVRTOpenで0B30を指定
したとき、JVReadで単複枠以外が読み込めずに困っています。

例:馬連用に書き換えた部分↓

Dim RaceInfo As JV_O2_ODDS_UMAREN 'レース詳細情報構造体
If Mid(strBuff, 1, 2) = "O2" Then 'レコード種別 ID の識

"オッズ:" & RaceInfo.OddsUmarenInfo(i).Odds 'オッズ
の表示

このように変えたとき、馬連のオッズが読み込まれません。
エラーコードなどを見た限り、JVRTOpenはできているのですがJVReadで単複枠
を読み込んでしまい、'レコード種別IDの識別 の部分でO2に該当するもの
がなく、すべてスキップされているようです。
どのように書き換えると表示するオッズ種類を変えられるのか教えていただき
たいです。


加えて 'オッズの表示 の部分でforループにより全組み合わせを表示して
いるのですが、ループさせずに一括で取得や表示できる方法がもしあれば教えて
いただきたいです。

タイトルRe: 全賭式(0B30)での速報オッズ取得について
記事No7255
投稿日: 2023/08/07(Mon) 13:18
投稿者サメの餌
椿さん、こんにちは。

詳細が若干不明ですが、0B30でJVRTOpenで"O1"の単複枠はJVReadで読めてるんですね?JVReadで読める順番は確か定められてない仕様だった気がします。で、例えば0B30で飛んでくるデータは全賭け式なので"O1"〜"06"全てが飛んできます。仮に馬連だけ読み込みたい場合はJVSkip()で馬連以外を読み飛ばす必要があったかと思います。

この辺りのJVOpenまたはJVRTOpenからのJVReadのループして読み込む処理がJVReadの戻り値で判断するものと読み込まれたデータが自分の欲しいものじゃない場合等諸々考慮しながら、最終的に0が戻る事でループ抜ける感じです。

うまく説明出来てるか分かりませんが、頑張ってください。

タイトルRe^2: 全賭式(0B30)での速報オッズ取得について
記事No7258
投稿日: 2023/08/07(Mon) 23:07
投稿者椿
サメの餌さん、こんばんは。

If Mid(strBuff, 1, 2) = "O2"
のところで馬連だけ読み込み、それ以外はJVSkipで飛ばすように書いたのです
が、そうするとすべてのファイルがスキップされてしまうのです。

JVReadの返り値が962になっているので、JVReadの時点でバッファに単複枠の分
しか入っていないような気がします。
バッファが何なのかも正確にはわかっていないですが、私が現状読み取れてい
るのはこのような感じです。

タイトルRe^3: 全賭式(0B30)での速報オッズ取得について
記事No7259
投稿日: 2023/08/08(Tue) 00:09
投稿者サメの餌
椿さん、こんばんは。

JVReadの返り値が962って分かっているデータは多分"O1"なデータが
読まれている時なのでそれをスキップしてって思うのですが、コーディング全体
が見えている訳ではないので、これ、あくまでも推測なんですよね。

自分自身は今はJVGet使っているのでJVReadと戻り値がどの程度違うか少し自信
がありませんが、戻り値が

0: 全ファイル終了
-1:ファイル切り替わり
-3: ダウンロード中

これより大きなマイナスはエラー(-201とかはInitされてないとか)ですが、プ
ラスの戻り値の時にバッファに読み込まれた文字列の先頭が"02"なら
読んで、それ以外ならJVSkip()するって感じの筈なんですが、"O1"が
読めてるんで多分このチェックのタイミング等が微妙に違う為に思う様に動作し
てないだけだと思います。

JVReedがJVRTOpen時にどんな感じでデータ投げているか把握はしてませんが、&
quot;O1"が1回だけとかどれが何回とかその辺りのチェックが微妙にずれて
いるだけで本来は全データ受ける感じにして受けたデータ全て出力をまあ、ファ
イルになのかDebug.WriteLineとかなのかでしてみれば様子が分かってくると思
います。

この辺りの動き、自分もいまいち自信がある訳じゃないので、実際に見てみる
と実感出来ると思います。

タイトルRe^4: 全賭式(0B30)での速報オッズ取得について
記事No7261
投稿日: 2023/08/08(Tue) 00:18
投稿者椿
サメの餌さん、こちらの書き込み中に回答をいただいていたようです。
NO.7260に書いた通り解決できました。こちらの仕様把握不足でお手数おかけし
て申し訳ないです。

タイトルRe^2: 全賭式(0B30)での速報オッズ取得について
記事No7260
投稿日: 2023/08/08(Tue) 00:12
投稿者椿
サメの餌さん、すみません自己解決できました。

JVSkipの使用を勘違いしておりました。JVRTOpenで"0B30"をダウン
ロードすると、1ファイルしかないのでJVSkipを使ってはいけないようです。
JVSkipを挟まずにForループを回したところうまくいきました。ご迷惑おかけし
ました。

ウィンドウを閉じる