コード例 #1
0
        public void TestWordLibrary2String()
        {
            ParsePattern parser = new ParsePattern()
            {
                IsPinyinFormat  = true,
                CodeSplitType   = BuildType.FullContain,
                CodeSplitString = ",",
                ContainCode     = true,
                ContainRank     = true,
                SplitString     = "|",
                CodeType        = CodeType.Pinyin,
                Sort            = new List <int>()
                {
                    2, 1, 3
                }
            };
            WordLibrary wl = new WordLibrary()
            {
                Word = "深蓝", Rank = 123, CodeType = CodeType.Pinyin
            };

            wl.Codes = new Code();
            wl.Codes.Add(new[] { "shen" });
            wl.Codes.Add(new[] { "lan" });
            selfDefining.UserDefiningPattern = parser;
            var str = selfDefining.ExportLine(wl);

            Assert.AreEqual(str, "深蓝|,shen,lan,|123");
        }
コード例 #2
0
        public void TestGeneratePinyinThen2String()
        {
            ParsePattern parser = new ParsePattern()
            {
                IsPinyinFormat  = true,
                CodeSplitType   = BuildType.FullContain,
                CodeSplitString = "~",
                ContainCode     = true,
                ContainRank     = true,
                SplitString     = "|",
                CodeType        = CodeType.Pinyin,
                LineSplitString = "\r",
                Sort            = new List <int>()
                {
                    2, 1, 3
                }
            };
            WordLibraryList wll = new WordLibraryList();
            WordLibrary     wl  = new WordLibrary()
            {
                Word = "深蓝", Rank = 123, CodeType = CodeType.UserDefine
            };

            wl.Codes = new Code();
            wl.Codes.Add(new[] { "sn" });
            wl.Codes.Add(new[] { "ln" });
            wll.Add(wl);
            selfDefining.UserDefiningPattern = parser;
            var str = selfDefining.Export(wll);

            Assert.AreEqual(str, "深蓝|~shen~lan~|123\r");
        }
コード例 #3
0
        public void TestPinyinString2WL()
        {
            ParsePattern parser = new ParsePattern()
            {
                IsPinyinFormat  = true,
                CodeSplitType   = BuildType.FullContain,
                CodeSplitString = ",",
                ContainCode     = true,
                ContainRank     = true,
                SplitString     = " ",
                Sort            = new List <int>()
                {
                    2, 1, 3
                }
            };
            var str          = "深蓝 ,shen,lan, 1";
            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = parser;
            var wl = selfDefining.ImportLine(str)[0];

            Assert.AreEqual(wl.Codes[0][0], "shen");
            Assert.AreEqual(wl.Codes[1][0], "lan");
            Assert.AreEqual(wl.Rank, 1);
        }
コード例 #4
0
        public void TestExportPinyinDifferentFormatWL()
        {
            var p = new ParsePattern();

            p.Sort = new List <int>()
            {
                3, 2, 1
            };
            p.SplitString     = "$";
            p.ContainRank     = false;
            p.CodeSplitString = "_";
            p.CodeSplitType   = BuildType.None;
            p.IsPinyinFormat  = true;
            p.CodeType        = CodeType.Pinyin;
            var selfDefining = new SelfDefining();

            selfDefining.UserDefiningPattern = p;
            Console.WriteLine("CodeType:" + selfDefining.UserDefiningPattern.CodeType.ToString());
            var str1 = selfDefining.Export(new WordLibraryList()
            {
                WlData
            });

            Console.WriteLine(str1[0]);
            Assert.AreEqual(str1[0], "深蓝测试$shen_lan_ce_shi\r\n");
        }
コード例 #5
0
        private void InitParsePattern()
        {
            SelectedParsePattern = new ParsePattern();
            SelectedParsePattern.ContainRank = true;
            SelectedParsePattern.ContainCode = true;
            SelectedParsePattern.CodeSplitString = ",";
            SelectedParsePattern.CodeSplitType = BuildType.None;
            SelectedParsePattern.Sort = new List<int> {1, 2, 3};
            SelectedParsePattern.SplitString = " ";


            ShowSample();
        }
コード例 #6
0
        private ParsePattern InitPattern()
        {
            ParsePattern pp = new ParsePattern();

            pp.MutiWordCodeFormat = @"code_e2=p11+p12+p21+p22
code_e3=p11+p21+p31+p32
code_a4=p11+p21+p31+n11";
            pp.IsPinyinFormat     = false;
            pp.ContainRank        = false;
            pp.SplitString        = " ";
            pp.ContainCode        = true;
            return(pp);
        }
