Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
 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 { }
 }
Example #4
0
        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);
        }