Пример #1
0
        public FetchPatern FindFetchPaternFor(FetchPatern up)
        {
            FetchPatern fp = DefaultPatern;

            if (Paterns.Count > 0)
            {
                int index = Paterns.FindIndex((ur) => ur.IsSame(up));
                if (index < 0)
                {
                    index = Paterns.FindIndex((ur) => ur.IsLike(up));
                }
                if (index < 0)
                {
                    string bss = MiMFa_StringService.LastFindAndSplit(up.BaseURL.TrimEnd(' ', '/'), "/").First();
                    index = Paterns.FindIndex((ur) => MiMFa_StringService.LastFindAndSplit(ur.BaseURL.TrimEnd(' ', '/'), "/").First() == bss);
                    if (index < 0)
                    {
                        index = Paterns.FindIndex((ur) => MiMFa_StringService.LastFindAndSplit(ur.BaseURL.TrimEnd(' ', '/'), "/").First().StartsWith(bss));
                    }
                }
                if (index > -1)
                {
                    fp = Paterns[index];
                }
            }
            return(new FetchPatern(fp, up.URL, up.Source, up.Extra));
        }
Пример #2
0
        public override object EXECUTE(params object[] po)
        {
            string cmd = po[0].ToString().Trim();

            cmd = MCLTools.ParenthesisPU.Parse(cmd);
            string condition = MiMFa_StringService.GetFirstWordBetween(cmd, "(", ")", false);

            if (condition != null)
            {
                cmd = MiMFa_StringService.FirstFindAndReplace(cmd, "(" + condition + ")", "");
            }
            else
            {
                condition = "";
            }
            if (string.IsNullOrEmpty(condition.Trim()))
            {
                condition = "true";
            }
            MiMFa_List <object> result = new MiMFa_List <object>();

            while (breakrun-- == 0 && Convert.ToBoolean(MCL.Parser(condition)))
            {
                result.Add(echo(cmd));
            }
            return(Normalization(result.ToArray()));
        }
Пример #3
0
        public override object EXECUTE(params object[] po)
        {
            string cmd = po[0].ToString().Trim();

            cmd = MCLTools.ParenthesisPU.Parse(cmd);
            string cond = MiMFa_StringService.GetFirstWordBetween(cmd, "(", ")", false);

            if (cond != null)
            {
                cmd = MiMFa_StringService.FirstFindAndReplace(cmd, "(" + cond + ")", "");
            }
            else
            {
                cond = "";
            }
            if (string.IsNullOrEmpty(cond.Trim()))
            {
                throw new System.Exception("Not found any conditions");
            }
            cnd = Convert.ToBoolean(MCL.Parser(cond));
            if (cnd)
            {
                return(echo(cmd));
            }
            return(Null);
        }
Пример #4
0
        public override object EXECUTE(params object[] po)
        {
            string cmd = po[0].ToString().Trim();

            cmd = MCLTools.ParenthesisPU.Parse(cmd);
            string definition = MiMFa_StringService.GetFirstWordBetween(cmd, "(", ")", false);

            if (definition != null)
            {
                cmd = MiMFa_StringService.FirstFindAndReplace(cmd, "(" + definition + ")", "");
            }
            else
            {
                definition = "";
            }
            if (string.IsNullOrEmpty(definition.Trim()))
            {
                throw new System.Exception("Not found any definitions");
            }
            string[] elements = definition.Split(',');
            elements = MiMFa_CollectionService.ExecuteInAllItems(elements, (s) => s.Trim());
            if (elements.Length < 2)
            {
                throw new System.Exception("Definition is not right");
            }
            string def = elements[0];
            object eno = MCL.Execute(elements[1]);

            return(Normalization(each(def, eno, cmd).ToArray()));
        }
