示例#1
0
        private void button1_Click(object sender, EventArgs e)
        {
            int ret = 0;

            ret = axJVLink1.JVInit("UNKNOWN");

            if (ret != 0)
            {
                //0以外はエラーとなる
                MessageBox.Show("初期化に失敗しました。\nReturnCode=" + ret);
                this.Close();
            }


            String Data          = "RACE";
            String Time          = dateTimePicker1.Value.ToString("yyyyMMdd000000");
            int    opKind        = 1;
            int    ReadCount     = 0;
            int    DownloadCount = 0;
            String LastTime      = null;
            int    Status        = 0;


            ret = axJVLink1.JVOpen(Data, Time, opKind, ref ReadCount, ref DownloadCount, out LastTime);
#if (DebugFlag == true)
            Consoal.WriteLine(ret);
#endif
            if (ret != 0)
            {
                //エラー
                toStr.ErrCodetoString(ret);
                Status = -1;
            }

            String buff;
            int    buffSize = 3000;
            String fName    = null;

            //すでにボタンが押せる状態なら一旦Disbleに
            DisbleButtonFunction();
            returncode.Text = "";

            do
            {
                if (Status == -1)
                {
                    //JVOpenエラー
                    break;
                }

                ret = axJVLink1.JVRead(out buff, out buffSize, out fName);

                if (ret == 0)
                {
                    //ファイル取得の終了(EOF)
                    Status     = -1;
                    info1.Text = "";
                    break;
                }

                if (ret == -1 && buff == null)
                {
                    //1日分のデータ取得完了
                    continue;
                }
                else if (ret <= -2 && buff == null)
                {
                    toStr.ErrCodetoString(ret);
                    Status = -1;
                    break;
                }


                JVData_Struct.RECORD_ID SpecId = new JVData_Struct.RECORD_ID();

                SpecId.RecordSpec = buff.Substring(0, 2);
                String RID = SpecId.RecordSpec;

                switch (RID)
                {
                case "RA":
                    RunRADataFunction(buff);
                    break;

                case "SE":
                    //RunSEDataFunction(buff);
                    break;

                default:
                    axJVLink1.JVSkip();
                    break;
                }
            } while (Status == 0 || Status == 1);

            if (ret != 0)
            {
                //エラーコードを画面上に出す。
                returncode.Text = toStr.ErrCodetoString(ret);
            }

            //ボタンの有効化
            for (int idx = 0; idx <= 2; idx++)
            {
                EnableButtonFunction(SyncData.getJomei(idx));
            }
            axJVLink1.JVClose();
        }
示例#2
0
文件: Main.cs 项目: kanapero46/JvData
        /* JvReadのラッパー関数 */
        private int RunJvReadFunc(out String buff, out int buffSize, out String fName, int funcNumber)
        {
            int     ret;
            int     boolStatus = 0;
            Boolean eof        = false;
            int     racecnt    = 0;
            int     skipCount  = 0;


            do
            {
                ret = JvMain.ReadJv(out buff, out buffSize, out fName);

                if (ret == -1)
                {
                    /* ファイルの切り替え */
                    if (eof == true)
                    {
                        skipCount++;
                        break;
                    } //2日分の開催データ取得完了

                    eof = true;
                    JvMain.SkipJv();
                }
                else if (buff == null)
                {
                    break;  //エラー
                }
                else if (ret == 0)
                {
                    if (eof == true)
                    {
                        /* ファイル読み込みの終了 */
                        break;
                    }
                    else
                    {
                        skipCount++;        //3回以上スキップしたら終了する。
                        JvMain.SkipJv();
                    }
                }
                else if (ret < 0)
                {
                    /* -2以下の場合はエラー*/
                    boolStatus = -1;
                }
                else
                {
                    /* 正常のデータ */
                    eof = false;
                    JVData_Struct.RECORD_ID rec = new JVData_Struct.RECORD_ID();
                    String RecordSpec           = buff.Substring(0, 2);


                    switch (RecordSpec)
                    {
                    case "RA":

                        /* レース情報詳細 */
                        /*JVData_Struct.JV_RA_RACE RaceData = new JVData_Struct.JV_RA_RACE();*/
                        RaceData.SetDataB(ref buff);

                        RunJvReadFuncToRAData(RaceData, funcNumber);
                        //  MessageBox.Show(RaceData.RaceInfo.Hondai);

                        break;

                    case "SE":
                        /* 馬毎レース情報 */
                        RaceUmaData.SetDataB(ref buff);

                        tmpRaceData.id.Waku    = Int32.Parse(RaceUmaData.Wakuban);
                        tmpRaceData.id.Umaban  = Int32.Parse(RaceUmaData.Umaban);
                        tmpRaceData.id.Bamei   = RaceUmaData.Bamei;
                        tmpRaceData.id.Jokkey  = RaceUmaData.KisyuRyakusyo;
                        tmpRaceData.id.Omosa   = Double.Parse(RaceUmaData.Futan);
                        tmpRaceData.Kyakushitu = RaceUmaData.KyakusituKubun;
                        tmpRaceData.sex        = Func.ChgSexCdToString(RaceUmaData.SexCD);
                        tmpRaceData.Year       = Int32.Parse(RaceUmaData.Barei);

                        ArrayRaceData.Add(tmpRaceData);

                        break;

                    /* 競走馬マスタ取得 → dataspecをRCOVで指定するときに処理される */
                    case "UM":
                        JVData_Struct.JV_UM_UMA UmaMaster = new JVData_Struct.JV_UM_UMA();
                        UmaMaster.SetDataB(ref buff);

                        RunJvReadMasterFunc(UmaMaster);

                        break;

                    default:
                        JvMain.SkipJv();
                        break;
                    }
                }
            } while (boolStatus == 0 && skipCount < 3);

            if (boolStatus == -1)
            {
                CheckErrorCode(ret);
            }

            return(ret);
        }