コード例 #1
0
        private void btnConvertTest_Click(object sender, EventArgs e)
        {
            if (SelectedParsePattern == null)
            {
                MessageBox.Show("请点击右上角按钮选择匹配规则");
                return;
            }
            IWordCodeGenerater factory = null;

            if (string.IsNullOrEmpty(txbFilePath.Text))
            {
                factory = new WordPinyinGenerater();
            }
            else
            {
                factory = new SelfDefiningCodeGenerater();
                UserCodingHelper.FilePath = txbFilePath.Text;
            }
            SelectedParsePattern.Factory = factory;


            rtbTo.Clear();
            string[] fromList = rtbFrom.Text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string str in fromList)
            {
                string s  = str.Trim();
                var    wl = new WordLibrary {
                    Word = s
                };
                string result = SelectedParsePattern.BuildWLString(wl);
                rtbTo.AppendText(result + "\r\n");
            }
        }
コード例 #2
0
 public ParsePattern()
 {
     Sort = new List <int> {
         1, 2, 3
     };
     sample        = new WordLibrary();
     sample.Count  = 1234;
     sample.Word   = "深蓝词库转换";
     sample.PinYin = new[] { "shen", "lan", "ci", "ku", "zhuan", "huan" };
     Factory       = new WordPinyinGenerater();
 }
コード例 #3
0
        public WordLibraryList Import(string path)
        {
            IWordCodeGenerater pinyinFactory = new WordPinyinGenerater();
            IList <string>     words         = Parse(path);
            var wll = new WordLibraryList();

            foreach (string word in words)
            {
                var wl = new WordLibrary();
                if (IsChinese(word)) //是中文就要进行注音
                {
                    var list = pinyinFactory.GetCodeOfString(word);
                    wl.PinYin = ToArray(list);
                }
                else
                {
                    wl.IsEnglish = true;
                }
                wl.Word  = word;
                wl.Count = DefaultRank;
                wll.Add(wl);
            }
            return(wll);
        }