Exemplo n.º 1
0
        /// <summary>
        /// HULFT転送グループ定義の文字列を解釈して、HulftTGrpクラスのListを生成して返す。
        /// </summary>
        /// <param name="HtmlText">HULFT転送グループ定義文字列</param>
        /// <returns>HulftTGrpクラスのList</returns>
        public static List <HulftTGrpDef> StringBuildHulftTGrpDef(string HtmlText)
        {
            List <HulftTGrpDef> hulftTGrpDefs = new List <HulftTGrpDef>();
            HulftTGrpDef        hulftdef      = new HulftTGrpDef();

            //string htmlstr = File.ReadAllText(filename);
            using (StringReader sr = new StringReader(HtmlText))
            {
                string fileContent = "";
                bool   serverDef   = false;

                while ((fileContent = sr.ReadLine()) != null)
                {
                    //Debug.WriteLine(fileContent);
                    fileContent = fileContent.Trim();
                    if (fileContent == "")
                    {
                        continue;
                    }
                    if (fileContent == "#")
                    {
                        continue;
                    }


                    string[] array = fileContent.Split('=');
                    switch (array[0])
                    {
                    case "# ID":
                        hulftdef.ClearRest();
                        hulftdef.Id = array[1];
                        break;

                    case "GRP":
                        hulftdef.Grp = array[1];
                        break;

                    case "COMMENT":
                        hulftdef.Comment = array[1];
                        break;

                    case "SERVER DEF":
                        serverDef = true;
                        break;

                    case "DEFEND":
                        serverDef = false;
                        break;

                    case "END":
                        hulftTGrpDefs.Add(hulftdef.Clone());
                        break;
                    }

                    if (serverDef && array[0] != "SERVER DEF")
                    {
                        hulftdef.ServerList.Add(fileContent);
                        continue;
                    }
                }
            }

            return(hulftTGrpDefs);
        }