コード例 #7
0
        public void TestImportTxt()
        {
            string txt = "深藍 shen,lan 12345";
            var    pp  = new ParsePattern();

            pp.Sort = new List <int>()
            {
                2, 1, 3
            };
            pp.IsPinyinFormat  = true;
            pp.CodeType        = CodeType.Pinyin;
            pp.CodeSplitString = ",";
            pp.SplitString     = " ";
            pp.CodeSplitType   = BuildType.None;
            selfDefining.UserDefiningPattern = pp;

            var x = selfDefining.ImportLine(txt);

            Debug.WriteLine(x[0].ToString());
            Assert.IsNotNullOrEmpty(x[0].Word, "深藍");
        }
コード例 #8
0
        public void TestPinyinString2WL()
        {
            ParsePattern parser = new ParsePattern()
            {
                IsPinyin        = true,
                CodeSplitType   = BuildType.FullContain,
                CodeSplitString = ",",
                ContainCode     = true,
                ContainRank     = true,
                SplitString     = " ",
                Sort            = new List <int>()
                {
                    2, 1, 3
                }
            };
            var wl = parser.BuildWordLibrary("深蓝 ,shen,lan, 1");

            Assert.AreEqual(wl.PinYin[0], "shen");
            Assert.AreEqual(wl.PinYin[1], "lan");
            Assert.AreEqual(wl.Count, 1);
        }
コード例 #9
0
ファイル: MainForm.cs プロジェクト: yongsun/imewlconverter
 private void cbxTo_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cbxTo.Text == ConstantString.SELF_DEFINING) //弹出自定义窗口
     {
         var selfDefining = new SelfDefiningConverterForm();
         selfDefining.IsImport = false;
         DialogResult show = selfDefining.ShowDialog();
         if (show != DialogResult.OK)
         {
             cbxFrom.SelectedText = "";
             return;
         }
         else //选了自定义
         {
             toUserSetPattern = selfDefining.SelectedParsePattern;
         }
     }
     if (cbxTo.Text == ConstantString.XIAOXIAO)
     {
         var diag = new XiaoxiaoConfigForm();
         if (diag.ShowDialog() == DialogResult.OK)
         {
             toCodeType = diag.SelectedCodeType;
         }
     }
     if (cbxTo.Text == ConstantString.RIME)
     {
         var diag = new RimeConfigForm();
         if (diag.ShowDialog() == DialogResult.OK)
         {
             toCodeType = diag.SelectedCodeType;
         }
     }
 }
コード例 #10
0
ファイル: MainForm.cs プロジェクト: yongsun/imewlconverter
 //private void btnExport_Click(object sender, EventArgs e)
 //{
 //    if (MessageBox.Show("是否将文本框中的所有词条保存到本地硬盘上?", "是否保存", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==
 //        DialogResult.Yes)
 //    {
 //        saveFileDialog1.DefaultExt = ".txt";
 //        if (cbxTo.Text == ConstantString.MS_PINYIN)
 //        {
 //            saveFileDialog1.DefaultExt = ".dctx";
 //        }
 //        if (saveFileDialog1.ShowDialog() == DialogResult.OK)
 //        {
 //            if (FileOperationHelper.WriteFile(saveFileDialog1.FileName, export.Encoding, richTextBox1.Text))
 //            {
 //                ShowStatusMessage("保存成功,词库路径:" + saveFileDialog1.FileName, true);
 //            }
 //            else
 //            {
 //                ShowStatusMessage("保存失败", false);
 //            }
 //        }
 //    }
 //}
 private void cbxFrom_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cbxFrom.Text == ConstantString.SELF_DEFINING) //弹出自定义窗口
     {
         var selfDefining = new SelfDefiningConverterForm();
         DialogResult show = selfDefining.ShowDialog();
         if (show != DialogResult.OK)
         {
             cbxFrom.SelectedText = "";
             return;
         }
         else //选了自定义
         {
             fromUserSetPattern = selfDefining.SelectedParsePattern;
         }
     }
     if (cbxFrom.Text == ConstantString.XIAOXIAO)
     {
         var diag = new XiaoxiaoConfigForm();
         if (diag.ShowDialog() == DialogResult.OK)
         {
             fromCodeType = diag.SelectedCodeType;
         }
     }
     if (cbxFrom.Text == ConstantString.RIME)
     {
         var diag = new RimeConfigForm();
         if (diag.ShowDialog() == DialogResult.OK)
         {
             fromCodeType = diag.SelectedCodeType;
         }
     }
     if (cbxFrom.Text == ConstantString.LINGOES_LD2)
     {
         var diag = new Ld2EncodingConfigForm(ld2WordEncoding);
         if (diag.ShowDialog() == DialogResult.OK)
         {
             ld2WordEncoding = diag.SelectedEncoding;
         }
     }
 }
コード例 #11
0
 private void btnHelpBuild_Click(object sender, EventArgs e)
 {
     var builder = new HelpBuildParsePatternForm();
     if (builder.ShowDialog() == DialogResult.OK)
     {
         SelectedParsePattern = builder.SelectedParsePattern;
         txbParsePattern.Text = SelectedParsePattern.BuildWLStringSample();
     }
 }