当前位置: 代码迷 >> VB Dotnet >> listbox怎么大量读取ini文件内的内容
  详细解决方案

listbox怎么大量读取ini文件内的内容

热度:168   发布时间:2016-04-25 02:20:38.0
listbox如何大量读取ini文件内的内容
普通的getini只能能读取第一行
虽然我知道可以用循环来做
但是我不会...
求各位帮忙写个例子...
------解决方案--------------------
你选读取出来到时候怎么用?
不是用到在用?还是你读取放在类里面=》类属性?

 public class OperateIniFile
    {
        #region API函数声明
 
        [DllImport("kernel32")]//返回0表示失败,非0为成功
        private static extern long WritePrivateProfileString(string section,string key,
            string val,string filePath);
 
        [DllImport("kernel32")]//返回取得字符串缓冲区的长度
        private static extern long GetPrivateProfileString(string section,string key,
            string def,StringBuilder retVal,int size,string filePath);
 
 
        #endregion
 
        #region 读Ini文件
 
        public static string ReadIniData(string Section,string Key,string NoText,string iniFilePath)
        {
            if(File.Exists(iniFilePath))
            {
                StringBuilder temp = new StringBuilder(1024);
                GetPrivateProfileString(Section,Key,NoText,temp,1024,iniFilePath);
                return temp.ToString();
            }
            else
            {
                return String.Empty;
            }
        }
        #endregion


用法
       var test = OperateIniFile.ReadIniData("Section1", "A", "", @"路径下面的/data.ini");
------解决方案--------------------

Public Class clsINI
    Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
    Private Declare Unicode Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringW" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Int32
    Public Function INIRead(ByVal INIpath As String, _
    ByVal sectionName As String, ByVal keyName As String, _
    ByVal defaultValue As String) As String
        Dim n As Int32
        Dim sData As String
        sData = Space(1024)
        n = GetPrivateProfileString(sectionName, keyName, defaultValue, _
        sData, sData.Length, INIpath)
        If n > 0 Then
            INIRead = sData.Substring(0, n)
        Else
            INIRead = ""
        End If
    End Function

    Public Function INIRead(ByVal INIpath As String, _
    ByVal sectionName As String, ByVal keyName As String) As String
        Return INIRead(INIpath, sectionName, keyName, "")
    End Function
    Public Function INIRead(ByVal INIpath As String, _
    ByVal sectionName As String) As String
        Return INIRead(INIpath, sectionName, Nothing, "")
    End Function
  相关解决方案