resultcreater.cs

来自「考试管理系统CS架构 不需更多说明」· CS 代码 · 共 103 行

CS
103
字号
using System;
using System.Data;
using System.IO;
using ExamSystem.Common.Objects;
namespace ExamSystem.Common
{
	/// <summary>
	/// CreateResult 的摘要说明。
	/// </summary>
	public class ResultCreater
	{
		string modleRoot;
		public ResultCreater(string modleRoot)
		{
			this.modleRoot=modleRoot;
		}
		
		private string getDetile(DataTable dt)
		{
			string strTitles="";
			for(int i=0;i<dt.Rows.Count;i++)
			{
				strTitles+="<tr><td width=76% bgcolor=\"#CAD8DF\" valign= top>\n";
				string tmpTitle=dt.Rows[i]["TopicDetil"].ToString();
				//过滤字符
				tmpTitle=tmpTitle.Replace("<","&lt;");
				tmpTitle=tmpTitle.Replace(">","&gt;");
				tmpTitle=tmpTitle.Replace("\n","<br>");
				strTitles+="<br>"+(i+1).ToString()+"."+tmpTitle;
				strTitles+="</td><td width=12% align=\"center\" bgcolor=\"#E3EAEE\" < Font Size = \"6\" > "+dt.Rows[i]["TopicAnwser"].ToString()+"</font></td>\n";
				string color="Blue";
				if(dt.Rows[i]["TopicAnwser"].ToString()!=dt.Rows[i]["myAnswer"].ToString())
				{
					color="Red";
				}
				strTitles+="<td width=12% align=\"center\" bgcolor=\"#F4F8F9\"><font color=\""+color+"\" size=\"6\">"+dt.Rows[i]["myAnswer"].ToString()+"</font></td>\n</tr>\n";
				strTitles+="<tr><td width=100% align=\"center\" colspan=\"3\" height=\"1\" bgcolor=\"#ffffff\"></td></tr>";
			}
			return strTitles;
		}
		/// <summary>
		/// 创建报告
		/// </summary>
		/// <param name="dt">考卷</param>
		/// <param name="exam">考试信息</param>
		/// <param name="score">成绩</param>
		/// <param name="totle">总分</param>
		/// <returns></returns>
		public string createResult(DataTable dt,Exam exam,double score,double totle)
		{
//			if(!File.Exists(modleRoot))
//			{
//				return null;
//			}
			StreamReader reader=new StreamReader(modleRoot,System.Text.Encoding.Default);
			string strResult="";
			string tmpStr="";
			while((tmpStr=reader.ReadLine())!=null)
			{
				if(tmpStr.IndexOf("《jtitle》")>=0)
				{
					tmpStr=tmpStr.Replace("《jtitle》",exam.ExamName);
				}
				if(tmpStr.IndexOf("《time》")>=0)
				{
					tmpStr=tmpStr.Replace("《time》",exam.ExamTime.ToString());
				}

				if(tmpStr.IndexOf("《sorce》")>=0)
				{
					tmpStr=tmpStr.Replace("《sorce》",totle.ToString());
				}
				
				if(tmpStr.IndexOf("《ptitle》")>=0)
				{
					tmpStr=tmpStr.Replace("《ptitle》",getDetile(dt));
				}
				
				if(tmpStr.IndexOf("《分数》")>=0)
				{
					tmpStr=tmpStr.Replace("《分数》",score.ToString());
				}
				strResult+=tmpStr;
			}
			reader.Close();
			return strResult;
		}

		/// <summary>
		/// 把数据写到本地
		/// </summary>
		/// <param name="date">数据</param>
		/// <param name="root">路径</param>
		public static void saveResult(string date,string root)
		{
			
			StreamWriter writer=new StreamWriter(root,false,System.Text.Encoding.Default);
			writer.Write(date);
			writer.Close();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?