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())); } }
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(); }
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; }); }
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)); }
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}")); } }); }
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; }
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; } }
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; } }
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 ); } }
private void Rtb_MouseRightButtonUp(object sender, MouseButtonEventArgs e) { RtbResult.SetCarretPosiotion(Mouse.GetPosition((RtbResult))); CheckSpeling(); }
private void BtnReload_Click(object sender, EventArgs e) { RtbResult.Text = RtnClipboard(); RtbResult.Select(0, 0); RtbResult.ScrollToCaret(); }
private void CmsResult_貼り付け_Click(object sender, EventArgs e) { Clipboard.SetText(Regex.Replace(RtnClipboard(), RgxNL, NL)); RtbResult.Paste(); }
private void CmsResult_Opened(object sender, EventArgs e) { _ = RtbResult.Focus(); }