Пример #5
0
 public static double EvaluateString(string expr)
 {
     expr = "0+" + expr.Replace(" ", "");
     while (expr.Contains("+-") || expr.Contains("-+") || expr.Contains("++") || expr.Contains("--"))
     {
         expr = expr.Replace("()", "0").Replace(")(", ")*(").Replace("+-", "-").Replace("-+", "-").Replace("++", "+").Replace("--", "+");
     }
     string[] sa = MiMFa_StringService.GetAllWordsBetween(expr, "(", ")", true).ToArray();
     if (sa.Length > 0)
     {
         string[] sanew = new string[sa.Length];
         for (int i = 0; i < sa.Length; i++)
         {
             sanew[i] = EvaluateString(sa[i].Replace("(", "").Replace(")", "")).ToString();
         }
         expr = MiMFa_StringService.ReplaceWithAllByOrder(expr, sa, sanew);
     }
     expr = expr.Trim();
     expr = LikeLapSignE(expr, "√");
     expr = LikeLapSignE(expr, "^");
     expr = LikeLapSignE(expr, "%");
     expr = LikeLapSignE(expr, "×", "*", "÷", "\\");
     expr = LikeLapSignE(expr, "+", "-");
     return(MiMFa_Convert.ForceToDouble(expr));
 }
Пример #6
0
        private void Output(Aspose.Words.SaveFormat to, string dest, bool openforce = false)
        {
            Exclusive.Extension.MiMFa_Convert pc = new Exclusive.Extension.MiMFa_Convert();
            string addr = Config.TempDirectory + System.DateTime.Now.Ticks + "mrloutput.html";

            MiMFa_IOService.StringToFile(addr, MiMFa_StringService.ReplaceWithAllWordBetween(Viewer.DocumentText, "<input ", "/>", ""));
            pc.To(addr, dest, to, openforce);
        }
Пример #7
0
 public override object EXECUTE(params object[] po)
 {
     if (po != null && po.Length > 1)
     {
         return(MiMFa_StringService.ComparePerCent(po[0].ToString(), po[1].ToString()));
     }
     return(Null);
 }
Пример #8
0
 public bool Open(string path)
 {
     if (!string.IsNullOrEmpty(path))
     {
         if (MiMFa_GetDetail.IsAbsoluteURL(path))
         {
             Browse(path);
             return(true);
         }
         else
         {
             string mime = "";
             try { mime = General.MiMFa_GetDetail.GetMimeFile(path).Split('/')[0].Trim().ToLower(); } catch { }
             if (mime == "image")
             {
                 ShowBrowser(MiMFa_IOService.TryDeserialize(File.ReadAllBytes(path)), true);
             }
             else if (mime == "text")
             {
                 ShowBrowser(MiMFa_StringService.ToHTML(MiMFa_IOService.FileToString(path)));
             }
             else if (mime == "")
             {
                 Clear();
             }
             else
             {
                 bool b = General.MiMFa_GetDetail.IsBinaryFile(path);
                 if (b)
                 {
                     string ext = System.IO.Path.GetExtension(path).ToLower();
                     if (ext == ".pdf" ||
                         ext.StartsWith(".doc") ||
                         ext.StartsWith(".xls")
                         )
                     {
                         OpenBrowser(path);
                     }
                     else
                     {
                         OpenMediaPlayer(path);
                     }
                 }
                 else
                 {
                     ShowBrowser(MiMFa_IOService.FileToString(path));
                 }
                 return(true);
             }
         }
     }
     else
     {
         Clear();
     }
     return(false);
 }
Пример #9
0
 public static bool IsHTMLContent(object value)
 {
     if (value == null)
     {
         return(false);
     }
     if (MiMFa_StringService.GetFirstWordBetween(value + "", "<", ">") != null)
     {
         return(true);
     }
     return(false);
 }
Пример #10
0
        public virtual string RePick(string MRLCode)
        {
            Dictionary <int, string> dim = new Dictionary <int, string>();
            string sign = ReplaceSignCreator(NumberOfPick++);

            MRLCode = MiMFa_StringService.ReplaceWithAllWordBetween(MRLCode, StartSign, EndSign, (i, s) => sign + i + HideSign, out dim, CaseSensitive);
            foreach (var item in dim)
            {
                SignDic.Add(sign + item.Key + HideSign, item.Value);
            }
            return(MRLCode);
        }
Пример #11
0
 public override object EXECUTE(params object[] po)
 {
     if (po != null && po.Length > 0)
     {
         var sa = MiMFa_StringService.FirstFindAndSplit(po[0].ToString(), ",");
         if (_open || o)
         {
             return(MCL.Compile(MiMFa_IOService.FileToString(PATH.getpath(MCL.Compile(sa[0])))));
         }
         else if (_save || s || sa.Length == 2)
         {
             MiMFa_IOService.StringToFile(MCL.Parse(PATH.getpath(sa[0] + extention)), MCL.CrudeText(sa[1]));
         }
     }
     return(Null);
 }
