Пример #1
0
 private void editorModeToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (editorModeToolStripMenuItem.Checked == true)
     {
         isEditorMode = false;
         editorModeToolStripMenuItem.Checked = false;
         openToolStripMenuItem.Enabled       = false;
         LabelExplain.Text = "";
         if (MainrichTextBox.Text != "")
         {
             DialogResult Result =
                 MessageBox.Show("是否保存", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Information);
             if (Result == DialogResult.Yes)
             {
                 saveToolStripMenuItem_Click(sender, e);
             }
         }
         MainrichTextBox.Clear();
     }
     else
     {
         isEditorMode = true;
         editorModeToolStripMenuItem.Checked = true;
         MainrichTextBox.Clear();
         openToolStripMenuItem.Enabled = true;
         LabelExplain.Text             = "   当前处于编辑器模式,若要执行请按\"Ctrl+Enter\"";
     }
 }
Пример #2
0
        private void run(string input, object sender, EventArgs e, RichTextBox richtextbox)
        {
            try
            {
                string          pattern = @"(?<!Math\.)(E|LN2|LN10|LOG2E|LOG10E|PI|SQRT1_2|SQRT2|abs|acos|asin|atan|atan2|ceil|cos|exp|floor|log|max|min|pow|random|round|sin|sqrt|tan)";
                MatchCollection mc      = Regex.Matches(input, pattern);
                foreach (Match m in mc)
                {
                    Regex rgx = new Regex(pattern);
                    input = rgx.Replace(input, "Math." + m);
                }
                switch (input.TrimEnd(' '))
                {
                case "help": helpToolStripMenuItem1_Click(sender, e); break;

                case "exit": exitToolStripMenuItem_Click(sender, e); break;

                case "save": saveToolStripMenuItem_Click(sender, e); break;

                case "statusbar": statusBarToolStripMenuItem_Click(sender, e); break;

                case "menubar": menuBarToolStripMenuItem_Click(sender, e); break;

                case "clear": MainrichTextBox.Clear(); break;

                default:
                    Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
                    var result = Microsoft.JScript.Eval.JScriptEvaluate(input, ve);
                    richtextbox.AppendText("\n" + result.ToString());
                    break;
                }
            }
            catch (NullReferenceException)
            {
            }
            catch (Exception er)
            {
                richtextbox.AppendText("\n" + er.Message);
            }
        }
Пример #3
0
 private void Clear(object sender, EventArgs e)
 {
     MainrichTextBox.Clear();
 }