Example #1
0
 /// <summary>個々の単語の情報をファイル内に書き込みます。</summary>
 /// <param name="w">書き込む単語の情報を格納している 英単語の練習.Word を指定。</param>
 public void writeWordData(英単語の練習.Word w)
 {
     xtw.WriteStartElement("word"); {
         xtw.WriteAttributeString("name", this.escape(w.word + ((w.pron == "")?"":"|" + w.pron)));
         xtw.WriteAttributeString("mean", this.escape(w.mean));
         xtw.WriteStartElement("part"); {
             xtw.WriteAttributeString("value", this.escape(w.part.partString));
             xtw.WriteAttributeString("conjugate", this.escape(w.strConjugate));
         } xtw.WriteEndElement();
         string nm;                //typ nm 参照語の情報を指定する文字列を格納
         int    rwl, exl;          //rwl は参照の、 exl は例文の、数を表します。
         if ((rwl = w.referWord.Count) != 0)
         {
             for (int i = 0; i < rwl; i++)                                    //if( 〜=0)はいらないかも(Count=0になることはない?)
             {
                 refWord rfword = (refWord)w.referWord[i];
                 if ((nm = rfword.word.Trim()) != "")
                 {
                     if (rfword.pron != "")
                     {
                         nm += "|" + rfword.pron;
                     }
                     xtw.WriteStartElement("ref");
                     xtw.WriteAttributeString("type", rfword.typeString);
                     xtw.WriteAttributeString("name", this.escape(nm));
                     if (rfword.mean != "")
                     {
                         xtw.WriteAttributeString("mean", this.escape(rfword.mean));
                     }
                     xtw.WriteAttributeString("part", rfword.part.partString);
                     xtw.WriteEndElement();
                 }
             }
         }
         if ((exl = w.example.Length) != 0)
         {
             for (int i = 0; i < exl; i++)                                   //if( 〜=0)はいらないかも(length=0になることはない?)
             {
                 if (w.example[i].Trim() != "")
                 {
                     xtw.WriteElementString("xmp", this.escape(w.example[i]));
                 }
             }
         }
         xtw.WriteStartElement("exam"); {
             xtw.WriteAttributeString("shutsudai", w.shutsudai.ToString());
             xtw.WriteAttributeString("seikai", w.seikai.ToString());
         } xtw.WriteEndElement();
     } xtw.WriteEndElement();
 }
Example #2
0
 public refWord(string word, string type, string part, string mean)
 {
     string[] word2 = word.Split(new char[] { '|' }, 2);
     this = new refWord(word2[0], type, part, mean, (word2.Length == 2)?word2[1]:"");
 }
Example #3
0
 //=====================================
 //          constructor
 //-------------------------------------
 public refWord(string word)
 {
     this = new refWord(word, "reference", "noun", "", "");
 }
Example #4
0
        //================================
        //        Word functions
        //--------------------------------
        public System.Windows.Forms.ListViewItem ToListViewItem()
        {
            System.Windows.Forms.ListViewItem return1 = new System.Windows.Forms.ListViewItem();
            System.Drawing.Color cBlack = System.Drawing.Color.Black;
            System.Drawing.Font  cFont0 = new System.Drawing.Font("MS UI Gothic", 9);
            //System.Drawing.Font cFont1=new System.Drawing.Font("HG丸ゴシックM-PRO",9);
            //System.Drawing.Font cFont2=new System.Drawing.Font("HG正楷書体-PRO",9);
            //---情報の調整
            //-------単語
            if (return1.SubItems.Count != 0)
            {
                return1.SubItems[0].Text = (this.word == "")?" ":this.word;
            }
            //-------品詞
            return1.SubItems.Add(this.part.IDLetter, this.part.ForeColor, this.part.BackColor, cFont0);
            switch (this.part.partNumber)
            {
            case 0: return1.ImageIndex = 0; break;                //n

            case 1: return1.ImageIndex = 2; break;                //a

            case 2: return1.ImageIndex = 1; break;                //v

            case 3: return1.ImageIndex = 3; break;                //ad

            default:
                return1.ImageIndex = 0;
                break;
            }
            //-------意味・参照
            return1.SubItems.Add(this.mean);
            string refer; int len;           //string refer;int len;

            if ((len = this.referWord.Count) == 0)
            {
                refer = "";
            }
            else
            {
                refWord rfword = (refWord)this.referWord[0];
                refer = rfword.word;
                if (len > 1)
                {
                    for (int ir = 1; ir < len; ir++)
                    {
                        rfword = (refWord)this.referWord[ir];
                        refer += "," + rfword.word;
                    }
                }
            }
            return1.SubItems.Add(refer);
            //-------出題・正解・正解率
            return1.SubItems.Add(this.shutsudai.ToString());
            return1.SubItems.Add(this.seikai.ToString());
            double num = System.Int32.Parse(return1.SubItems[5].Text);
            double den = System.Int32.Parse(return1.SubItems[4].Text);

            if (den == 0)
            {
                return1.SubItems.Add("不定", cBlack, System.Drawing.Color.Silver, cFont0);
            }
            else
            {
                double vNum               = System.Math.Round(num / den * 100);
                int    vColGB             = (int)(127.5 * (1 + vNum / 100));
                System.Drawing.Color vCol = System.Drawing.Color.Yellow;
                if (vColGB > 255)
                {
                    System.Windows.Forms.MessageBox.Show("次の単語に異常が見られます - " + return1.SubItems[0].Text);
                    //vColGB=255;
                }
                else
                {
                    vCol = System.Drawing.Color.FromArgb(255, vColGB, vColGB);
                }
                return1.SubItems.Add(vNum.ToString() + "%", cBlack, vCol, cFont0);
            }
            //-例文
            string exampletext;

            if ((len = this.example.Length) == 0)
            {
                exampletext = "";
            }
            else
            {
                exampletext = this.example[0];
                if (len > 1)
                {
                    for (int ir = 0; ir < len; ir++)
                    {
                        exampletext += "\n" + this.example[ir];
                    }
                }
                if (exampletext != "")
                {
                    return1.ImageIndex += 5;
                }
            }
            return1.SubItems.Add(exampletext);
            return1.UseItemStyleForSubItems = false;
            return(return1);
        }