Пример #12
0
        /// <summary>
        /// if key start with:
        /// ¶ (Alt + 20): is Internal Parameter & Converted to than Parameter
        /// § (Alt + 21): if cant translated, no changed
        /// ▬ (Alt + 22): No Translate, No Change
        /// ↨ (Alt + 23): Full Translate
        ///
        /// Example: ¶FName => MyNameParameter
        /// Example: §FName => FirstName
        /// Example: ▬FName => FName
        /// </summary>
        public static string GetText(params string[] Keys)
        {
            if (!Start)
            {
                Restart();
            }
            string result = "";

            for (int i = 0; i < Keys.Length; i++)
            {
                string word = "";
                if (string.IsNullOrEmpty(Keys[i]))
                {
                    continue;
                }
                else if (Keys[i].StartsWith(SignInternalParameter))
                {
                    word = GetInternalParameter(Keys[i]);
                }
                else if (Language == MainLanguage)
                {
                    word += Keys[i]
                            .Replace(SignInternalParameter, "")
                            .Replace(SignNoTranslate, "")
                            .Replace(SignFullTranslate, "")
                            .Replace(SignTryTranslate, "");
                }
                else if (Keys[i].StartsWith(SignNoTranslate))
                {
                    word = GetNoTranslate(Keys[i]);
                }
                else if (Keys[i].StartsWith(SignFullTranslate))
                {
                    word = GetFullTranslate(Keys[i]);
                }
                else if (DIC == null || string.IsNullOrEmpty(word = GetFromDIC(Keys[i])))
                {
                    word = GetTranslate(Keys[i]);
                }
                result += (WithNormalization) ? MiMFa_StringService.ReplaceWithAllWordBetween(MiMFa_StringService.ReplaceWithAllWordBetween(word, "(", ")", ""), "[", "]", "") : word;
                if (i < Keys.Length - 1 && !string.IsNullOrEmpty(word.Trim()) && WithWordSpace)
                {
                    result += " ";
                }
            }
            return(GetInternalParameter(result));
        }
Пример #13
0
        public MiMFa_XMLElement(string ID)
        {
            var sa  = MiMFa_StringService.LastFindAndSplit(ID, "-");
            int num = ID.Split('-').Length;

            TagName  = "";
            StartTag = "";
            EndTag   = "";
            Index    = MiMFa_Convert.TryToInt(sa.Last(), 0);
            if (num > 2)
            {
                Parent = new MiMFa_XMLElement(sa.First());
            }
            else
            {
                Parent = null;
            }
        }
Пример #14
0
        public static MiMFa_KeyWords <int, string> GetKeywords(string text)
        {
            MiMFa_KeyWords <int, string> kws = new MiMFa_KeyWords <int, string>();
            List <string> ls =
                MiMFa_CollectionService.Distinct(
                    MiMFa_CollectionService.ExecuteInAllItems(
                        MiMFa_CollectionService.Concat(
                            GetKeywordFromStruct(text),
                            GetKeywordFromAnd(text),
                            GetKeywordFromComma(text),
                            GetKeywordFromNumber(text),
                            GetKeywordFromEqual(text),
                            GetKeywordFromParenthesis(text),
                            GetKeywordFromBrackets(text),
                            GetKeywordFromBraces(text),
                            GetKeywordFromQuotation(text),
                            GetKeywordFromDoubleQuotation(text)
                            ), (t) => t
                        .Replace(".", " ")
                        .Replace(",", " ")
                        .Replace("،", " ")
                        .Replace("؛", " ")
                        .Replace(";", " ")
                        .Replace("?", " ")
                        .Replace("؟", " ")
                        .Replace("!", " ")
                        .Replace("'", " ")
                        .Replace("`", " ")
                        .Replace("\"", " ")
                        .Replace("(", " ")
                        .Replace(")", " ")
                        .Replace("[", " ")
                        .Replace("]", " ")
                        .Replace("{", " ")
                        .Replace("}", " ")
                        .Replace("&", " ")
                        .Trim()));

            foreach (var item in ls)
            {
                kws.Add(MiMFa_StringService.NumberOfWordsInText(text, item), item);
            }
            return(kws);
        }
