https://github.com/kmycode/kmy-keiba
競馬データを閲覧できるソフト「KMY競馬」を開発します
https://github.com/kmycode/kmy-keiba
csharp jra-api jvlink keiba net6 nvlink sqlite3 wpf
Last synced: 5 months ago
JSON representation
競馬データを閲覧できるソフト「KMY競馬」を開発します
- Host: GitHub
- URL: https://github.com/kmycode/kmy-keiba
- Owner: kmycode
- License: other
- Created: 2021-05-18T07:13:24.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T09:07:40.000Z (about 2 years ago)
- Last Synced: 2024-05-21T22:45:05.355Z (about 2 years ago)
- Topics: csharp, jra-api, jvlink, keiba, net6, nvlink, sqlite3, wpf
- Language: C#
- Homepage:
- Size: 6.67 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 50
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# KMY競馬
Windowsで動作する競馬情報閲覧用のアプリです。JRA-VAN、地方競馬DATAのデータを使用します。
アプリの説明書、利用方法についてはWikiを参照してください。

## プロジェクト
| プロジェクト名 | 説明 |
| --- | --- |
| `KmyKeiba` | メインアプリ。64bitでのビルドを想定しています |
| `KmyKeiba.Downloader` | 競馬データをダウンロードするアプリ。
現状はハードコーディングです。プログラムコードを書き換えながら使ってます。
後述する特殊な場合を除き、32bitでビルドしてください |
| `KmyKeiba.JVLink` | JV-LINK、地方競馬DATAよりデータをダウンロードするためのプログラムです |
| `KmyKeiba.Data` | 競馬データの型定義が含まれます。ここにある`MyContextBase`を継承したクラスを利用することで、データベースへアクセスできます |
| それ以外 | 今はメンテナンスしていません。`Keras.NET`を使用したディープラーニングとかとかのコードが入ってます。欲しい人は適当に持ってってください。サポートはしません |
## 動作に必要なもの
[初期設定](https://github.com/kmycode/kmy-keiba/wiki/%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A)をご覧ください。
## ビルド
.NET 8.0とC# 12で開発しているため、Visual Studio 2022以降が必要です。VSインストール時に、デスクトップアプリにチェックを入れてください。
### ビルドする場合の制約事項
GitHubにて公開しているソースコードには、以下の機能が含まれません。
- KSC馬券購入プラグインとの連携ロジック
ソースコードを下記の手順に従ってビルドすると、馬券購入機能はご利用になれません。これらは別途Releaseより配布するバイナリには含まれています。あらかじめご了承ください。Wikiのライセンスもお読みになってください。
### ビルドに必要なもの
アプリの実行では片方だけで構わないのですが、ビルドする場合は、上記「JV-Link」「UmaConn」の両方が必要です。
また、このリポジトリでは、著作権の関係で欠落しているファイルが存在しており、それがないとビルドできません。
[Data Lab. SDK](https://jra-van.jp/dlb/sdv/sdk.html)よりSDK本体をダウンロードしてください。Ver.4.6.0では、以下のような構成になっています。
```
JV-Data構造体
JV-Link
サンプルプログラム
ドキュメント
```
このうち「JV-Data構造体」フォルダの中の「C#版」に含まれる `JVData_Struct.cs` ファイルを `structures.cs` にリネームのうえ、以下のディレクトリにコピーしてください。
`JVLib` フォルダがない場合は作成してください。
```
KmyKeiba.JVLink/JVLib/structures.cs
```
さらに、 `structures.cs` を以下のように編集してください。
```c#
using System.Text;
#nullable disable
namespace KmyKeiba.JVLink.Wrappers.JVLib
{
// <ここに元々のstructures.csの内容を挿入>
//
// public static partial class JVData_Struct
}
```
### ビルド手順
以下の順序でビルドしてください。
```
KmyKeiba.Downloader (x86) -> KmyKeiba (x64)
```
そのあと、`KmyKeiba (x64)`を実行します。
### `Add-Migration` について
このプログラムはEntityFrameworkCoreを使用しています。`Add-Migration` を実行するときには、以下の手順が必要です。
1. プロジェクトのソリューションプラットフォームを`x64`にします
1. パッケージマネージャーコンソール、スタートアッププロジェクト、いずれも`KmyKeiba.Downloader`に設定します
1. `Add-Migration`を実行します
1. プロジェクトのソリューションプラットフォームを`x86`にします
1. `KmyKeiba.Downloader`をビルドします
1. プロジェクトのソリューションプラットフォームを`x64`にします
1. `KmyKeiba`をビルドします