Ejemplo n.º 1
0
 private void BtnSetClick_Click(object sender, RoutedEventArgs e)
 {
     RtbResult.AppendText("正在写入\r");
     try
     {
         List <string> ChildPath = new List <string>(Directory.GetDirectories(_JdkPath));
         string        JrePath   = System.IO.Path.Combine(_JdkPath, "jre");
         string        BinPath   = System.IO.Path.Combine(_JdkPath, "bin");
         string        LibPath   = System.IO.Path.Combine(_JdkPath, "lib");
         if (ChildPath.Contains(JrePath) && ChildPath.Contains(BinPath) && ChildPath.Contains(LibPath))
         {
             _JavaHome = _JdkPath;
             Environment.SetEnvironmentVariable("JAVA_HOME", _JavaHome, EnvironmentVariableTarget.Machine);
             RtbResult.AppendText("JAVA_HOME写入成功\r");
             Environment.SetEnvironmentVariable("CLASSPATH", _ClassPath, EnvironmentVariableTarget.Machine);
             RtbResult.AppendText("CLASSPATH写入成功\r");
             string PathValue = Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.Machine);
             _PathAdded += PathValue;
             Environment.SetEnvironmentVariable("Path", _PathAdded, EnvironmentVariableTarget.Machine);
         }
         else
         {
             RtbResult.AppendText("写入失败\r");
         }
     }
     catch (Exception ex)
     {
         RtbResult.AppendText(string.Format("写入失败\r+{0}", ex.ToString()));
     }
 }
Ejemplo n.º 2
0
        private void BtnSearch_Click(object sender, EventArgs e)
        {
            if (CmbSearch.Text.Length == 0)
            {
                BtnSearchClear_Click(sender, e);
                return;
            }

            // 検索履歴から重複排除
            _ = CmbSearch.Items.Add(CmbSearch.Text);
            List <string> l1 = new List <string>();

            foreach (string _s1 in CmbSearch.Items)
            {
                l1.Add(_s1);
            }
            l1.Sort();
            CmbSearch.Items.Clear();

            string sOld = "";

            foreach (string _s1 in l1)
            {
                if (sOld != _s1)
                {
                    _    = CmbSearch.Items.Add(_s1);
                    sOld = _s1;
                }
            }
            l1.Clear();

            int iLineBgnPos = 0;

            // 画面を初期化
            RtbResult.Text = GblResult_AryText[GblResult_AryIndex].ToString();

            // 行毎に検索!!
            // 検索位置を着色
            foreach (string _s1 in RtbResult.Text.Split('\n'))
            {
                foreach (Match _m1 in Regex.Matches(_s1, CmbSearch.Text, RegexOptions.IgnoreCase))
                {
                    RtbResult.Select(iLineBgnPos + _m1.Index, _m1.Value.Length);
                    RtbResult.SelectionColor     = Color.White;
                    RtbResult.SelectionBackColor = Color.Red;
                }
                iLineBgnPos += _s1.Length + 1;
            }

            // 最初の検索位置へスクロール
            RtbResult.SelectionStart = Regex.Match(RtbResult.Text, CmbSearch.Text, RegexOptions.IgnoreCase).Index;
            RtbResult.ScrollToCaret();

            _ = CmbSearch.Focus();
        }
