private void button1_Click(object sender, EventArgs e) { //创建完全二叉树 BiTree Frxian = new BiTree(); Frxian.CreateBiTree(Frxian.Head); //准备翻译 if(TextContent.Textcontent == null) { MessageBox.Show("你未打开文件!\n请打开文件后再翻译!"); return ; } string Contentword = TextContent.Textcontent.Replace(" ", ""); //将文件的字符串去掉空格 if (!Frxian.IsLegalWord(Contentword)) MessageBox.Show("对不起, 你的01码文件不符合编码格式\n 其中可能包含了非01字符\n\t 请检查后再载入!"); else { //int n; //基数 //n = Frxian.GetBasnum(TextContent.Textcontent); //获取基数 string sortword = Frxian.SortWords(12); //获取按基数排好序的字符串 sortword = sortword.Insert(0, "s"); //s作为树的头结点的字符 Frxian.InsertBiTree(Frxian.Head, sortword); //将字符插入二叉树,创建二叉树成功 Frxian.I_count = 0; //将全局变量置零,以便下一次打开文件使用 string Translate_str = Frxian.Translation(Contentword); //翻译为字符, 保存到string中 textBox1.Text = null; //清空text内容 textBox1.Text = Translate_str; //将翻译后的字符显示 } }
private void button2_Click(object sender, EventArgs e) { //创建完全二叉树 BiTree Frxian = new BiTree(); Frxian.CreateBiTree(Frxian.Head); //准备翻译 if(TextContent.Textcontent == null) { MessageBox.Show("你未打开文件!\n请打开文件后再生成!"); return ; } string content = Frxian.LegalWord(TextContent.Textcontent.ToString()); //将载入的文字合法化 string sortword = Frxian.SortWords(12); //获取按基数排好序的字符串 sortword = sortword.Insert(0, "0"); //0作为树的头结点的字符 Frxian.InsertBiTree(Frxian.Head, sortword); //将字符插入二叉树,创建二叉树成功 Frxian.I_count = 0; //将全局变量置零,以便下一次打开文件使用 string Codesstring = Frxian.GetWordsCodes(content); //获取全文的01码字符串 textBox1.Text = null; //清空text内容 textBox1.Text = Codesstring; //将翻译后的字符显示 }