Ejemplo n.º 1
0
 public override void ReLoad(int pid)
 {
     CleanData();
     addnew = false;
     PID = pid;
     newProblem = InfoControl.getProProblem(pid);
     rtbPContent.Text = newProblem.problem;
     foreach (ProgramAnswer ans in newProblem.ansList)
     {
         object[] values = new object[2];
         values[0] = ans.SeqNum;
         values[1] = ans.SeqNum.ToString() + ": " + ans.Output;
         dtAnsList.Rows.Add(values);
     }
     switch (newProblem.language)
     {
         case PLanguage.C:
             InfoControl.ClientObj.LoadCCompletion(pid, Convert.ToInt32(InfoControl.User.Id));
             tbProblemFile.Text = InfoControl.config["CompletionPath"] + "p" + pid.ToString() + ".c";
             break;
         case PLanguage.CPP:
             InfoControl.ClientObj.LoadCppCompletion(pid, Convert.ToInt32(InfoControl.User.Id));
             tbProblemFile.Text = InfoControl.config["CompletionPath"] + "p" + pid.ToString() + ".cpp";
             break;
         case PLanguage.VB:
             InfoControl.ClientObj.LoadVbCompletion(pid, Convert.ToInt32(InfoControl.User.Id));
             tbProblemFile.Text = InfoControl.config["CompletionPath"] + "p" + pid.ToString() + ".vb";
             break;
     }
     InfoControl.ClientObj.ReceiveFiles();
 }
