Example #1
0
 public IniSection WriteValue(string SectionName, string key, DateTime value)
 {
     IniSection ISec = FindSection(SectionName);
     if (ISec == null)
     {
         ISec = new IniSection(SectionName);
         List.Add(ISec);
     }
     ISec.WriteValue(key, value);
     return ISec;
 }
Example #2
0
        public void LoadFromStream(Stream stream)
        {
            StreamReader SR = new StreamReader(stream,System.Text.ASCIIEncoding.Default);

            List.Clear();
            string st = null;
            IniSection Section = null;//节点
            int equalSignPos;
            string key, value;
            while (true)
            {
                st = SR.ReadLine();
                if (st == null)
                    break;
                st = st.Trim();
                if (st == "")
                    continue;
                if (st != "" && st[0] == '[' && st[st.Length - 1] == ']')
                {
                    st = st.Remove(0, 1);
                    st = st.Remove(st.Length - 1, 1);
                    Section = FindSection(st);
                    if (Section == null)
                    {
                        Section = new IniSection(st);
                        List.Add(Section);
                    }
                }
                else
                {
                    if (Section == null)
                    {
                        Section = FindSection("UnDefSection");
                        if (Section == null)
                        {
                            Section = new IniSection("UnDefSection");
                            List.Add(Section);
                        }
                    }
                    //开始解析
                    equalSignPos = st.IndexOf('=');
                    if (equalSignPos != 0)
                    {
                        key = st.Substring(0, equalSignPos);
                        value = st.Substring(equalSignPos + 1, st.Length - equalSignPos - 1);
                        Section.AddKeyValue(key, value);//增加到节点
                    }
                    else
                        Section.AddKeyValue(st, "");
                }
            }
            SR.Dispose();
        }