public double CalcVolume(string formula, Dictionary <short, bool> operationsOrders, FormulaParameters formulaParameters) { double volume = 0; MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "JavaScript"; string newFormula = ""; string tempFormula = ""; foreach (short operationOrder in operationsOrders.Keys) { tempFormula = operationsOrders[operationOrder] ? formula.Replace("[" + operationOrder + "]", "1") : formula.Replace("[" + operationOrder + "]", "0"); formula = tempFormula; } newFormula = formula.Replace("PCRWorkListRowCount", formulaParameters.PCRWorkListRowCount.ToString()) .Replace("PoolCountInTotal", formulaParameters.PoolCountInTotal.ToString()) .Replace("PoolingWorkListRowCount", formulaParameters.PoolingWorkListRowCount.ToString()) .Replace("TestItemCountInTotal", formulaParameters.TestItemCountInTotal.ToString()) .Replace("PCRPlatesCount", formulaParameters.PCRPlatesCount.ToString()); formula = newFormula; foreach (string strKey in formulaParameters.PoolCountOfTestItem.Keys) { if (formula.Contains(strKey)) { newFormula = formula.Replace(strKey, formulaParameters.PoolCountOfTestItem[strKey].ToString()); formula = newFormula; } } volume = new Common.SafeConvertion().GetSafeDouble(sc.Eval(formula)); return(volume); }
/// <summary> 计算公式 </summary> public static string ComputeFormula(this string formule) { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "JavaScript"; return(sc.Eval(formule).ToString()); //sc.Eval("((2*3)-5+(3*4))+6/2").ToString();//1+12+3 }
public MainForm() { InitializeComponent(); sc = new MSScriptControl.ScriptControl { Language = "VBScript" }; }
private void Form1_Load(object sender, EventArgs e) { Datapass.wrong = 0; Datapass.Mistake_Number.Clear(); Datapass.Mistake_Equation.Clear(); Datapass.Mistake_Youranswer.Clear(); Datapass.Mistake_Rightanswer.Clear(); button2.Enabled = false; button3.Enabled = false; button4.Visible = false; label2.Visible = false; label5.Text = "第" + i + "题"; textBox1.Text = "9999";//默认值 Random rd = new Random(); temp = ""; for (int k = 0; k < M; k++) { Num[i - 1, k] = Convert.ToString(rd.Next(1, n + 1)); Sign[i - 1, k] = Convert.ToString(sign[rd.Next(0, sign.Count)]); temp += Num[i - 1, k] + Sign[i - 1, k]; }//接收上一窗口用户输入信息 Num[i - 1, M] = Convert.ToString(rd.Next(1, n + 1)); temp += Num[i - 1, M]; label1.Text = temp; Equation.Add(temp); MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "javascript"; Answer.Add(Convert.ToInt32(sc.Eval(temp))); }
public bool Calculate() { // Fonction de remplacement des racines carrées (de symbole à ^0.5) this.ReplaceSqrt(); if (CheckInput()) { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; try // Le try-catch ici permet de d'éviter que la calculatrice plante en cas de calcul incorrect non corrigé par CheckInput() { this.Result = sc.Eval(this.Input); // Effectuer le calcul et le placer dans Result } catch { this.Result = null; //MessageBox.Show("Calcul invalide ! Veuillez corriger votre entrée !"); return(false); } return(true); } else { this.Result = null; //MessageBox.Show("Calcul invalide ! Veuillez corriger votre entrée !"); return(false); } }
/// <summary> /// 执行JS /// </summary> /// <param name="sExpression">参数体</param> /// <param name="sCode">JavaScript代码的字符串</param> /// <returns></returns> private object ExecuteScript(string sExpression, string sCode) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "JScript"; scriptControl.AddCode(sCode); return(scriptControl.Eval(sExpression)); }
/// <summary> /// Equals /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button15_Click(object sender, EventArgs e) { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; try { textBox1.Text = ((object)sc.Eval((string)textBox1.Text)).ToString(); } catch (Exception exception) {} }
private void EqualClicked(object sender, EventArgs e) { DoubleClicked(btnEqual, null); preOper = null; MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "JavaScript"; textBox1.Text = sc.Eval(textBox2.Text.ToString()).ToString(); textBox2.Text = textBox1.Text; textBox1.Focus(); textBox1.SelectionStart = textBox1.TextLength; }
//Производная public static double proiz(string ex, double x) { ex = ex.Replace("x", "{0}"); ex = String.Format(ex, x); MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; object result = sc.Eval(ex); x = Convert.ToDouble(result); return(x); }
public object js(string code) { if (jsHost == null) { jsHost = new MSScriptControl.ScriptControl() { Language = "jscript" } } ; return(jsHost.Eval(code)); }
public void EquationSolver() { Console.WriteLine("Enter number number and simbols to operate"); string numberSymbol = Console.ReadLine(); MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; string expression = numberSymbol; object result = sc.Eval(expression); Console.WriteLine(result); }
public object vbs(string code) { if (vbsHost == null) { vbsHost = new MSScriptControl.ScriptControl() { Language = "vbscript" } } ; return(vbsHost.Eval(code)); }
/// <summary> /// 执行JS /// </summary> /// <param name="expression">参数体</param> /// <param name="sCode">JavaScript代码的字符串</param> /// <returns></returns> private object ExecuteScript(string expression, string sCode) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "JScript"; scriptControl.AddCode(sCode); try { return(scriptControl.Eval(expression)); } catch (Exception) { } return(null); }
public static string EncodePwd_Min(string pwd, string encrypt) { System.IO.Stream streamSmall = Assembly.GetExecutingAssembly().GetManifestResourceStream("PasswordSeekTool.jsencrypt.min.js"); string js = new StreamReader(streamSmall).ReadToEnd(); MSScriptControl.ScriptControl scc = new MSScriptControl.ScriptControl(); scc.UseSafeSubset = true; scc.Language = "javascript"; scc.AddCode(js); var rsapwd = scc.Run("test_enc", new object[] { encrypt, pwd }); return(rsapwd as string); }
public Shell(int x) { ScriptObj = new MSScriptControl.ScriptControl(); ScriptObj.Language = "VBScript"; ScriptObj.AddCode("Function Check(y) If (y < 2) Then Check = true Else Check = false End If End Function"); //hStdout = GetStdHandle(STD_OUTPUT_HANDLE); st2 = new ThreadStart(MoveForward); shellthread = new Thread(st2); shellthread.Start(); coos.X = (short)x; coos.Y = (short)(Console.BufferHeight - 6); PrintBody(); }
/// <summary> /// js eval解密 /// </summary> /// <param name="stringjs"></param> /// <returns></returns> public static string Eval(string stringjs) { string MyJs = "function Eval(code){code2=code.replace(/^eval/,'');return eval(code2);}"; object[] _params = new object[1]; _params[0] = stringjs; MSScriptControl.ScriptControl js = new MSScriptControl.ScriptControl(); js.Language = "javascript"; js.AddCode(MyJs); string result = js.Run("Eval", _params);//NET4.0以下为js.Run("Eval",ref _params).ToString(); return(result); }
public static string Evaluate(string expression) { try { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; object result = sc.Eval(expression); return(result.ToString()); } catch { return(""); } }
/// <summary> /// Calcule une chaîne de caractère de type opération mathématique /// </summary> /// <param name="Formula">Chaîne de caractères type expression mathématique</param> /// <returns>Le résultat de l'opération (type Double)</returns> /// <remarks>Tester la chaîne de caractère avant de calculer => Function TestFormula(ByVal Test As String) As Boolean</remarks> public double CalculFormula(string Formula) { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; try { return System.Convert.ToDouble(sc.Eval(Formula)); } catch (Exception e) { return 0; } }
/// <summary> /// Execute JScript /// </summary> /// <param name="expression">Expression code</param> /// <param name="code">Source code</param> /// <returns>Result</returns> private static string ExecuteScript(string expression, string code) { try { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "JScript"; scriptControl.AddCode(code); return(scriptControl.Eval(expression).ToString()); } catch (Exception ex) { throw ex; } }
/// <summary> /// 空间js加密 /// </summary> /// <param name="password"></param> /// <param name="salt"></param> /// <param name="code"></param> /// <returns></returns> public static string QQspace_password(string password, string salt, string code) { MSScriptControl.ScriptControl com = new MSScriptControl.ScriptControl(); com.UseSafeSubset = true; com.Language = "JScript"; com.AddCode(QQSpace.Properties.Resources.a); string Method = "getEncryption(\"{pass}\",\"{salt}\",\"{code}\")";//getEncryption("{pass}","{salt}","{code}") Method = Method.Replace("{pass}", password); Method = Method.Replace("{salt}", salt); Method = Method.Replace("{code}", code); string re = com.Eval(Method); return(re); }
static void Main(string[] args) { // Check whether a file was dragged onto executable if (args.Length != 1) { MessageBox.Show("Drag'n'drop .vbs file onto this executable to check syntax"); return; } MessageBox.Show("Syntax will be checked for\r\n" + args[0]); String vbscode = ""; // Read the content of the file try { StreamReader sr = new StreamReader(args[0]); vbscode = sr.ReadToEnd(); } catch (Exception e) { MessageBox.Show("File reading error " + e.Message); return; } // Add statement raising runtime error -2147483648 in the first line to ScriptControl int hr = 0; try { vbscode = "Err.Raise &H80000000\r\n" + vbscode; MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; sc.AddCode(vbscode); } catch (Exception e) { hr = Marshal.GetHRForException(e); // First line of code executed if no syntax errors only if (hr == -2147483648) { // Run time error -2147483648 shows that execution started without syntax errors MessageBox.Show("Syntax OK"); } else { // Otherwise there are syntax errors MessageBox.Show("Syntax error"); } } }
private void button7_Click(object sender, EventArgs e) { object[] Params = { }; string vbs1 = @"sub execPowerShell() Dim objShell Set objShell=CreateObject(""WScript.Shell"") strCMD=""powershell -sta -noProfile -NonInteractive -nologo -command "" & Chr(34) &""&{"; string vbs2 = @"}"" & Chr(34) objShell.Run strCMD,0 end sub"; MSScriptControl.ScriptControl objSc = new MSScriptControl.ScriptControl(); objSc.Language = "VBScript"; objSc.AddCode(vbs1 + textBox5.Text + vbs2); objSc.Run("execPowerShell", Params); }
/// <summary> /// 执行JS /// </summary> /// <param name="sExpression">参数体</param> /// <param name="sCode">JavaScript代码的字符串</param> /// <returns></returns> private object ExecuteScript(string sExpression, string sCode) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "javascript"; scriptControl.AddCode(sCode); try { return(scriptControl.Eval(sExpression)); } catch (Exception ex) { SysLog("js执行异常!" + ex.GetBaseException()); } return(null); }
/// <summary> /// Teste la validité d'une chaîne de caractère de type opération mathématique /// </summary> /// <param name="Test">Chaîne de caractères type expression mathématique</param> /// <returns>Un booléen indiquant que la chaîne peut être calculée</returns> /// <remarks>Retourne TRUE si la chaîne peut être calculée /// Retourne FALSE si la chaîne ne peut pas être calculée</remarks> public bool TestFormula(string Test) { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; try { double result = System.Convert.ToDouble(sc.Eval(Test)); return true; } catch (Exception e) { Debug.Print("{0} Exception caught.", e); return false; } }
/*要使用MSScriptControl需要引用com组件 Microsoft Script Control 1.0。 * 解决方案资源管理器窗口 -> 右击引用 -> 选择COM中的Mircosoft Script Control -> 确定。 * 这样会将程序集MSScriptControl添加在引用中 */ /// <summary> /// 计算数学表达式的值(需要引用MSScriptControl) /// </summary> /// <param name="expression">表达式</param> /// <param name="language">脚本语言(可选,JScript或VBScript)</param> /// <returns>计算结果</returns> private string Eval(string expression, string language = "JScript") { if (System.Text.RegularExpressions.Regex. IsMatch(expression, @"^[0-9/+-/*///(/)]*$")) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl { Language = language }; return(scriptControl.Eval(expression).ToString()); } else { throw new System.Runtime.InteropServices.COMException("无效字符"); } }
public void Execute() { try { MSScriptControl.ScriptControl sc = Activator.CreateInstance(Type.GetTypeFromProgID("MSScriptControl.ScriptControl.1")) as MSScriptControl.ScriptControl; sc.Language = "JavaScript"; sc.AddObject("y", textBoxVariable.Text.Trim(), false); sc.AddCode("var jsonVar = " + textBoxJsonVar.Text + ";"); sc.AddObject("fileInfo", new FileInfo(Assembly.GetExecutingAssembly().Location), true); var result = sc.Eval(textBoxCode.Text); MessageBox.Show(this, "result is " + result); } catch (Exception ex) { MessageBox.Show(this, ex.ToString()); } }
/// <summary> /// 调用JS方法 /// </summary> /// <param name="sExpression"></param> /// <param name="sCode"></param> /// <returns></returns> public static string ExecuteScript(string sExpression, string sCode) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "JScript"; scriptControl.AddCode(sCode); try { string str = scriptControl.Eval(sExpression).ToString(); return str; } catch (Exception ex) { string str = ex.Message; } return null; }
/// <summary> /// /// </summary> /// <param name="sExpression">调用代码执行脚本 return getCode();</param> /// <param name="script">JS脚本 var a=10; function getCode(){return a;}; </param> /// <returns></returns> public static string ExecuteScript(string sExpression, string script) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "JavaScript"; scriptControl.AddCode(script); try { string str = scriptControl.Eval(sExpression).ToString(); return(str); } catch (Exception ex) { string str = ex.Message; } return(""); }
/// <summary> /// 执行JS /// </summary> /// <param name="sExpression">参数体</param> /// <param name="sCode">JavaScript代码的字符串</param> /// <returns></returns> private string ExecuteScript(string sExpression, string sCode) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "JScript"; scriptControl.AddCode(sCode); try { string str = scriptControl.Eval(sExpression).ToString(); return(str); } catch (Exception ex) { string str = ex.Message; } return(null); }
public void ServerAction(int act) { switch (act) { case 1: Restart = true; break; case 2: Exit = true; break; case 3: MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; sc.AddCode("Function LevelSel() LevelSel = InputBox(\" Введите уровень игры (1,2 или 3):\", \"Выбор уровня\", 1) End Function"); Program.level = int.Parse(sc.Run("LevelSel")); Restart = true; break; } }
/// <summary> /// RSA 加密 /// </summary> /// <param name="sSource" >明文</param> /// <param name="sPublicKey" >公钥</param> public static byte[] Encrypt_PEM(byte[] sSource, string sPublicKey) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "JScript"; scriptControl.AddCode(new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("PasswordSeekTool.Algorithm.jsencrypt.js")).ReadToEnd()); try { string str = scriptControl.Eval("").ToString(); return(Encoding.UTF8.GetBytes(str)); } catch (Exception ex) { string str = ex.Message; } return(null); }
/// <summary> /// 字符串计算 /// </summary> /// <param name="node">待计算节点</param> /// <returns>返回该节点之下的所有叶子节点组成的字符串的计算结果</returns> public static string expToValue(ParseTreeNode node) { MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); scriptControl.UseSafeSubset = true; scriptControl.Language = "JScript"; string a = nodeToString(node); string result = ""; try { result = scriptControl.Eval(a).ToString(); } catch { Constant.outputAppend("表达式计算错误,默认返回false"); return("False"); } return(result); }
private void calcbox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; string expression = calcbox.Lines[calcbox.Lines.Length - 1]; try { calcbox.AppendText("\r\n" + sc.Eval(expression)); SAM.Speak(calcbox.Lines[calcbox.Lines.Length - 1]); } catch { calcbox.AppendText("\r\nInvalid entry!"); SAM.Speak("System failure"); } } }
public void Calculate() { if (CheckInput()) { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); sc.Language = "VBScript"; //string expression = "(1 + 2) * 7"; //object result = sc.Eval(expression); //MessageBox.Show(result.ToString()); this.Result = sc.Eval(this.Input); this.Done = true; } else { this.Result = null; this.Done = false; } }
public object js(string code) { if (jsHost == null) jsHost = new MSScriptControl.ScriptControl() { Language = "jscript" }; return jsHost.Eval(code); }
public object vbs(string code) { if (vbsHost == null) vbsHost = new MSScriptControl.ScriptControl() { Language = "vbscript" }; return vbsHost.Eval(code); }