Пример #15
0
 public bool Show(object value)
 {
     if (value != null)
     {
         try
         {
             if (value is Bitmap)
             {
                 ShowBrowser(value, true);
             }
             else if (value is Image)
             {
                 ShowBrowser(value, true);
             }
             else if (value is Uri)
             {
                 Browse((Uri)value);
             }
             else
             {
                 string mime = General.MiMFa_GetDetail.GetMimeObject(value).Split('/')[0].Trim().ToLower();
                 if (mime == "image")
                 {
                     ShowBrowser(value, true);
                 }
                 else if (mime == "text")
                 {
                     ShowBrowser(MiMFa_StringService.ToHTML(value + ""), false);
                 }
                 else
                 {
                     ShowMediaPlayer(value);
                 }
             }
             return(true);
         }
         catch { Clear(); }
     }
     else
     {
         Clear();
     }
     return(false);
 }
Пример #16
0
        public override object EXECUTE(params object[] po)
        {
            string[] sa = MiMFa_StringService.FirstFindAndSplit(MCL.CrudeText(po[0].ToString()).Trim(), MCLTools.SignPointer);

            string expr = sa.First().Trim().ToLower();

            expr = MCL.DownLayer(expr);
            expr = expr.Replace(MiMFa_CommandLanguage.StartSignStrongString, "").Replace(MiMFa_CommandLanguage.EndSignStrongString, "")
                   .Replace(MiMFa_CommandLanguage.StartSignString, "").Replace(MiMFa_CommandLanguage.EndSignString, "");
            string un = MCL.CrudeText(expr);

            expr = sa.Last().Trim().ToLower();
            expr = MCL.DownLayer(expr);
            expr = expr.Replace(MiMFa_CommandLanguage.StartSignStrongString, "").Replace(MiMFa_CommandLanguage.EndSignStrongString, "")
                   .Replace(MiMFa_CommandLanguage.StartSignString, "").Replace(MiMFa_CommandLanguage.EndSignString, "");
            string cmd = MCL.CrudeText(expr);

            MCL.PutsDic.AddOrSet(un, cmd);
            return(Null);
        }
Пример #17
0
 public static bool CompareString(string expr)
 {
     expr = expr.Replace(" ", "");
     expr = expr.Replace("()", "true").Replace(")(", ")&&(");
     string[] sa = MiMFa_StringService.GetAllWordsBetween(expr, "(", ")", true).ToArray();
     if (sa.Length > 0)
     {
         string[] sanew = new string[sa.Length];
         for (int i = 0; i < sa.Length; i++)
         {
             sanew[i] = CompareString(sa[i].Replace("(", "").Replace(")", "")).ToString();
         }
         expr = MiMFa_StringService.ReplaceWithAllByOrder(expr, sa, sanew);
     }
     expr = expr.Trim();
     expr = LikeLapSignC(expr, "<=", ">=", "<", ">");
     expr = LikeLapSignC(expr, "!==", "===", "~==", "~=", "!=", "==");
     expr = LikeLapSignC(expr, "&&", "||");
     return(MiMFa_Convert.ToBoolean(expr));
 }
