Example #1
0
        /// <summary>
        /// for Form
        /// </summary>
        private void DoForForm()
        {
            string dataName = "";
            var    theTag   = TagList.FirstOrDefault(a => a is FormTag);

            if (theTag != null)
            {
                FormTag form = theTag as FormTag;
                dataName = form.DataName;
                FieldTag        field  = null;
                List <FieldTag> Fields = new List <FieldTag>();
                foreach (var c in TagList.Where(a => a is FieldTag))
                {
                    if (c is FieldTag)
                    {
                        field = c as FieldTag;
                        if (field.Type == FieldType.form_value)
                        {
                            field.SetDataName(dataName, FieldType.form_value);
                            form.AddField(field);
                        }
                    }
                }

                theTag = TagList.FirstOrDefault(a => a is MethodTag && (a as MethodTag).Type == MethodType.form_method);
                if (theTag != null)
                {
                    MethodTag method = theTag as MethodTag;
                    form.SetMethod(method);
                }
            }
        }
        protected void printResults(MethodTag methodTag, List <int> ListToPrint)
        {
            switch (methodTag)
            {
            case MethodTag.INSERTION_SORT:
                Console.Write("Insertion sort results:\n");
                break;

            case MethodTag.MERGE_SORT:
                Console.Write("Merge sort results:\n");
                break;

            case MethodTag.QUICK_SORT:
                Console.Write("Quick sort results:\n");
                break;

            default:
                Console.Write("[ERR] switch default hit. See BaseSorter, printResults()\n");
                break;
            }

            if (ListToPrint.Count > 15)
            {
                Console.Write("  [ {0}, {1}, {2}, {3}, {4}, ... \n\t{5}, {6}, {7}, {8}, {9} ...\n\t\t{10}, {11}, {12}, {13}, {14} ]\n",
                              ListToPrint[0],
                              ListToPrint[1],
                              ListToPrint[2],
                              ListToPrint[3],
                              ListToPrint[4],
                              ListToPrint[ListToPrint.Count / 2 - 2],
                              ListToPrint[ListToPrint.Count / 2 - 1],
                              ListToPrint[ListToPrint.Count / 2],
                              ListToPrint[ListToPrint.Count / 2 + 1],
                              ListToPrint[ListToPrint.Count / 2 + 2],
                              ListToPrint[ListToPrint.Count - 5],
                              ListToPrint[ListToPrint.Count - 4],
                              ListToPrint[ListToPrint.Count - 3],
                              ListToPrint[ListToPrint.Count - 2],
                              ListToPrint[ListToPrint.Count - 1]
                              );
            }
            else
            {
                Console.Write("  [ ");
                for (int i = 0; i < ListToPrint.Count; i++)
                {
                    Console.Write("{0}", ListToPrint[i]);

                    if (i < ListToPrint.Count - 1)
                    {
                        Console.Write(", ");
                    }
                }
                Console.Write("]\n");
            }
        }
        protected void printResults(MethodTag methodTag, List<int> ListToPrint)
        {
            switch(methodTag)
            {
                case MethodTag.INSERTION_SORT:
                    Console.Write("Insertion sort results:\n");
                    break;
                case MethodTag.MERGE_SORT:
                    Console.Write("Merge sort results:\n");
                    break;
                case MethodTag.QUICK_SORT:
                    Console.Write("Quick sort results:\n");
                    break;
                default:
                    Console.Write("[ERR] switch default hit. See BaseSorter, printResults()\n");
                    break;
            }

            if(ListToPrint.Count > 15)
            {
                Console.Write("  [ {0}, {1}, {2}, {3}, {4}, ... \n\t{5}, {6}, {7}, {8}, {9} ...\n\t\t{10}, {11}, {12}, {13}, {14} ]\n",
                    ListToPrint[0],
                    ListToPrint[1],
                    ListToPrint[2],
                    ListToPrint[3],
                    ListToPrint[4],
                    ListToPrint[ListToPrint.Count / 2 - 2],
                    ListToPrint[ListToPrint.Count / 2 - 1],
                    ListToPrint[ListToPrint.Count / 2],
                    ListToPrint[ListToPrint.Count / 2 + 1],
                    ListToPrint[ListToPrint.Count / 2 + 2],
                    ListToPrint[ListToPrint.Count - 5],
                    ListToPrint[ListToPrint.Count - 4],
                    ListToPrint[ListToPrint.Count - 3],
                    ListToPrint[ListToPrint.Count - 2],
                    ListToPrint[ListToPrint.Count - 1]
                    );
            }
            else
            {
                Console.Write("  [ ");
                for (int i = 0; i < ListToPrint.Count; i++)
                {
                    Console.Write("{0}", ListToPrint[i]);

                    if(i < ListToPrint.Count - 1)
                    {
                        Console.Write(", ");
                    }
                }
                Console.Write("]\n");
            }
        }
