コード例 #1
0
        /// <summary>
        /// 从文本文件读取字典
        /// </summary>
        /// <param name="fileName"></param>
        static public T_DictFile LoadFromTextDict(String fileName)
        {
            T_DictFile dictFile = new T_DictFile();

            String dictStr = CFile.ReadFileToString(fileName, "utf-8");

            String[] words = CRegex.Split(dictStr, "\r\n");

            foreach (String word in words)
            {
                String[] wp = CRegex.Split(word, @"\|");

                if (wp == null)
                {
                    continue;
                }

                if (wp.Length != 2)
                {
                    continue;
                }

                int pos = 0;

                try
                {
                    pos = int.Parse(wp[1]);
                }
                catch
                {
                    continue;
                }

                T_DictStruct dict = new T_DictStruct();
                dict.Word = wp[0];
                dict.Pos  = pos;

                if (dict.Word.Contains("一") || dict.Word.Contains("二") ||
                    dict.Word.Contains("三") || dict.Word.Contains("四") ||
                    dict.Word.Contains("五") || dict.Word.Contains("六") ||
                    dict.Word.Contains("七") || dict.Word.Contains("八") ||
                    dict.Word.Contains("九") || dict.Word.Contains("十"))
                {
                    dict.Pos |= (int)T_POS.POS_A_M;
                }

                if (dict.Word == "字典")
                {
                    dict.Pos = (int)T_POS.POS_D_N;
                }

                dictFile.Dicts.Add(dict);
            }

            return(dictFile);
        }
コード例 #2
0
        /// <summary>
        /// 从文件加载单字词
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        static public IEnumerable <string> LoadSingleWordFromFile(string fileName)
        {
            if (!System.IO.File.Exists(fileName))
            {
                yield break;
            }

            string content = CFile.ReadFileToString(fileName, "utf-8");

            foreach (char c in content)
            {
                if (c >= 0x4e00 && c <= 0x9fa5)
                {
                    yield return(c.ToString());
                }
            }
        }
コード例 #3
0
ファイル: FormMain.cs プロジェクト: Jasolicon/OCR4PPT
        private void BatchInsert(String fileName, String encoder)
        {
            String content = CFile.ReadFileToString(fileName, encoder);

            String[] words = CRegex.Split(content, @"\r\n");

            bool         allUse  = false;
            T_DictStruct lstWord = null;

            foreach (String word in words)
            {
                if (word == null)
                {
                    continue;
                }

                if (word.Trim() == "")
                {
                    continue;
                }

                FormBatchInsert frmBatchInsert = new FormBatchInsert();

                if (!allUse || lstWord == null)
                {
                    frmBatchInsert.Word.Word = word.Trim();

                    if (frmBatchInsert.ShowDialog() == DialogResult.OK)
                    {
                        lstWord = frmBatchInsert.Word;
                        allUse  = frmBatchInsert.AllUse;
                        m_DictManage.InsertWord(lstWord.Word, lstWord.Frequency, lstWord.Pos);
                    }
                }
                else
                {
                    lstWord.Word = word.Trim();
                    m_DictManage.InsertWord(lstWord.Word, lstWord.Frequency, lstWord.Pos);
                }
            }
        }