Пример #18
0
        public MiMFa_Table AddInTable(MiMFa_Table dt, HTMLElementPatern elementPatern, MiMFa_XMLElement elem, List <MiMFa_XMLElement> xmls)
        {
            if (elem == null)
            {
                return(MiMFa_Table.AddInTable(dt, "", elementPatern.ColName, elementPatern.TableValuePositionType));
            }
            string str = GetValueFromXML(elementPatern, elem);

            if (elementPatern.Usage != MiMFa_Usage.Set)
            {
                dt = MiMFa_Table.AddInTable(dt, str, elementPatern.ColName, elementPatern.TableValuePositionType);
            }
            else
            {
                switch (elementPatern.LinkJob)
                {
                case MiMFa_LinkJob.InternalPage:
                    AppendInFetchQueue(new FetchPatern(fetch_url, str), true);
                    break;

                case MiMFa_LinkJob.ExternalPage:
                    AppendInFetchQueue(fetch_webpatern.FindFetchPaternFor(str, fetch_url.Source), true);
                    break;

                //case MiMFa_LinkJob.Download:
                default:
                    string file = string.Join("", elementPatern.DestinationPath, "\\", MiMFa_UnicCode.CreateNewString(10), "_");
                    if (MiMFa_Internet.IsWellURL(str))
                    {
                        file += MiMFa_StringService.CompressedText(MiMFa_Path.NormalizeForFileAndFolderName(str.Split('/').Last()), 25, "");
                    }
                    bool b = MiMFa_Internet.DownloadOrSave(str, file);
                    dt = MiMFa_Table.AddInTable(dt, file, elementPatern.ColName, elementPatern.TableValuePositionType);
                    dt = MiMFa_Table.AddInTable(dt, str, string.Join("", "auto_", elementPatern.ColName, "_URL"), MiMFa_TableValuePositionType.NextColumnCell);
                    dt = MiMFa_Table.AddInTable(dt, b + "", string.Join("", "auto_", elementPatern.ColName, "_State"), MiMFa_TableValuePositionType.NextColumnCell);
                    break;
                }
            }
            return(dt);
        }
Пример #19
0
 public override object EXECUTE(params object[] po)
 {
     if (po != null && po.Length > 0)
     {
         string name = po[0].ToString();
         name = MCLTools.ParenthesisPU.Parse(name);
         string[] stra = MiMFa_StringService.FirstFindAndSplit(name, MCLTools.StartSignParenthesis);
         Function fu   = new Function();
         fu.Name   = stra[0];
         fu.Access = MCL.EnvironmentAccess;
         stra      = MiMFa_StringService.FirstFindAndSplit(stra[1], MCLTools.EndSignParenthesis);
         fu.Inputs = MiMFa_CollectionService.ExecuteInAllItems(stra[0].Split(MCLTools.SplitSign), (os) => MCL.CrudeText(os).Trim());
         if (fu.Inputs.Length == 1 && string.IsNullOrEmpty(fu.Inputs[0]))
         {
             fu.Inputs = new string[] { }
         }
         ;
         fu.Commands = MCL.CrudeText(stra[1]).Trim();
         MiMFa_CommandLanguage.FunctionsList.Add(fu);
         return(fu);
     }
     return(Null);
 }
Пример #20
0
        public static List <string> GetKeywordFromBraces(string text)
        {
            List <string> ls = new List <string>();

            try
            {
                var sta = MiMFa_StringService.GetAllWordsBetween(text, "{", "}", false);
                for (int i = 0; i < sta.Count; i++)
                {
                    var st = sta[i].Split(new string[] { ",", "،", "\n", ";" }, StringSplitOptions.RemoveEmptyEntries);
                    if (i > 0)
                    {
                        ls.Add(st.First());
                    }
                    if (i < sta.Count - 1)
                    {
                        ls.Add(st.Last());
                    }
                }
            }
            catch { }

            return(ls);
        }
Пример #21
0
        public override object EXECUTE(params object[] po)
        {
            string cmd = po[0].ToString().Trim();

            cmd = MCLTools.ParenthesisPU.Parse(cmd);
            string definition = MiMFa_StringService.GetFirstWordBetween(cmd, "(", ")", false);

            if (definition != null)
            {
                cmd = MiMFa_StringService.FirstFindAndReplace(cmd, "(" + definition + ")", "");
            }
            else
            {
                definition = "";
            }
            if (string.IsNullOrEmpty(definition.Trim()))
            {
                definition = "";
            }
            string[] elements = definition.Split(',');
            elements = MiMFa_CollectionService.ExecuteInAllItems(elements, (s) => s.Trim());
            string def       = (elements.Length == 3) ? elements[0] : "";
            string condition = (elements.Length == 3 && !string.IsNullOrEmpty(elements[1])) ? elements[1] : "true";
            string after     = (elements.Length == 3) ? elements[2] : "";

            MCL.PushAccess();
            MCL.Parse(def);
            MiMFa_List <object> result = new MiMFa_List <object>();

            for (; breakrun-- == 0 && Convert.ToBoolean(MCL.Parser(condition)); MCL.Parse(after))
            {
                result.Add(echo(cmd));
            }
            MCL.PopRemoveAccess();
            return(Normalization(result.ToArray()));
        }
