public override object EXECUTE(params object[] po) { MiMFa_Dictionary <object, object> lo = new MiMFa_Dictionary <object, object>(); if (po != null) { for (int i = 0; i < po.Length; i++) { KeyValuePair <object, object> kvp = MiMFa_Convert.ToKeyValuePair(po[i]); lo.Add(kvp.Key, kvp.Value); } if (_sorted) { lo = MiMFa_CollectionService.Sort(lo); } } return(lo); }
private static string LikeLapSignC(string expr, params string[] signs) { string[] ca = { "&&", "||", "<=", ">=", "<", ">", "!==", "!=", "~==", "~=", "===", "==" }; Func <string, string> func = (sign) => { string[] sa = expr.Split(new string[] { sign }, StringSplitOptions.None); if (sa.Length <= 1) { return(expr); } string[] arr = sa[0].Split(ca, StringSplitOptions.None); string op1 = arr[arr.Length - 1]; arr = sa[1].Split(ca, StringSplitOptions.None); string op2 = arr[0]; string result = CompareString(op1, sign, op2).ToString(); expr = expr.Replace(op1 + sign + op2, result); return(expr); }; if (expr.Split(signs, StringSplitOptions.None).Length > 1) { do { Dictionary <int, string> collection = new Dictionary <int, string>(); for (int i = 0; i < expr.Length; i++) { foreach (var item in signs) { if (expr.Substring(i).StartsWith(item)) { collection.Add(i, item); break; } } } collection = MiMFa_CollectionService.Sort(collection, (d1, d2) => d1.Key < d2.Key); foreach (var item in collection) { expr = func(item.Value); } }while (expr.Split(signs, StringSplitOptions.RemoveEmptyEntries).Length > 1); } return(expr); }
public void ControlsSort(params Control[] childsByDecOrder) { try { Dictionary <string, int> diccon = GetDicClick(childsByDecOrder); List <int> lin = new List <int>(); List <Control> lcon = new List <Control>(); List <int> lout = new List <int>(); List <int> lindex = new List <int>(); Control con_m = null; StateOrders.Clear(); foreach (var item in childsByDecOrder) { StateOrders.Add(item.Location, item.Size); } foreach (var item in diccon) { if ((con_m = MiMFa_ControlService.GetControlsByName(ControlsParent, item.Key)) != null) { lcon.Add(con_m); lin.Add(item.Value); } } MiMFa_CollectionService.Sort(lin, out lout, out lindex); lindex.Reverse(); int index = 0; foreach (var item in StateOrders) { try { lcon[lindex[index]].Size = item.Value; lcon[lindex[index]].Location = item.Key; } catch { } index++; } } catch { } }
private static string LikeLapSignE(string expr, params string[] signs) { while (expr.Contains("+-") || expr.Contains("-+") || expr.Contains("++") || expr.Contains("--")) { expr = expr.Replace("()", "0").Replace(")(", ")*(").Replace("+-", "-").Replace("-+", "-").Replace("++", "+").Replace("--", "+"); } string[] ca1 = { "√", "^", "%", "×", "*", "÷", "\\", "+", "-" }; Func <string, string> func = (sign) => { string[] sa = expr.Split(new string[] { sign }, StringSplitOptions.None); if (sa.Length <= 1) { return(expr); } string[] arr = sa[0].Split(ca1, StringSplitOptions.None); string op1 = arr[arr.Length - 1]; string op2 = sa[1]; double dop2 = 0; if (op2.StartsWith("+")) { arr = sa[1].Split(ca1, StringSplitOptions.None); op2 = "+" + arr[1]; dop2 = Convert.ToDouble(arr[1]); } else if (op2.StartsWith("-")) { arr = sa[1].Split(ca1, StringSplitOptions.None); op2 = "-" + arr[1]; dop2 = -1 * Convert.ToDouble(arr[1]); } else { arr = sa[1].Split(ca1, StringSplitOptions.None); op2 = arr[0]; dop2 = Convert.ToDouble(arr[0]); } string result = EvaluateString(op1, sign, dop2).ToString(); expr = expr.Replace(op1 + sign + op2, MiMFa_Convert.ForceToDouble(result).ToString()); return(expr); }; if (expr.Split(signs, StringSplitOptions.None).Length > 1) { do { Dictionary <int, string> collection = new Dictionary <int, string>(); for (int i = 0; i < expr.Length; i++) { foreach (var item in signs) { if (expr[i].ToString() == item) { collection.Add(i, item); break; } } } collection = MiMFa_CollectionService.Sort(collection, (d1, d2) => d1.Key < d2.Key); foreach (var item in collection) { expr = func(item.Value); } }while (expr.Split(signs, StringSplitOptions.RemoveEmptyEntries).Length > 1); } return(expr); }