Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
            });
        }
Ejemplo n.º 3
0
        /// <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");
            }
        }
Ejemplo n.º 4
0
 //
 // 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));
 }