精华内容
下载资源
问答
  • 在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件,程序初始化时再读入。
  • vb ini非系统读写函数

    2013-07-14 06:43:58
    这个是一个配置文件读写的两个函数,目标文件格式与ini相类似,支持注释(只要不含"=""[""]"三个敏感字符就行)。读取时文件将以匹配Section(第几个要取决于有重复Section时,那个Section第一个出现了目标Key)和...
  • 虽然VB.NET中读取XML配置信息很方便,但有时开发的过程中还是要用到INI文件,在VB.NET中读取INI却不像VB中那么方便了,刚才写了个函数,现贴出来,也许各位能用得上。  '函数名: sdGetIniInfo  '功能:读取...

    虽然VB.NET中读取XML配置信息很方便,但有时开发的过程中还是要用到INI文件,在VB.NET中读取INI却不像VB中那么方便了,刚才写了个函数,现贴出来,也许各位能用得上。


        '函数名: sdGetIniInfo
        '功能:读取INI文件设置信息
        '参数说明:iniFile-->INI文件     iniSection--INI文件中设置的部分名称
        Function sdGetIniInfo(ByVal iniFile As String, ByVal iniSection As String) As String
            If Not File.Exists(iniFile) Then
                Return "文件 " & iniFile & " 未找到,请确认路径和文件名是否正确!"
                Exit Function
            End If

            Dim iniRead As New StreamReader(iniFile)
            Dim iniStr As String = iniRead.ReadToEnd

            Dim i As Integer
            Dim cLine As Integer
            Dim noSec As Boolean = False
            Dim getValue As String = ""
            Dim cLst

            cLst = iniStr.Split(Chr(13))
            cLine = UBound(cLst)

            For i = 0 To cLine
                If cLst(i).indexof("=") > 0 Then
                    If cLst(i).split("=")(0).trim() = iniSection Then
                        noSec = True
                        getValue = cLst(i).split("=")(1).trim()
                        Exit For
                    End If
                End If
            Next

            If noSec = True Then
                Return getValue
            Else
                Return "没有找到 " & iniSection & " 的设置信息!"
            End If
        End Function

    说明:在引用的面页中要先引用 Imports System.IO
     

    EG:

    set.ini文件内容:

    [Info]
    name=zhuang
    age=20

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim name As String
            name = sdGetIniInfo(Application.StartupPath & "\set.ini", "name")
            MsgBox(name)
        End Sub

    展开全文
  • 虽然VB.NET中读取XML配置信息很方便,但有时开发的过程中还是要用到INI文件,在VB.NET中读取INI却不像VB中那么方便了,刚才写了个函数,现贴出来,也许各位能用得上。 函数名: sdGetIniInfo 功能:读取INI文件设置...

          虽然VB.NET中读取XML配置信息很方便,但有时开发的过程中还是要用到INI文件,在VB.NET中读取INI却不像VB中那么方便了,刚才写了个函数,现贴出来,也许各位能用得上。

        '函数名: sdGetIniInfo
        '功能:读取INI文件设置信息
        '参数说明:iniFile-->INI文件     iniSection--INI文件中设置的部分名称

        Function sdGetIniInfo(ByVal iniFile As String, ByVal iniSection As String) As String
            If Not File.Exists(iniFile) Then
                Return "文件 " & iniFile & " 未找到,请确认路径和文件名是否正确!"
                Exit Function
            End If

          Dim iniRead As New StreamReader(iniFile)
            Dim iniStr As String = iniRead.ReadToEnd

          Dim i As Integer
            Dim cLine As Integer
            Dim noSec As Boolean = False
            Dim getValue As String = ""
            Dim cLst

          cLst = iniStr.Split(Chr(13))
            cLine = UBound(cLst)

              For i = 0 To cLine
                If cLst(i).indexof("=") > 0 Then
                    If cLst(i).split("=")(0).trim() = iniSection Then
                        noSec = True
                        getValue = cLst(i).split("=")(1).trim()
                        Exit For
                    End If
                End If
            Next

              If noSec = True Then
                Return getValue
            Else
                Return "没有找到 " & iniSection & " 的设置信息!"
            End If
        End Function

      说明:在引用的面页中要先引用 Imports System.IO

      EG:

      set.ini文件内容:

      [Info]
             name=zhuang
             age=20

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim name As String
            name = sdGetIniInfo(Application.StartupPath & "/set.ini", "name")
            MsgBox(name)
          End Sub

     
    展开全文
  • 虽然VB.NET中读取XML配置信息很方便,但有时开发的过程中还是要用到INI文件,在VB.NET中读取INI却不像VB中那么方便了,刚才写了个函数,现贴出来,也许各位能用得上。 函数名: sdGetIniInfo 功能:读取INI文件设置...

     

    虽然VB.NET中读取XML配置信息很方便,但有时开发的过程中还是要用到INI文件,在VB.NET中读取INI却不像VB中那么方便了,刚才写了个函数,现贴出来,也许各位能用得上。


        '函数名: sdGetIniInfo
        '功能:读取INI文件设置信息
        '参数说明:iniFile-->INI文件     iniSection--INI文件中设置的部分名称
        '作者:SD
        '日期:2005-10-11
        'Email:ztqas@126.com
        '备注:转载或修改请保留此信息
        Function sdGetIniInfo(ByVal iniFile As String, ByVal iniSection As String) As String
            If Not File.Exists(iniFile) Then
                Return "文件 " & iniFile & " 未找到,请确认路径和文件名是否正确!"
                Exit Function
            End If

            Dim iniRead As New StreamReader(iniFile)
            Dim iniStr As String = iniRead.ReadToEnd

            Dim i As Integer
            Dim cLine As Integer
            Dim noSec As Boolean = False
            Dim getValue As String = ""
            Dim cLst

            cLst = iniStr.Split(Chr(13))
            cLine = UBound(cLst)

            For i = 0 To cLine
                If cLst(i).indexof("=") > 0 Then
                    If cLst(i).split("=")(0).trim() = iniSection Then
                        noSec = True
                        getValue = cLst(i).split("=")(1).trim()
                        Exit For
                    End If
                End If
            Next

            If noSec = True Then
                Return getValue
            Else
                Return "没有找到 " & iniSection & " 的设置信息!"
            End If
        End Function

    说明:在引用的面页中要先引用 Imports System.IO

     

    EG:

    set.ini文件内容:

    [Info]
    name=zhuang
    age=20

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim name As String
            name = sdGetIniInfo(Application.StartupPath & "/set.ini", "name")
            MsgBox(name)
        End Sub

     

     
    展开全文
  • WritePrivateProfileString函数说明 来源:http://blog.csdn.net/wjb9921/article/details/2005000在我们写的程序当中,总有一些配置信息需要保存下来,以便完成...将信息写入.INI文件. 1.所用的WINAPI函数原型为:...
    WritePrivateProfileString函数说明 
    来源:http://blog.csdn.net/wjb9921/article/details/2005000

     在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:

      一.将信息写入.INI文件中.

      1.所用的WINAPI函数原型为: 

    BOOL WritePrivateProfileString(
    LPCTSTR lpAppName,
    LPCTSTR lpKeyName,
    LPCTSTR lpString,
    LPCTSTR lpFileName
    ); 

      其中各参数的意义:

       LPCTSTR lpAppName 是INI文件中的一个字段名.

       LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.

       LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.

       LPCTSTR lpFileName 是完整的INI文件名.

      2.具体使用方法:设现有一名学生,需把他的姓名和年龄写入 c:/stud/student.ini 文件中. 

    CString strName,strTemp;
    int nAge;
    strName="张三";
    nAge=12;
    ::WritePrivateProfileString("StudentInfo","Name",strName,"c://stud//student.ini"); 

      此时c:/stud/student.ini文件中的内容如下:

       [StudentInfo]
       Name=张三

      3.要将学生的年龄保存下来,只需将整型的值变为字符型即可:

    strTemp.format("%d",nAge);
    ::WritePrivateProfileString("StudentInfo","Age",strTemp,"c://stud//student.ini"); 

    二.将信息从INI文件中读入程序中的变量.

      1.所用的WINAPI函数原型为:

    DWORD GetPrivateProfileString(
    LPCTSTR lpAppName, 
    LPCTSTR lpKeyName, 
    LPCTSTR lpDefault, 
    LPTSTR lpReturnedString, 
    DWORD nSize, 
    LPCTSTR lpFileName 
    ); 

      其中各参数的意义: 

       前二个参数与 WritePrivateProfileString中的意义一样.

       lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量. 

       lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器.

       nSize : 目的缓存器的大小.

       lpFileName : 是完整的INI文件名.

      2.具体使用方法:现要将上一步中写入的学生的信息读入程序中.

    CString strStudName;
    int nStudAge; 
    GetPrivateProfileString("StudentInfo","Name","默认姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c://stud//student.ini"); 

      执行后 strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名".

      3.读入整型值要用另一个WINAPI函数: 

    UINT GetPrivateProfileInt(
    LPCTSTR lpAppName, 
    LPCTSTR lpKeyName, 
    INT nDefault, 
    LPCTSTR lpFileName 
    ); 

      这里的参数意义与上相同.使用方法如下:

    nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c://stud//student.ini"); 

    三.循环写入多个值,设现有一程序,要将最近使用的几个文件名保存下来,具体程序如下:

      1.写入:

    CString strTemp,strTempA;
    int i;
    int nCount=6;
    文件://共有6个文件名需要保存
    for(i=0;i {strTemp.format("%d",i);
    strTempA=文件名;
    文件://文件名可以从数组,列表框等处取得.
    ::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA,
    "c://usefile//usefile.ini");
    }
    strTemp.format("%d",nCount);
    ::WritePrivateProfileString("FileCount","Count",strTemp,"c://usefile//usefile.ini");
    文件://将文件总数写入,以便读出. 

      2.读出:

    nCount=::GetPrivateProfileInt("FileCount","Count",0,"c://usefile//usefile.ini");
    for(i=0;i {strTemp.format("%d",i);
    strTemp="FileName"+strTemp;
    ::GetPrivateProfileString("CurrentIni",strTemp,"default.fil", strTempA.GetBuffer(MAX_PATH),MAX_PATH,"c://usefile//usefile.ini");

    文件://使用strTempA中的内容.



      补充四点:

       1.INI文件的路径必须完整,文件名前面的各级目录必须存在,否则写入不成功,该函数返回 FALSE 值.

       2.文件名的路径中必须为 // ,因为在VC++中, // 才表示一个 / .

       3.也可将INI文件放在程序所在目录,此时 lpFileName 参数为: ".//student.ini".

       4.从网页中粘贴源代码时,最好先粘贴至记事本中,再往VC中粘贴,否则易造成编译错误,开始时我也十分不解,好好的代码怎么就不对呢?后来才找到这个方法.还有一些代码中使用了全角字符如:<,\等,也会
    造成编译错误. 

    GetPrivateProfileString函数说明
     该函数返回值为string的长度(long型),而从ini文件获得的字符串则保留在目的缓冲器中 
    DWORD GetPrivateProfileString(
    LPCTSTR lpAppName, 
    LPCTSTR lpKeyName, 
    LPCTSTR lpDefault, 
    LPTSTR lpReturnedString, 
    DWORD nSize, 
    LPCTSTR lpFileName 
    ); 

      其中各参数的意义: 

       前二个参数与 WritePrivateProfileString中的意义一样.

       lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量. 

       lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器.

       nSize : 目的缓存器的大小.

       lpFileName : 是完整的INI文件名.
     
    VB读写INI文件的四个函数
     

    '文件名SourceDB.ini文件
    Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

    Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long 

    '以下两个函数,读/写ini文件,固定节点setting,in_key为写入/读取的主键
    '仅仅针对是非值
    'Y:yes,N:no,E:error
    Public Function GetIniTF(ByVal In_Key As String) As Boolean
    On Error GoTo GetIniTFErr
    GetIniTF = True
    Dim GetStr As String
    GetStr = VBA.String(128, 0)
    GetPrivateProfileString "Setting", In_Key, "", GetStr, 256, App.Path & "/SourceDB.ini"
    GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")
    If GetStr = "1" Then
    GetIniTF = True
    GetStr = ""
    Else
    GoTo GetIniTFErr
    End If
    Exit Function
    GetIniTFErr:
    Err.Clear
    GetIniTF = False
    GetStr = ""
    End Function

    Public Function WriteIniTF(ByVal In_Key As String, ByVal In_Data As Boolean) As Boolean
    On Error GoTo WriteIniTFErr
    WriteIniTF = True
    If In_Data = True Then
    WritePrivateProfileString "Setting", In_Key, "1", App.Path & "/SourceDB.ini"
    Else
    WritePrivateProfileString "Setting", In_Key, "0", App.Path & "/SourceDB.ini"
    End If
    Exit Function
    WriteIniTFErr:
    Err.Clear
    WriteIniTF = False
    End Function


    '以下两个函数,读/写ini文件,不固定节点,in_key为写入/读取的主键
    '针对字符串值
    '空值表示出错
    Public Function GetIniStr(ByVal AppName As String, ByVal In_Key As String) As String
    On Error GoTo GetIniStrErr
    If VBA.Trim(In_Key) = "" Then
    GoTo GetIniStrErr
    End If
    Dim GetStr As String
    GetStr = VBA.String(128, 0)
    GetPrivateProfileString AppName, In_Key, "", GetStr, 256, App.Path & "/SourceDB.ini"
    GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")
    If GetStr = "" Then
    GoTo GetIniStrErr
    Else
    GetIniStr = GetStr
    GetStr = ""
    End If
    Exit Function
    GetIniStrErr:
    Err.Clear
    GetIniStr = ""
    GetStr = ""
    End Function

    Public Function WriteIniStr(ByVal AppName As String, ByVal In_Key As String, ByVal In_Data As String) As Boolean
    On Error GoTo WriteIniStrErr
    WriteIniStr = True
    If VBA.Trim(In_Data) = "" Or VBA.Trim(In_Key) = "" Or VBA.Trim(AppName) = "" Then
    GoTo WriteIniStrErr
    Else
    WritePrivateProfileString AppName, In_Key, In_Data, App.Path & "/SourceDB.ini"
    End If
    Exit Function
    WriteIniStrErr:
    Err.Clear
    WriteIniStr = False
    End Function
     

    转载于:https://www.cnblogs.com/wangxiaoyang/p/3598553.html

    展开全文
  • 虽然VB.NET中读取XML配置信息很方便,但有时开发的过程中还是要用到INI文件,在VB.NET中读取INI却不像VB中那么方便了,刚才写了个函数,现贴出来,也许各位能用得上。 函数名: sdGetIniInfo 功能:读取INI文件设置...
  • WritePrivateProfileString函数说明 在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件....
  • VB读写ini文件

    千次阅读 2007-08-20 18:44:00
    VB读写ini文件(1)自从注册表诞生以来ini文件正在逐渐失去其市场占有率,然而基于ini文件的独立性,致使其还没有到达退出历史舞台的地步,很多应用程序的初始化和一些界面参数的设置仍然很愿意从ini文件读取,...
  • vb读取ini文件

    千次阅读 2008-02-29 15:28:00
    以下是模块函数代码 Public Function readini(ByVal filename As String) As String() Dim fileExists As Boolean fileExists = My.Computer.FileSystem.FileExists(filename) If fileExists Th
  • VB读写ini文件(1) 自从注册表诞生以来ini文件正在逐渐失去其市场占有率,然而基于ini文件的独立性,致使其还没有到达退出历史舞台的地步,很多应用程序的初始化和一些界面参数的设置仍然很愿意从ini文件读取,...
  • 判断文件是否存在#################################################################### 函数名称:FileExist## 参数:Fname 为String型As Boolean## 返回类型:As Boolean################################...
  • vb.net vs2008读取INI文件示例,ini文件名为 Send.ini,代码包括了一个读ini API函数。  Ini文件说明:  [节名] []的节名对应此API的第一参数  Name=内容 Name对应此API的第二参数  API的第三参数是没有取到...
  • 摘要 结合实例介绍了在VB中调用Windows API函数操作初始化文件的方法和优点.关键词 VB Windows API INI文件一、INI文件概述Windows INI文件,可解释为Windows初始化文件。它是一种专门用来保存应用程序初始化信息和...
  • vb如何读写ini文件

    千次阅读 2007-11-28 08:24:00
    VB中有没有读取INI文件的函数,同样功能的API函数是什么? 回答: VB没有直接读写INI文件的语句,必须借助Windows API来操作INI文件。相应的Windows API函数有两类:一类是GetProfileInt、GetProfileString、...
  • vb读写.ini文件.rar

    2010-04-22 11:00:29
    vb读写.ini文件.rar '写信息 '修改abc.ini文件tip字段start的值为当前系统时间 '如果该文件不存在会自动建立 , 当函数返回值为0时说明修改不成功 '读取abc.ini文件tip字段start的值并打印出来 '当函数...
  • 在VB应用程序中使用INI文件的一点体会 (转)[@more@] 摘要 结合实例介绍了在VB中调用windows api函数操作初始化文件的方法和优点.关键词 vb Windows API INI文件一、INI文件概述Win...
  • 读取INI文件VB源代码

    2009-09-22 13:00:23
    VB中利用API函数读取INI配置文件的源代码。 希望能给需要的VB爱好者提供些许方便。
  • 1 工程-添加模块,在右侧工程视图可以发现多了一个Module1 ... 2 比如我在这个模块自定义两个函数,分别为写入和读取INI函数  3 则在主程序已经可以直接调用  ...
  • [VB.NET]读写INI文件

    千次阅读 2009-08-12 09:42:00
    读写INI文件 实例说明在本实例,我们将应用VB.NET制作一个能够实现读写INI文件的应用程序。技术要点l INI文件的格式l GetPrivateProfileInt()和GetPrivateProfileString()函数l WritePrivateProfileString()函数...
  • 新建一个VB6工程,直接加载此模块后,就可以调用模块的接口函数,通过调用不同的接口函数,可以实现: 1、枚举INI配置文件的所有主项名称。 2、根据指定的主项名称,可以枚举主项名称下的所有子项名称。 3、根据...
  • 前面几节内容使用了已知的节(section)和键(Key)来获取值的, ...本节内容正式讨论如何枚举一个ini文件的节(section)和键值对。 使用到的api函数仍然是GetPrivateProfileString() Private Declare Func...
  • VB几个有用的函数

    2004-08-30 17:37:00
    注释:————————(1)————————————注释:获得指定ini文件某个节下面的所有键值 TrueZq,,需要下面的API声明注释:Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias ...
  • 那时Windows和其应用程序的设置值大多都保存在各不相同的.INI文件。例如我们最为熟悉的System.ini和Win.ini就是这样的文件。当软件越安越多,这种文件也越来越多,而且遍布硬盘的各个角落。既不便于管理,也浪费了...
  • VB下几个非常有用的函数 (转)[@more@] VB下几个非常有用的函数'————————(1)————————————'获得指定ini文件某个节下面的所有键值 TrueZq,,需要下面的api声明'Private Dec...

空空如也

空空如也

1 2 3 4 5
收藏数 100
精华内容 40
关键字:

vb中ini函数