示例#1
0
        public void Run()
        {
            StringBuilder strBldr = new StringBuilder();
            StringWriter strWriter = new StringWriter(strBldr);
            HtmlTextWriter writer = new HtmlTextWriter(strWriter);

            string cssContent = Properties.Resources.CssContent;
            string jsContent = Properties.Resources.JsContent;

            //<!DOCTYPE html>
            writer.WriteLine("<!DOCTYPE html>");

            //<html>
            writer.RenderBeginTag(HtmlTextWriterTag.Html);

            // <head>
            writer.RenderBeginTag(HtmlTextWriterTag.Head);

            // <meta charset="iso-8859-1">
            writer.WriteLine("<meta charset=\"iso-8859-1\">");

            // <style>
            writer.RenderBeginTag(HtmlTextWriterTag.Style);

            writer.Write(cssContent);

            // </style>
            writer.RenderEndTag();

            //<script>
            writer.RenderBeginTag(HtmlTextWriterTag.Script);

            writer.Write(jsContent);

            //</script>
            writer.RenderEndTag();

            // </head>
            writer.RenderEndTag();

            // <body>
            writer.RenderBeginTag(HtmlTextWriterTag.Body);

            // <p style="text-align:center">
            writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "center");
            writer.RenderBeginTag(HtmlTextWriterTag.H2);
            writer.Write("HTK Results Analysis for ");

            // <strong>
            writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "blue");
            writer.RenderBeginTag(HtmlTextWriterTag.Strong);
            writer.Write(myConfig.myWord);

            // </strong>
            writer.RenderEndTag();

            // </p>
            writer.RenderEndTag();

            //<div class="alert alert-info">
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "alert alert-info");
            writer.AddAttribute(HtmlTextWriterAttribute.Id, "quicktips");
            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "removetips()");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            //<strong>
            writer.RenderBeginTag(HtmlTextWriterTag.Strong);
            writer.Write("Quick Tips! ");

            //</strong>
            writer.RenderEndTag();
            writer.Write("Some of the contents don't work well on Internet Explorer. " +
                "If you encounter any problems, try using Firefox or Google Chrome.");

            //</div>
            writer.RenderEndTag();

            // <table id="t01">
            writer.AddAttribute(HtmlTextWriterAttribute.Id, "t01");
            writer.RenderBeginTag(HtmlTextWriterTag.Table);

            // <tr>
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);

            // <th>
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Correctness");

            // </th>
            writer.RenderEndTag();

            // <th>
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Recognized");

            // </th>
            writer.RenderEndTag();

            // <th>
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("User recording");

            // </th>
            writer.RenderEndTag();

            // <th>
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Sample recording");

            // </th>
            writer.RenderEndTag();

            // </tr>
            writer.RenderEndTag();

            if ((myConfig.listRecognized != null) && (myConfig.listRecognized.Count > 0))
            {
                // this counter is for the wave files for the user recording
                int userRecordingId = 0;

                foreach (string word in myConfig.listRecognized)
                {
                    Examiner examiner = new Examiner(word, myConfig.myWord);
                    int result = examiner.getComparedResult();

                    // <tr class="?">
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, resultToClassName(result));
                    writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                    // <td>
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    // <img src="the path" alt="correctness">
                    writer.AddAttribute(HtmlTextWriterAttribute.Src,
                        ((examiner.wordsMatch()) ? "image/correct.png" : "image/wrong.png"));
                    writer.AddAttribute(HtmlTextWriterAttribute.Alt,
                        ((examiner.wordsMatch()) ? "Correct" : "Wrong"));

                    writer.RenderBeginTag(HtmlTextWriterTag.Img);

                    // </img>
                    writer.RenderEndTag();

                    // </td>
                    writer.RenderEndTag();

                    // <td>
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    writer.Write(word);

                    // </td>
                    writer.RenderEndTag();

                    // <td>
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    // add the user recording to the html report
                    // <audio controls>
                    userRecordingId += 1;
                    writer.RenderBeginTag("audio controls");

                    writer.AddAttribute(HtmlTextWriterAttribute.Src,
                          myConfig.GetRecPath(userRecordingId, HtmlConfig.pathType.partialUserRecPath));
                    writer.AddAttribute(HtmlTextWriterAttribute.Type, "audio/wav");

                    // <source>
                    writer.RenderBeginTag("source");
                    writer.Write("Your browser does not support the audio element.");

                    // </source>
                    writer.RenderEndTag();

                    // </audio>
                    writer.RenderEndTag();

                    // </td>
                    writer.RenderEndTag();

                    // <td>
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    // add the user recording to the html report
                    // <audio controls>
                    writer.RenderBeginTag("audio controls");

                    //writer.AddAttribute(HtmlTextWriterAttribute.Src,
                    //    string.Format("sound/sampleRecording-{0}.wav", userRecordingId.ToString("D4")));

                    writer.AddAttribute(HtmlTextWriterAttribute.Src,
                        myConfig.GetRecPath(userRecordingId, HtmlConfig.pathType.partialSampleRecPath));
                    writer.AddAttribute(HtmlTextWriterAttribute.Type, "audio/wav");

                    // <source>
                    writer.RenderBeginTag("source");
                    writer.Write("Your browser does not support the audio element.");

                    // </source>
                    writer.RenderEndTag();

                    // </audio>
                    writer.RenderEndTag();

                    // </td>
                    writer.RenderEndTag();

                    // </tr>
                    writer.RenderEndTag();
                }
            }

            // </table>
            writer.RenderEndTag();

            // <h3>
            writer.RenderBeginTag(HtmlTextWriterTag.H3);
            writer.Write("Overall Results");

            // </h3>
            writer.RenderEndTag();

            // <p style="color:green">
            writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "green");
            writer.RenderBeginTag(HtmlTextWriterTag.P);

            writer.Write(string.Format("Correctness = {0}", myConfig.correctnessValue));

            // </p>
            writer.RenderEndTag();

            // </body>
            writer.RenderEndTag();

            // </html>
            writer.RenderEndTag();

            File.WriteAllText(htmlPath, writer.InnerWriter.ToString(), Encoding.GetEncoding(MaoriEncodingCode));
        }