Ejemplo n.º 3
0
        private void Analyze(string text)
        {
            _timer.Start();
            _start = DateTime.Now;
            var resultsArray = _analyzer.AnalyzeText(text);

            _lists = _analyzer.CreateWordsCombinations();

            Dispatcher.Invoke(() =>
            {
                RtbResult.Document.Blocks.Clear();
            });
            _timer.Stop();


            for (var i = 0; i < _analyzer.InputWithWhiteMarks.Count(); ++i)
            {
                var i1 = i;
                Dispatcher.Invoke(() =>
                {
                    switch (_lists[i1].Item1.Count())
                    {
                    case int n when n > 1 && !_lists[i1].Item2:
                        RtbResult.AppendTextColors(resultsArray[i1], new SolidColorBrush(Colors.Firebrick), new SolidColorBrush(Colors.White));
                        break;

                    case 1 when _analyzer.InputWithWhiteMarks[i1] != resultsArray[i1]:
                        RtbResult.AppendTextColors(resultsArray[i1], new SolidColorBrush(Colors.LimeGreen), new SolidColorBrush(Colors.Black));
                        break;

                    case 1 when _analyzer.InputWithWhiteMarks[i1] == resultsArray[i1]:
                        RtbResult.AppendTextColors(resultsArray[i1], new SolidColorBrush(Colors.Transparent), (SolidColorBrush)(FindResource("MyAzure")));
                        break;

                    case int n when n > 1 && _analyzer.InputWithWhiteMarks[i1] != resultsArray[i1]:
                        RtbResult.AppendTextColors(resultsArray[i1], new SolidColorBrush(Colors.GreenYellow), new SolidColorBrush(Colors.Black));
                        break;

                    case int n when n > 1 && _analyzer.InputWithWhiteMarks[i1] == resultsArray[i1]:
                        RtbResult.AppendTextColors(resultsArray[i1], new SolidColorBrush(Colors.Gold), new SolidColorBrush(Colors.Black));
                        break;
                    }
                });
            }
            Dispatcher.Invoke(() =>
            {
                LoadingBar.Visibility = Visibility.Hidden;
                BtnStart.IsEnabled    = true;
                BtnSave.IsEnabled     = true;
                BtnLoad.IsEnabled     = true;
            });
        }
Ejemplo n.º 4
0
        private void CheckSpeling()
        {
            var word    = RtbResult.GetSelectedWord();
            var results = new List <string>();

            foreach (var item in _lists)
            {
                if (item.Item1.Contains(word.Text))
                {
                    results = item.Item1.Take(10).ToList();
                }
            }

            RtbResult.SetContextMenu(results, new Regex("[ĄĆĘŁŃÓŚŻŹąćęłńóśżź]"), new SolidColorBrush(Colors.Black), new SolidColorBrush(Colors.LimeGreen), (SolidColorBrush)(FindResource("MyAzure")), new SolidColorBrush(Colors.Transparent));
        }
Ejemplo n.º 5
0
        private void BtnStartSearch_OnClick(object sender, RoutedEventArgs e)
        {
            //ExecuteToStream(BtnStartSearch, () => BtnStartSearch.Visibility = Visibility.Hidden);
            var searchService = new SimleSearchService();

            searchService.Directories.AddRange(_checkBoxsDir.Select(x => x.Tag.ToString()));
            searchService.SearchData = TbSearchData.Text;
            Task.Run(() =>
            {
                var searchingResult = searchService.GetYield();

                foreach (var resultStringPath in searchingResult)
                {
                    ExecuteInParallelThread(RtbResult, () => RtbResult.AppendText($"{resultStringPath}{Environment.NewLine}"));
                }
            });
        }
Ejemplo n.º 6
0
        private void BtnPasteFilename_DragDrop(object sender, DragEventArgs e)
        {
            List <string> l1 = new List <string>();

            foreach (string _s1 in (string[])e.Data.GetData(DataFormats.FileDrop))
            {
                l1.Add(_s1);
            }
            l1.Sort();

            Clipboard.SetText(RtnShortPath(l1));
            RtbResult.Paste();

            RtbResult.Select(0, 0);
            RtbResult.ScrollToCaret();

            Scr.Visible = false;
        }
