/// <summary> /// Get a path for precode of specific language /// </summary> /// <param name="lang">Language of precode</param> /// <returns> /// Returns a valid file name to store precode. /// If CodesPath doesn't exist DefaultCodesPath is used. /// </returns> public static string GetPrecode(Structures.Language lang = Structures.Language.CPP) { string path = RegistryAccess.CodesPath; if (!Directory.Exists(path)) { path = DefaultCodesPath(); } string ext = ".cpp"; switch (lang) { case Structures.Language.C: ext = ".c"; break; case Structures.Language.Java: ext = ".java"; break; case Structures.Language.Pascal: ext = ".pascal"; break; default: ext = ".cpp"; break; } path = Path.Combine(path, "Precode"); string file = Path.Combine(path, "Precode" + ext); CreateFile(file); return(file); }
public void AddProblem(long pnum) { //get code path string path = LocalDirectory.GetCodesPath(pnum); if (string.IsNullOrEmpty(path)) { return; } //get language CodeFileCreator cfc = new CodeFileCreator(); if (cfc.ShowDialog() != DialogResult.OK) { return; } Structures.Language lang = cfc.Language; cfc.Dispose(); //get file extension string ext = ".cpp"; if (lang == Structures.Language.C) { ext = ".c"; } else if (lang == Structures.Language.Java) { ext = ".java"; } else if (lang == Structures.Language.Pascal) { ext = ".pascal"; } //create code file string name = Path.GetFileName(path); CreateFile(path, name, ext); //create input-output string input = Path.Combine(path, "input.txt"); string output = Path.Combine(path, "output.txt"); string correct = Path.Combine(path, "correct.txt"); LocalDirectory.CreateFile(input); LocalDirectory.CreateFile(output); LocalDirectory.CreateFile(correct); ParseInputOutput(pnum, input, correct); //select created problem this.BeginInvoke((MethodInvoker) delegate { ExpandAndSelect(LocateProblem(pnum), ExpandSelectType.SelecFirstChild); }); }
/// <summary> /// Get language name from given language number /// </summary> /// <param name="lan">Language to get name</param> /// <returns>Language name</returns> public static string GetLanguage(Structures.Language lan) { switch (lan) { case Structures.Language.C: return("ANSI C"); case Structures.Language.CPP: return("C++"); case Structures.Language.CPP11: return("C++11"); case Structures.Language.Java: return("Java"); case Structures.Language.Pascal: return("Pascal"); default: return("Unknown"); } }
// // Precode Settings // private string getFile() { Structures.Language lang = Language.CPP; if (ansiCradioButton.Checked) { lang = Language.C; } else if (JavaRadioButton.Checked) { lang = Language.Java; } else if (PascalRadioButton.Checked) { lang = Language.Pascal; } else { lang = Language.CPP; } return(LocalDirectory.GetPrecode(lang)); }