예제 #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;
        }
예제 #2
0
        public void downloadLZHFiles(List<string> lstDates, JRDBMember jrdbMem, string appPath)
        {
            try{
                StringBuilder sb = new StringBuilder();
                string strDownLoadFolder = sb.Append(appPath).Append("\\temp").ToString();
                if(Directory.Exists(strDownLoadFolder) == false)
                    Directory.CreateDirectory(strDownLoadFolder);
                sb.Clear();
                WebClient wc = new WebClient();
                wc.Credentials = new NetworkCredential(jrdbMem.UserID, jrdbMem.PassWord);

                for (int i = 0; i < lstDates.Count; i++)
                {
                    sb.Append(strKYLzhUrl).Append(strKYFilePrefix).Append(lstDates[i]).Append(".lzh");
                    string strDLKYFileURL = sb.ToString();
                    sb.Clear();
                    sb.Append(appPath).Append("\\temp\\").Append(strKYFilePrefix).Append(lstDates[i]).Append(".lzh");
                    string strDLKYFile = sb.ToString();
                    sb.Clear();
                    sb.Append(strCYLzhUrl).Append(strCYFilePrefix).Append(lstDates[i]).Append(".lzh");
                    string strDLCYFileURL = sb.ToString();
                    sb.Clear();
                    sb.Append(appPath).Append("\\temp\\").Append(strCYFilePrefix).Append(lstDates[i]).Append(".lzh");
                    string strDLCYFile = sb.ToString();
                    sb.Clear();
                    wc.DownloadFile(strDLKYFileURL, strDLKYFile);
                    wc.DownloadFile(strDLCYFileURL, strDLCYFile);
                }
                wc.Dispose();
            }
            catch (Exception e)
            {
                string s = e.Message;
            }
        }
예제 #3
0
        /// <summary>
        /// 「接続テスト」ボタン押下時処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCheckPass_Click(object sender, EventArgs e)
        {
            txtCheck.Text = "";
            JRDBMember Member = new JRDBMember();
            Member.UserID = txtUserID.Text;
            Member.PassWord = mtxtPassWord.Text;
            JRDBConnect con = new JRDBConnect();

            if (con.IsMemCheck(Member))
            {
                txtCheck.Text = "接続成功!";
            }
            else
            {
                txtCheck.Text = "接続失敗・・・";
            }
        }
예제 #4
0
        /// <summary>
        /// 「印を取得」ボタン押下時処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGetMarks_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            int StartIdx = this.cmbStartDate.SelectedIndex;
            int EndIdx = this.cmbEndDate.SelectedIndex;
            settings = settings.ReadTmarkXML(Application.StartupPath);

            if ((StartIdx < EndIdx) || (StartIdx == -1) || (EndIdx == -1))
            {
                this.Cursor = Cursors.Default;
                MessageBox.Show("開始日付、終了日付が正しく設定されていません。");
            }
            else
            {
                // 選択された日付リストを取得する
                for (int i = EndIdx; i <= StartIdx; i++)
                {
                    lstSelectedDates.Add(lstDates[i]);
                }

                JRDBMember jrdbMem = new JRDBMember();
                jrdbMem.UserID = settings.UserID;
                jrdbMem.PassWord = settings.PassWord;
                JRDBConnect con = new JRDBConnect();
                JRDBtoTFJV j2t = new JRDBtoTFJV();

                // 指定範囲の日付のJRDBファイルをダウンロードする。
                con.downloadLZHFiles(lstSelectedDates, jrdbMem, Application.StartupPath);

                // ダウンロードしたファイルを解凍する。
                j2t.LzhExtract(lstSelectedDates, Application.StartupPath );

                // JRDBから馬印ファイルへ抽出する。
                j2t.JRDBFile2Umashirushi(lstSelectedDates,Application.StartupPath , settings );

                // 作業フォルダを削除する
                Directory.Delete(Application.StartupPath + "\\temp" , true );

                this.Cursor = Cursors.Default;
                MessageBox.Show("処理が終了しました。");

            }
        }
예제 #5
0
        /// <summary>
        /// 「日付取得」ボタン押下時処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSetDates_Click(object sender, EventArgs e)
        {
            settings = settings.ReadTmarkXML(Application.StartupPath);
            JRDBMember jrdbMem = new JRDBMember();
            jrdbMem.UserID = settings.UserID;
            jrdbMem.PassWord = settings.PassWord;

            JRDBConnect con = new JRDBConnect();

            if (con.IsMemCheck(jrdbMem))
            {
                lstDates = con.getDataDates(jrdbMem);
                for(int i = 0; i < lstDates.Count; i++)
                {
                    this.cmbStartDate.Items.Add(lstDates[i]);
                    this.cmbEndDate.Items.Add(lstDates[i]);
                }
                this.btnGetMarks.Enabled = true;
            }
            else
            {
                MessageBox.Show("JRDBのユーザーID、パスワードを設定してください。");
            }
        }
예제 #6
0
        /// <summary>
        /// JRDBの会員かどうかチェックする関数
        /// </summary>
        /// <param name="jrdbMem">JRDBメンバークラス</param>
        /// <returns>True:JRDB会員である False:JRDB会員でない</returns>
        public bool IsMemCheck(JRDBMember jrdbMem)
        {
            bool ret = false ;

            try
            {
                //HttpWebRequestの作成
                HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(strCheckUrl);

                //認証の設定
                webreq.Credentials = new NetworkCredential(jrdbMem.UserID , jrdbMem.PassWord);

                //HttpWebResponseの取得
                HttpWebResponse webres = (HttpWebResponse)webreq.GetResponse();

                //受信して表示
                System.IO.Stream st = webres.GetResponseStream();
                if (st != null)
                {
                    ret = true;
                }
                //閉じる
                st.Close();

            }
            catch(Exception e)
            {
                    string s = e.Message;
                    ret = false;
            }

            return ret;
        }