Пример #22
0
 private void toHTML_Click(object sender, EventArgs e)
 {
     RTB.Text = MiMFa_StringService.ToHTML(RTB.Text);
 }
Пример #23
0
        public static bool CompareString(object op1, string sign, object op2)
        {
            try
            {
                Func <object, object> normal = (o) =>
                {
                    if (!string.IsNullOrEmpty(o.ToString()))
                    {
                        return(o);
                    }
                    return(true);
                };
                op1 = normal(op1);
                op2 = normal(op2);
                double d1;
                double d2;
                bool   b1;
                bool   b2;
                switch (sign)
                {
                case "===": return(op1.Equals(op2));

                case "!==": return(!op1.Equals(op2));

                case "==":
                    return(op1.ToString() == op2.ToString());

                case "!=":
                    return(op1.ToString() != op2.ToString());

                case "~==":
                    return(op1.GetType() == op2.GetType() && MiMFa_StringService.ComparePerCent(op1.ToString(), op2.ToString()) > 70);

                case "~=":
                    return(MiMFa_StringService.ComparePerCent(op1.ToString(), op2.ToString()) > 70);

                case ">":
                    d1 = MiMFa_Convert.ForceToDouble(op1);
                    d2 = MiMFa_Convert.ForceToDouble(op2);
                    return(d1 > d2);

                case "<":
                    d1 = MiMFa_Convert.ForceToDouble(op1);
                    d2 = MiMFa_Convert.ForceToDouble(op2);
                    return(d1 < d2);

                case ">=":
                    d1 = MiMFa_Convert.ForceToDouble(op1);
                    d2 = MiMFa_Convert.ForceToDouble(op2);
                    return(d1 >= d2);

                case "<=":
                    d1 = MiMFa_Convert.ForceToDouble(op1);
                    d2 = MiMFa_Convert.ForceToDouble(op2);
                    return(d1 <= d2);

                case "&&":
                    b1 = MiMFa_Convert.ToBoolean(op1);
                    b2 = MiMFa_Convert.ToBoolean(op2);
                    return(b1 && b2);

                case "||":
                    b1 = MiMFa_Convert.ToBoolean(op1);
                    b2 = MiMFa_Convert.ToBoolean(op2);
                    return(b1 || b2);

                case "is": return(op1.GetType() == op2.GetType());
                }
                DataTable dt = new DataTable();
                return(Convert.ToBoolean(dt.Compute(op1 + sign + op2, "")));;
            }
            catch { throw new Exception("Invalid character."); }
        }
Пример #24
0
        public virtual string Replace(string MRLCode, string sign = "")
        {
            Dictionary <int, string> dim = new Dictionary <int, string>();

            return(MiMFa_StringService.ReplaceWithAllWordBetween(MRLCode, StartSign, EndSign, (i, s) => sign, out dim, CaseSensitive));
        }
Пример #25
0
        private void Element_DoubleClick(object sender, HtmlElementEventArgs e)
        {
            var elem = (HtmlElement)sender;

            RTB.AppendText("¶[" + MiMFa_StringService.CompressedText(elem.InnerText, 100, "...") + "]" + Environment.NewLine);
        }
Пример #26
0
 private void btn_Send_Click(object sender, EventArgs e)
 {
     Send(MiMFa_StringService.ToHTML(RTB.Text), MiMFa_SocketPacketDataType.Text);
 }
Пример #27
0
        public static List <string> GetKeywordFromParenthesis(string text)
        {
            List <string> ls = MiMFa_StringService.GetAllWordsBetween(text, "(", ")", false);

            return(ls);
        }
Пример #28
0
        public static List <string> GetKeywordFromBrackets(string text)
        {
            List <string> ls = MiMFa_StringService.GetAllWordsBetween(text, "[", "]", false);

            return(ls);
        }
Пример #29
0
        public static List <string> GetKeywordFromDoubleQuotation(string text)
        {
            List <string> ls = MiMFa_StringService.GetAllWordsBetween(text, "\"", "\"", false);

            return(ls);
        }