コード例 #1
0
        public void Run(ref ListBox list)
        {
            //if (!Compile(ref list,false)) return;
            //runner = new Process();
            list.Items.Add("---------------------------------------------------------------------------------------");
            list.Items.Add(Translator.Translate("Running " + this.fileExe()));
            if (!File.Exists(this.fileExe()))
            {
                list.Items.Add(Translator.Translate("Error: This code has not compiled!"));
                return;
            }

            try
            {
                runner.StartInfo.FileName         = this.fileExe();
                runner.StartInfo.WorkingDirectory = Path.GetDirectoryName(this.fileExe());
                //runner.StartInfo.Arguments="/c cd "+Path.GetDirectoryName(this.fileExe())+" && "+Path.GetFileName(this.fileExe());
                //MessageBox.Show(this.fileExe());
                runner.EnableRaisingEvents = true;
                Stopwatch watch = new Stopwatch();
                watch.Start();// tính thời gian bắt đầu....

                runner.Start();
                //MessageBox.Show("");
                runner.WaitForExit();
                watch.Stop(); // tính thời gian dừng lại...

                if (runner.ExitCode != 0)
                {
                    list.Items.Add(Translator.Translate("Process terminated with status") + " " + runner.ExitCode.ToString());
                    list.Items.Add(Translator.Translate("Reason:") + " " + Translator.Translate2(runner.ExitCode.ToString()));
                    list.SelectedIndex = list.Items.Count - 1;
                    AppSound.Play("fail.wav");
                    MessageBox.Show(Translator.Translate("The programs exited with exit code: " + runner.ExitCode.ToString()), "Olala Pascal Runner");
                }
                else
                {
                    list.Items.Add(Translator.Translate("Process exited successful with runtime: ") + " " + watch.Elapsed.TotalSeconds.ToString() + " " + Translator.Translate(" seconds."));
                    AppSound.Play("success.wav");
                }
                list.Items.Add("");
                list.SelectedIndex = list.Items.Count - 1;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //runner.Dispose();
                return;
            }
            //runner.Dispose();
        }
コード例 #2
0
ファイル: ASCII.cs プロジェクト: gsdt/olala-pascal
 private void button1_MouseHover(object sender, EventArgs e)
 {
     AppSound.Play("hover.wav");
 }