public ArrayList Execute(string sentence) { if (this._dicDir == "") { return(null); } NMeCab.MeCabParam param = new NMeCab.MeCabParam(); param.DicDir = this._dicDir; param.LatticeLevel = NMeCab.MeCabLatticeLevel.One; NMeCab.MeCabTagger mecabTagger = NMeCab.MeCabTagger.Create(param); string message = mecabTagger.ParseNBest(2, sentence); Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (string m in message.Split('\n')) { try { // 名詞のみ対象 if (m.Split('\t')[1].IndexOf("名詞") == 0) { dictionary.Add(m.Split('\t')[0], "A"); } } catch { } } ArrayList wordList = new ArrayList(); foreach (string key in dictionary.Keys) { wordList.Add(key); } return(wordList); }
public MainWindow() { InitializeComponent(); lastClipboardContent = System.Windows.Clipboard.GetText(); db = new DBAdapter(); var mpara = new NMeCab.MeCabParam(); tagger = NMeCab.MeCabTagger.Create(mpara); ClipboardMonitor(); ClipboardNotification.ClipboardUpdate += ClipboardChanged; Left = SettingsManager.WindowPosition.X; Top = SettingsManager.WindowPosition.Y; Width = SettingsManager.WindowSize.Width; Height = SettingsManager.WindowSize.Height; Task.Run(() => { while (true) { Thread.Sleep(50); Dispatcher.Invoke(() => { try { if (lastClipboardContent != System.Windows.Clipboard.GetText()) { lastClipboardContent = System.Windows.Clipboard.GetText(); ClipboardMonitor(); } } catch (Exception ex) { //System.Windows.MessageBox.Show($"Error reading clipboard ({ex.Message})"); } }); if (isMouseOverWindow) { continue; } Dispatcher.Invoke(() => { if (!SettingsManager.MonitorMousePosition) { return; } var maxH = MyScrollViewer.ScrollableHeight; var moveTo = maxH * MousePositionPercentage(); MyScrollViewer.ScrollToVerticalOffset(moveTo); }); } }); }