Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
                    });
                }
            });
        }