Exemplo n.º 1
0
        /// <summary>
        /// INIファイルのセクション名一覧を取得
        /// </summary>
        /// <param name="iDefault">デフォルトセクション名</param>
        /// <returns>INIファイルより取得したセクション名一覧</returns>
        public List <string> GetSectionList(string iDefault = DEFAULT_STRING)
        {
            byte[] b      = new byte[1024];
            uint   length = IniFileUtil.GetPrivateProfileStringByByteArray(null, null, iDefault, b, (uint)b.Length, this.FileName);

            string[]      sections = Encoding.Default.GetString(b, 0, (int)length - 1).Split('\0');
            List <string> ret      = new List <string>();

            foreach (string section in sections)
            {
                ret.Add(section);
            }
            return(ret);
        }
Exemplo n.º 2
0
        /// <summary>
        /// INIファイルのキー名一覧を取得
        /// </summary>
        /// <param name="iSection">セクション名</param>
        /// <param name="iDefault">デフォルト文字列</param>
        /// <returns>INIファイルのキー名一覧</returns>
        public List <string> GetKeyList(string iSection, string iDefault = DEFAULT_STRING)
        {
            if (string.IsNullOrEmpty(iSection))
            {
                return(new List <string>());
            }
            byte[] b      = new byte[MAX_BUFFER_SIZE];
            uint   length = IniFileUtil.GetPrivateProfileStringByByteArray(iSection, null, iDefault, b, (uint)b.Length, this.FileName);

            string[]      keys = Encoding.Default.GetString(b, 0, (int)length - 1).Split('\0');
            List <string> ret  = new List <string>();

            foreach (string key in keys)
            {
                ret.Add(key);
            }
            return(ret);
        }