示例#2
0
        public void Run()
        {
            StringBuilder  strBldr   = new StringBuilder();
            StringWriter   strWriter = new StringWriter(strBldr);
            HtmlTextWriter writer    = new HtmlTextWriter(strWriter);

            string cssContent = Properties.Resources.CssContent;
            string jsContent  = Properties.Resources.JsContent;

            //<!DOCTYPE html>
            writer.WriteLine("<!DOCTYPE html>");

            //<html>
            writer.RenderBeginTag(HtmlTextWriterTag.Html);

            // <head>
            writer.RenderBeginTag(HtmlTextWriterTag.Head);

            // <meta charset="iso-8859-1">
            writer.WriteLine("<meta charset=\"iso-8859-1\">");

            // <style>
            writer.RenderBeginTag(HtmlTextWriterTag.Style);

            writer.Write(cssContent);

            // </style>
            writer.RenderEndTag();

            //<script>
            writer.RenderBeginTag(HtmlTextWriterTag.Script);

            writer.Write(jsContent);

            //</script>
            writer.RenderEndTag();

            // </head>
            writer.RenderEndTag();

            // <body>
            writer.RenderBeginTag(HtmlTextWriterTag.Body);

            // <p style="text-align:center">
            writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "center");
            writer.RenderBeginTag(HtmlTextWriterTag.H2);
            writer.Write("HTK Results Analysis for ");

            // <strong>
            writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "blue");
            writer.RenderBeginTag(HtmlTextWriterTag.Strong);
            writer.Write(myConfig.myWord);

            // </strong>
            writer.RenderEndTag();

            // </p>
            writer.RenderEndTag();

            //<div class="alert alert-info">
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "alert alert-info");
            writer.AddAttribute(HtmlTextWriterAttribute.Id, "quicktips");
            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "removetips()");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            //<strong>
            writer.RenderBeginTag(HtmlTextWriterTag.Strong);
            writer.Write("Quick Tips! ");

            //</strong>
            writer.RenderEndTag();
            writer.Write("Some of the contents don't work well on Internet Explorer. " +
                         "If you encounter any problems, try using Firefox or Google Chrome.");

            //</div>
            writer.RenderEndTag();

            // <table id="t01">
            writer.AddAttribute(HtmlTextWriterAttribute.Id, "t01");
            writer.RenderBeginTag(HtmlTextWriterTag.Table);

            // <tr>
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);

            // <th>
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Correctness");

            // </th>
            writer.RenderEndTag();

            // <th>
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Recognized");

            // </th>
            writer.RenderEndTag();

            // <th>
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("User recording");

            // </th>
            writer.RenderEndTag();

            // <th>
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Sample recording");

            // </th>
            writer.RenderEndTag();

            // </tr>
            writer.RenderEndTag();

            if ((myConfig.listRecognized != null) && (myConfig.listRecognized.Count > 0))
            {
                // this counter is for the wave files for the user recording
                int userRecordingId = 0;

                foreach (string word in myConfig.listRecognized)
                {
                    Examiner examiner = new Examiner(word, myConfig.myWord);
                    int      result   = examiner.getComparedResult();

                    // <tr class="?">
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, resultToClassName(result));
                    writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                    // <td>
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    // <img src="the path" alt="correctness">
                    writer.AddAttribute(HtmlTextWriterAttribute.Src,
                                        ((examiner.wordsMatch()) ? "image/correct.png" : "image/wrong.png"));
                    writer.AddAttribute(HtmlTextWriterAttribute.Alt,
                                        ((examiner.wordsMatch()) ? "Correct" : "Wrong"));

                    writer.RenderBeginTag(HtmlTextWriterTag.Img);

                    // </img>
                    writer.RenderEndTag();

                    // </td>
                    writer.RenderEndTag();

                    // <td>
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    writer.Write(word);

                    // </td>
                    writer.RenderEndTag();

                    // <td>
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    // add the user recording to the html report
                    // <audio controls>
                    userRecordingId += 1;
                    writer.RenderBeginTag("audio controls");

                    writer.AddAttribute(HtmlTextWriterAttribute.Src,
                                        myConfig.GetRecPath(userRecordingId, HtmlConfig.pathType.partialUserRecPath));
                    writer.AddAttribute(HtmlTextWriterAttribute.Type, "audio/wav");

                    // <source>
                    writer.RenderBeginTag("source");
                    writer.Write("Your browser does not support the audio element.");

                    // </source>
                    writer.RenderEndTag();

                    // </audio>
                    writer.RenderEndTag();

                    // </td>
                    writer.RenderEndTag();

                    // <td>
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    // add the user recording to the html report
                    // <audio controls>
                    writer.RenderBeginTag("audio controls");

                    //writer.AddAttribute(HtmlTextWriterAttribute.Src,
                    //    string.Format("sound/sampleRecording-{0}.wav", userRecordingId.ToString("D4")));

                    writer.AddAttribute(HtmlTextWriterAttribute.Src,
                                        myConfig.GetRecPath(userRecordingId, HtmlConfig.pathType.partialSampleRecPath));
                    writer.AddAttribute(HtmlTextWriterAttribute.Type, "audio/wav");

                    // <source>
                    writer.RenderBeginTag("source");
                    writer.Write("Your browser does not support the audio element.");

                    // </source>
                    writer.RenderEndTag();

                    // </audio>
                    writer.RenderEndTag();

                    // </td>
                    writer.RenderEndTag();

                    // </tr>
                    writer.RenderEndTag();
                }
            }

            // </table>
            writer.RenderEndTag();

            // <h3>
            writer.RenderBeginTag(HtmlTextWriterTag.H3);
            writer.Write("Overall Results");

            // </h3>
            writer.RenderEndTag();

            // <p style="color:green">
            writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "green");
            writer.RenderBeginTag(HtmlTextWriterTag.P);

            writer.Write(string.Format("Correctness = {0}", myConfig.correctnessValue));

            // </p>
            writer.RenderEndTag();

            // </body>
            writer.RenderEndTag();

            // </html>
            writer.RenderEndTag();

            File.WriteAllText(htmlPath, writer.InnerWriter.ToString(), Encoding.GetEncoding(MaoriEncodingCode));
        }