Example #4
0
 /// <summary>
 /// 测试标签
 /// </summary>
 /// <param name="text">文本(经过格式化)</param>
 /// <param name="origin">原始文本</param>
 /// <param name="regex">正则表达式</param>
 /// <param name="type">目标标签类型</param>
 private void MatchTag(string text, string origin, Regex regex, TagType type)
 {
     if (this.Config.tagregex.TagPairEndTest.IsMatch(text) || this.Config.tagregex.EmptyTest.IsMatch(text) ||
         this.Config.tagregex.ifTagKeyTest.IsMatch(text))
     {
         return;
     }
     TheMatch = regex.Match(text);
     if (TheMatch.Success)
     {
         this.Html = this.Html.Replace(origin, text);
         if (type == TagType._tag_list)
         {
             text = FindFirstListTagStr(text, this.TagList.Count());
         }
         if (type == TagType._tag_command)
         {
             CMDTag tag = new CMDTag(text, origin, Deep, this.Config, this.TagList.Count);
             GetCMD(tag);
             this.TagList.Add(tag);
         }
         else if (type == TagType._tag_list)
         {
             if (this is SubListPage)
             {
                 ListTag tag = new ListTag(text, origin, Deep, (this as SubListPage).PageName, this.Config, this.TagList.Count);
                 this.TagList.Add(tag);
             }
             else
             {
                 ListTag tag = new ListTag(text, origin, Deep, this is ItemPage ? (this as ItemPage).PageName : "", this.Config, this.TagList.Count);
                 this.TagList.Add(tag);
             }
         }
         else if (type == TagType._tag_read)
         {
             ReadTag tag = new ReadTag(text, origin, Deep, this.Config, this.TagList.Count);
             this.TagList.Add(tag);
         }
         else if (type == TagType._tag_label)
         {
             LabelTag tag = new LabelTag(text, origin, Deep, this is LabelPage ? (this as LabelPage).PageName : "", this.Config, this.TagList.Count);
             tag.LazyLoad();
             this.TagList.Add(tag);
         }
         else if (type == TagType._tag_static)
         {
             StaticTag tag = new StaticTag(text, origin, Deep, this is StaticPage ? (this as StaticPage).PageName : "", this.Config, this.TagList.Count);
             this.TagList.Add(tag);
         }
         else if (type == TagType._tag_filed)
         {
             FieldTag tag = new FieldTag(text, origin, Deep, this.Config, this.TagList.Count);
             this.TagList.Add(tag);
         }
         else if (type == TagType._tag_method)
         {
             MethodTag tag = new MethodTag(text, origin, Deep, this.Config, this.TagList.Count);
             this.TagList.Add(tag);
         }
         else if (type == TagType._tag_pager)
         {
             PagerTag tag = new PagerTag(text, origin, Deep, this.Config, this.TagList.Count);
             this.TagList.Add(tag);
         }
         else if (type == TagType._tag_form)
         {
             FormTag tag = new FormTag(text, origin, Deep, this.Config, this.TagList.Count);
             this.TagList.Add(tag);
             this.TagCallBack = "form";
         }
         else if (type == TagType._tag_json)
         {
             JsonTag tag = new JsonTag(text, origin, Deep, this.Config, this.TagList.Count);
             this.TagList.Add(tag);
             this.TagCallBack = "json";
         }
     }
 }