Ejemplo n.º 7
0
        private void BtnSearchNext_Click(object sender, EventArgs e)
        {
            if (CmbSearch.Text.Length == 0)
            {
                _ = CmbSearch.Focus();
                return;
            }

            _ = RtbResult.Focus();
            CmbSearch.SelectionStart = 0;

            // 行毎に検索!!
            // 検索位置にカーソル移動
            while (Regex.IsMatch(RtbResult.Text, CmbSearch.Text, RegexOptions.IgnoreCase))
            {
                int iLineBgnPos = 0;

                foreach (string _s1 in RtbResult.Text.Split('\n'))
                {
                    // 無駄なループを減らすため、こまめに GblResult_CursorPos の位置をチェック
                    if (iLineBgnPos + _s1.Length > GblResult_CursorPos)
                    {
                        foreach (Match _m1 in Regex.Matches(_s1, CmbSearch.Text, RegexOptions.IgnoreCase))
                        {
                            if (iLineBgnPos + _m1.Index >= GblResult_CursorPos)
                            {
                                _ = RtbResult.Focus();
                                RtbResult.Select(iLineBgnPos + _m1.Index, _m1.Value.Length);
                                GblResult_CursorPos = iLineBgnPos + _m1.Index + _m1.Value.Length;
                                return;
                            }
                        }
                    }
                    iLineBgnPos += _s1.Length + 1;
                }

                GblResult_CursorPos = 0;
            }
        }
Ejemplo n.º 8
0
        private void RtbResult_KeyUp(object sender, KeyEventArgs e)
        {
            // RichTextBox で以下の動作は不安定
            //   [Ctrl]+[↑]
            //   [Ctrl]+[↓]

            // [Ctrl]+[PgUp]
            if (e.KeyData == (Keys.Control | Keys.PageUp))
            {
                RtbResult.Select(0, 0);
                RtbResult.ScrollToCaret();
                return;
            }

            // [Ctrl]+[PgDn]
            if (e.KeyData == (Keys.Control | Keys.PageDown))
            {
                RtbResult.Select(RtbResult.TextLength, 0);
                RtbResult.ScrollToCaret();
                return;
            }

            switch (e.KeyCode)
            {
            case (Keys.Escape):
                CmbSearch.Focus();
                break;

            case (Keys.F3):
                BtnSearchNext_Click(sender, null);
                break;

            default:
                GblResult_CursorPos = RtbResult.SelectionStart;
                break;
            }
        }
Ejemplo n.º 9
0
        private void BtnPasteTextfile_DragDrop(object sender, DragEventArgs e)
        {
            StringBuilder sb = new StringBuilder();
            string        s1 = "";

            foreach (string _s1 in (string[])e.Data.GetData(DataFormats.FileDrop))
            {
                (string _s2, string _s3) = RtnTextFileRead(_s1, false, "");
                if (_s2.Length > 0)
                {
                    _ = sb.Append(_s3);
                }
                else
                {
                    if (File.Exists(_s1))
                    {
                        s1 += "・" + Path.GetFileName(_s1) + NL;
                    }
                }
            }

            Clipboard.SetText(Regex.Replace(sb.ToString(), RgxNL, NL));
            RtbResult.Paste();

            RtbResult.Select(0, 0);
            RtbResult.ScrollToCaret();

            Scr.Visible = false;

            if (s1.Length > 0)
            {
                _ = MessageBox.Show(
                    "[Err] テキストファイルではありません。" + NL + NL + s1,
                    ProgramID
                    );
            }
        }
Ejemplo n.º 10
0
 private void Rtb_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
 {
     RtbResult.SetCarretPosiotion(Mouse.GetPosition((RtbResult)));
     CheckSpeling();
 }
Ejemplo n.º 11
0
 private void BtnReload_Click(object sender, EventArgs e)
 {
     RtbResult.Text = RtnClipboard();
     RtbResult.Select(0, 0);
     RtbResult.ScrollToCaret();
 }
Ejemplo n.º 12
0
 private void CmsResult_貼り付け_Click(object sender, EventArgs e)
 {
     Clipboard.SetText(Regex.Replace(RtnClipboard(), RgxNL, NL));
     RtbResult.Paste();
 }
Ejemplo n.º 13
0
 private void CmsResult_Opened(object sender, EventArgs e)
 {
     _ = RtbResult.Focus();
 }