Ejemplo n.º 2
0
 public override void ReLoad(int pid)
 {
     CleanData();
     addnew = false;
     PID = pid;
     newProblem = InfoControl.getProProblem(pid);
     rtbPContent.Text = newProblem.problem;
     AnsList = newProblem.ansList;
     foreach (ProgramAnswer ans in newProblem.ansList)
     {
         dtAnsList.Rows.Add(new object[2] { ans.Input, ans.Output });
     }
     switch (newProblem.language)
     {
         case PLanguage.C:
             InfoControl.ClientObj.LoadCFunctionA(pid, Convert.ToInt32(InfoControl.User.Id));
             InfoControl.ClientObj.LoadCFunctionP(pid, Convert.ToInt32(InfoControl.User.Id));
             tbProblemFile.Text = InfoControl.config["FunctionPath"] + "p" + pid.ToString() + ".c";
             tbAnswerFile.Text = InfoControl.config["FunctionPath"] + "a" + pid.ToString() + ".c";
             break;
         case PLanguage.CPP:
             InfoControl.ClientObj.LoadCppFunctionA(pid, Convert.ToInt32(InfoControl.User.Id));
             InfoControl.ClientObj.LoadCppFunctionP(pid, Convert.ToInt32(InfoControl.User.Id));
             tbProblemFile.Text = InfoControl.config["FunctionPath"] + "p" + pid.ToString() + ".cpp";
             tbAnswerFile.Text = InfoControl.config["FunctionPath"] + "a" + pid.ToString() + ".cpp";
             break;
         case PLanguage.VB:
             InfoControl.ClientObj.LoadVbFunctionA(pid, Convert.ToInt32(InfoControl.User.Id));
             InfoControl.ClientObj.LoadVbFunctionP(pid, Convert.ToInt32(InfoControl.User.Id));
             tbProblemFile.Text = InfoControl.config["FunctionPath"] + "p" + pid.ToString() + ".vb";
             tbAnswerFile.Text = InfoControl.config["FunctionPath"] + "a" + pid.ToString() + ".vb";
             break;
     }
     InfoControl.ClientObj.ReceiveFiles();
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 获取程序题答案
 /// </summary>
 /// <param name="pro">所要获取答案的程序题</param>
 /// <returns></returns>
 private static ProgramProblem getPAnswer(IdScoreType pro)
 {
     ProgramProblem programProblem = new ProgramProblem();
     switch (pro.pt)
     {
         case ProblemType.CProgramCompletion:
         case ProblemType.CProgramModification:
         case ProblemType.CProgramFun:
             programProblem.language = PLanguage.C;
             break;
         case ProblemType.CppProgramCompletion:
         case ProblemType.CppProgramModification:
         case ProblemType.CppProgramFun:
             programProblem.language = PLanguage.CPP;
             break;
         case ProblemType.VbProgramCompletion:
         case ProblemType.VbProgramModification:
         case ProblemType.VbProgramFun:
             programProblem.language = PLanguage.VB;
             break;
     }
     switch (pro.pt)
     {
         case ProblemType.CProgramCompletion:
         case ProblemType.CppProgramCompletion:
         case ProblemType.VbProgramCompletion:
             programProblem.Type = ProgramPType.Completion;
             break;
         case ProblemType.CppProgramFun:
         case ProblemType.VbProgramFun:
         case ProblemType.CProgramFun:
             programProblem.Type = ProgramPType.Function;
             break;
         case ProblemType.CppProgramModification:
         case ProblemType.CProgramModification:
         case ProblemType.VbProgramModification:
             programProblem.Type = ProgramPType.Modify;
             break;
     }
     programProblem.type = pro.pt;
     programProblem.score = pro.score;
     programProblem.ansList = ScoreControl.oesData.FindProgramAnswerByPID(pro.id);
     return programProblem;
 }
Ejemplo n.º 4
0
        private void CleanData()
        {
            newProblem = new ProgramProblem();
            rtbPContent.Text = "";
            tbProblemFile.Text = "";
            BlankCount = 0;
            AnsCount = 0;

            dtAnsList = new DataTable();
            dtAnsList.Columns.Add("SeqNum", typeof(int));
            dtAnsList.Columns.Add("Value", typeof(string));
            dvAnsList = new DataView(dtAnsList);
            dvAnsList.Sort = "SeqNum";
            lbAnsList.DataSource = dvAnsList;
            lbAnsList.DisplayMember = "Value";
        }
Ejemplo n.º 5
0
 private List<ProgramProblem> DataSetToListProgram(DataSet Ds)
 {
     DataTable p_Data = Ds.Tables[0];
     // 返回值初始化
     List<ProgramProblem> result = new List<ProgramProblem>();
     for (int j = 0; j < p_Data.Rows.Count; j++)
     {
         ProgramProblem problem = new ProgramProblem();
         PLanguage language=(PLanguage)Convert.ToInt32(p_Data.Rows[j]["Language"]);
         ProgramPType type = (ProgramPType)Convert.ToInt32(p_Data.Rows[j]["Type"]);
         switch (language)
         {
             case PLanguage.C:
                 switch (type)
                 {
                     case ProgramPType.Completion:
                         problem = new PCompletion(ProblemType.CProgramCompletion);
                         break;
                     case ProgramPType.Modify:
                         problem = new PModif(ProblemType.CProgramModification);
                         break;
                     case ProgramPType.Function:
                         problem = new PFunction(ProblemType.CProgramFun);
                         break;
                 }
                 break;
             case PLanguage.CPP:
                 switch (type)
                 {
                     case ProgramPType.Completion:
                         problem = new PCompletion(ProblemType.CppProgramCompletion);
                         break;
                     case ProgramPType.Modify:
                         problem = new PModif(ProblemType.CppProgramModification);
                         break;
                     case ProgramPType.Function:
                         problem = new PFunction(ProblemType.CppProgramFun);
                         break;
                 }
                 break;
             case PLanguage.VB:
                 switch (type)
                 {
                     case ProgramPType.Completion:
                         problem = new PCompletion(ProblemType.VbProgramCompletion);
                         break;
                     case ProgramPType.Modify:
                         problem = new PModif(ProblemType.VbProgramModification);
                         break;
                     case ProgramPType.Function:
                         problem = new PFunction(ProblemType.VbProgramFun);
                         break;
                 }
                 break;
         }
         problem.problemId = Convert.ToInt32(p_Data.Rows[j]["PID"]);
         problem.problem = p_Data.Rows[j]["PContent"].ToString();
         problem.unit.UnitId = Convert.ToInt32(p_Data.Rows[j]["Unit"]);
         problem.unit.UnitName = p_Data.Rows[j]["UnitName"].ToString();
         problem.Plevel = Convert.ToInt32(p_Data.Rows[j]["PLevel"]);
         result.Add(problem);
     }
     return result;
 }