Exemplo n.º 1
0
    protected void Button_click(object sender, EventArgs e)
    {
        // Generate a random string for file name
        randomString rs = new randomString();

        // GUI control
        extension = codeList.SelectedValue;
        code      = codeText.Text;
        input     = codeInput.Text;

        // input text set to STDIN by default
        if (input == "STDIN")
        {
            input = "";
        }

        // generating code files to save them in root directory
        // the file is either C or CPP
        if (extension == ".c" || extension == ".cpp")
        {
            // calling the method to get a file name
            fileName = rs.generateFileName();
            // making a full source code name
            fullCodeFile = fileName + extension;
            // Saving the code file into the disk for further process
            generateFile gf = new generateFile();
            gf.generateCodeFile(root + fullCodeFile, code);
        }
        // generating code files to save them in root directory
        // the file is either C or CPP
        else if (extension == ".java")
        {
            // Same goes for JAVA as above
            fileName     = "Main";
            fullCodeFile = fileName + extension;
            generateFile gf = new generateFile();
            gf.generateCodeFile(root + fullCodeFile, code);
        }



        if (File.Exists(root + fullCodeFile))
        {
            // we'll only try to compile if the file is generated successfully
            try
            {
                compile(fullCodeFile, fileName, extension, input);
            }
            catch (Exception ex)
            {
                stat.Compile_status = "COMPILE FAILED!";

                //REDIRECT to another page
            }
        }

        show();
    }
Exemplo n.º 2
0
        /// <summary>
        /// Generate a string with random, space-separated programming languages.
        /// </summary>
        /// <param name="totalRequested"> The total amount of programming languages to be returned. </param>
        /// <param name="randomly"> If true, totalRequest is used as the seed value for System.Random </param>
        /// <returns></returns>
        public static string GenerateProgrammingLanguages(int totalRequested, bool randomly = false)
        {
            Random random;

            if (randomly)
            {
                random = new Random();
            }
            else
            {
                random = new Random(totalRequested);
            }
            // This may produce duplicate values, but it's okay for testing.
            var          randomIndexes = Enumerable.Range(0, progLangs.Count - 1).OrderBy(x => random.Next()).Take(totalRequested - 1).ToList();
            randomString f             = (index) => progLangs[index];
            var          randEnum      = randomIndexes.GetEnumerator();

            string testresult = randomIndexes.Aggregate <int, string>(f(randEnum.Current), (@string, element) => @string + ' ' + f(element));

            return(testresult);
        }
Exemplo n.º 3
0
    protected void submitBtn_Click(object sender, EventArgs e)
    {
        code      = Request.Form["hidden"];
        extension = codeList.SelectedValue;
        input     = Request.Form["stdin"];


        // Generate a random string for file name
        randomString rs = new randomString();

        // GUI control


        // input text set to STDIN by default
        if (code == "")
        {
            return;
        }

        stat.Code  = code;
        stat.STDIN = input;

        // generating code files to save them in root directory
        // the file is either C or CPP
        if (extension == ".c" || extension == ".cpp")
        {
            // calling the method to get a file name
            fileName = rs.generateFileName();
            // making a full source code name
            fullCodeFile = fileName + extension;

            stat.FileNameExt = fullCodeFile;
            // Saving the code file into the disk for further process
            generateFile gf = new generateFile();
            gf.generateCodeFile(root + fullCodeFile, code);
        }
        // generating code files to save them in root directory
        // the file is either C or CPP
        else if (extension == ".java")
        {
            // Same goes for JAVA as above
            fileName     = "Main";
            fullCodeFile = fileName + extension;

            stat.FileNameExt = fullCodeFile;
            generateFile gf = new generateFile();
            gf.generateCodeFile(root + fullCodeFile, code);
        }

        if (File.Exists(root + fullCodeFile))
        {
            // we'll only try to compile if the file is generated successfully
            try
            {
                compile(fullCodeFile, fileName, extension, input);
            }
            catch (Exception ex)
            {
                stat.Compile_status = "COMPILE FAILED!";
                showCompileStatus.Attributes["class"] = "alert alert-danger";
                //REDIRECT to another page
            }
        }
        show();
    }