Beispiel #1
0
        public List<string> getDataDates(JRDBMember jrdbMem)
        {
            string anchor = "<a href=\"(?<url>.*?)\".*?>(?<text>.*?)</a>";
            JPString jpString = new JPString();

            WebClient wc = new WebClient();
            wc.Credentials = new NetworkCredential(jrdbMem.UserID, jrdbMem.PassWord );

            string html = wc.DownloadString(strCheckUrl);

            Regex re = new Regex(anchor, RegexOptions.IgnoreCase
                                       | RegexOptions.Singleline);

            List<string> lst = new List<string>();
            for (Match m = re.Match(html); m.Success; m = m.NextMatch())
            {
                string strChk = m.Groups["text"].Value;
                if (strChk.Length == 13)
                {
                    lst.Add(jpString.CutStr(strChk, 3, 6));
                }
            }

            return lst;
        }
Beispiel #2
0
        /// <summary>
        ///  同じ馬印ファイルに出力する、JRDB競走馬データのレコードリストから、馬印ファイルに出力する処理
        /// </summary>
        /// <param name="lstData">変換先馬印ファイルが同じ、JRDB競走馬データのリスト</param>
        /// <param name="tfjvShirushiPath">馬印ファイル出力先パス</param>
        /// <param name="MarkKind">出力する馬印の種類</param>
        private void InsertJRDBKYRecToSameShirushi(List<JRDBKYdata> lstData, string tfjvShirushiPath, string MarkKind)
        {
            // 出力先馬印ファイル名(フルパス)を設定
            string TFJVShirushiFileName = tfjvShirushiPath + lstData[0].TFJVMarkFileName;
            FileInfo fio = new FileInfo(TFJVShirushiFileName);

            // 1レース毎の馬印レコード
            string[] RaceMark = new string[MAX_RACE_DAY * MAX_RACE_COUNT];
            JPString jpString = new JPString();

            if (fio.Exists == false)
            {
                for (int i = 0; i < RaceMark.Length ; i++)
                {
                    RaceMark[i] = "      ";		// 先頭の6文字(別で使用する)
                    // ファイル新規作成に付き、1レース当たりの最大頭数分のマークを初期設定する
                    for (int j = 0; j < 18 ; j++)
                    {
                        RaceMark[i] += " ";
                    }
                }
            }
            else
            {
                // 既存馬印ファイルの各レコードを呼び出す
                StreamReader sr = new StreamReader(TFJVShirushiFileName, Encoding.GetEncoding("shift_jis"));
                for (int i = 0; sr.EndOfStream == false; i++)
                {
                    RaceMark[i] = sr.ReadLine();
                }
                sr.Close();
            }

            for (int i = 0; i < lstData.Count; i++)
            {
                // レース開催日・レース番号から出力先馬印ファイルの行数を設定する
                int RaceMarkLineNo = (int.Parse(lstData[i].Day) - 1) * MAX_RACE_COUNT + int.Parse(lstData[i].RaceNo);
                // 馬番から出力先馬印ファイルの行の何byte目かを設定
                int RaceMarkLineByte = 6 + (int.Parse(lstData[i].HorseNo) - 1) * 2;

                // 変更する出力先馬印ファイルのレース開催日・レース番号に対応する馬印レコードを設定
                string chengeRaceMarkLine = RaceMark[RaceMarkLineNo - 1];
                string strChgdMark = "";

                switch(MarkKind){
                    case "11":	strChgdMark = lstData[i].SougouMark;	break;
                    case "12":	strChgdMark = lstData[i].IDMMark;		break;
                    case "13":	strChgdMark = lstData[i].JyohoMark;		break;
                    case "14":	strChgdMark = lstData[i].KishuMark;		break;
                    case "15":	strChgdMark = lstData[i].KyushaMark;	break;
                    case "16":	strChgdMark = lstData[i].ChokyoMark;	break;
                    case "17":	strChgdMark = lstData[i].GekisouMark;	break;
                    case "18":	strChgdMark = lstData[i].TenkaiMark;	break;
                    case "19":	strChgdMark = lstData[i].TenkaiKigo;	break;
                    case "20":	strChgdMark = lstData[i].MankenMark;	break;
                    case "21":	strChgdMark = lstData[i].ChokyoYajirushi;	break;
                    case "22":	strChgdMark = lstData[i].KyushaHyoka;	break;
                    default:	strChgdMark = " ";	break;
                }

                RaceMark[RaceMarkLineNo - 1] = jpString.CutStr(chengeRaceMarkLine , 0 , RaceMarkLineByte )
                                                + strChgdMark
                                                + jpString.CutStr(chengeRaceMarkLine, RaceMarkLineByte + 2 ,jpString.ByteLength(chengeRaceMarkLine) - (RaceMarkLineByte + 2));

                StreamWriter sw = new StreamWriter(TFJVShirushiFileName, false, Encoding.GetEncoding("shift_jis"));
                for (int j = 0; j < RaceMark.Length; j++)
                {
                    sw.WriteLine(RaceMark[j]);
                }
                sw.Close();
            }
        }