精华内容
下载资源
问答
  • VB控件配置信息写入INI文件保存的例子,可看作是INI配置文件用法的例子,不仅可以保存控件的相关参数,还可作为应用程序的配置文件,在手机开发、WinForm程序和WEB开发中,INI文件都是使用非常频繁的。因此来说,这...
  • 利用vb读取ini文件,并写入excel
  • vb ini文件读取与写入

    2014-12-18 15:51:42
    vb ini配置文件的读取与写入
  • VB读写ini文件 将当前时间写入ini文件中 从ini文件中读取刚才存储的时间
  •  VB生成INI文件的一个例子,可按要求将内容写入INI文件中,并读取这些内容。友情提示:测试文件test.ini放在C盘下,参数一: Section Name。  参数二: 于.ini中的项目。  参数三: 项目的内容。  参数四:...
  • vb读取写入修改ini配置文件示例

    热门讨论 2008-12-30 16:14:39
    vb编写的对INI文件内容读取写入修改的例子.
  • vb读取和写入Windows的INI文件,例子。包含代码,可以直接使用
  • 在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入。
  • VB操作ini文件的一个实例,包括了一个INI文件操作类,程序演示了读取和写入键值,包括以下功能:  可操作 Ini文件名和错误信息,对ini文件属性进行初始化、指定Ini文件名、向Ini文件写入一个键值,如果键和...
  • prjGetWriteINIFile - 读取/写入INI文件 - VB6 + API - SourceCode - HackerJLYprjGetWriteINIFile.vbp Type=ExeReference=*/G{00020430-0000-0000-C000-000000000046}#2.0#0#C:/WINDOWS/system32/STDOLE2.TLB#OLE ...

    prjGetWriteINIFile - 读取/写入INI文件 - VB6 + API - SourceCode - HackerJLY

    prjGetWriteINIFile.vbp

     Type=Exe Reference=*/G{00020430-0000-0000-C000-000000000046}#2.0#0#C:/WINDOWS/system32/STDOLE2.TLB#OLE Automation Form=frmTest.frm Module=modEnumType; modEnumType.bas Module=modAPI; modAPI.bas Startup="frmTest" Command32="" Name="prjGetWriteINIFile" HelpContextID="0" CompatibleMode="0" MajorVer=1 MinorVer=0 RevisionVer=0 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="http://blog.csdn.net/HackerJLY" CompilationType=0 OptimizationType=0 FavorPentiumPro(tm)=0 CodeViewDebugInfo=0 NoAliasing=0 BoundsCheck=0 OverflowCheck=0 FlPointCheck=0 FDIVCheck=0 UnroundedFP=0 StartMode=0 Unattended=0 Retained=0 ThreadPerObject=0 MaxNumberOfThreads=1

    [MS Transaction Server] AutoRefresh=1

    [RVB] DeleteClass1=modPub

    modAPI.bas

     

    Attribute VB_Name = "modAPI" Option Explicit

    '带Private      :读写自己的ini文件 '不带Private    :读写Win.ini文件 'String后缀     :读写指定Section和Key的值 'Section后缀    :读写指定Section的内容,此ini文件中没有“key”,只有Section和它的下面的内容,Write的时候,是追加这个值,而且,这个值排在第一位,Get的时候,只会得到第一条记录 'Int后缀        :读写文件的指定Section和Key的Integer值 '--------------------------------------------------------------------------------------------------------------- 'Ini文件事例 '    ; for 16-bit app support           '分号:注释 ' '    [drivers]                          'Section '    Timer = Timer.drv                  'Key = Value ' '    [mci]                              'Section '    [driver32]                         'Section '    [386enh]                           'Section '    woafont = app936.FON               'Key = Value '    EGA80WOA.FON = EGA80WOA.FON        'Key = Value '    EGA40WOA.FON = EGA40WOA.FON        'Key = Value '    CGA80WOA.FON = CGA80WOA.FON        'Key = Value '    CGA40WOA.FON = CGA40WOA.FON        'Key = Value

    '--------------------------------------------------------------------------------------------------------------- '---------------------------------------------------------------------------------------------------------------

    Public 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 '--------------------------------------------------------------------------------------------------------------- 'The GetPrivateProfileSection function retrieves all of the keys and values for the specified section from an initialization file. This function is provided for compatibility with 16-bit applications written for Windows. Win32-based applications should store initialization information in the registry. Public Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long 'The GetProfileString function retrieves the string associated with the specified key in the given section of the WIN.INI file. 'This function is provided for compatibility with 16-bit Windows-based applications. Win32-based applications should store initialization information in the registry. Public Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long 'The GetProfileSection function retrieves all of the keys and values for the specified section of the WIN.INI file. 'This function is provided for compatibility with 16-bit Windows-based applications. Win32-based applications should store initialization information in the registry. Public Declare Function GetProfileSection Lib "kernel32" Alias "GetProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long 'The GetProfileInt function retrieves an integer from the specified key name in the given section of the WIN.INI file. 'This function is provided for compatibility with 16-bit Windows-based applications. Win32-based applications should store initialization information in the registry. Public Declare Function GetProfileInt Lib "kernel32" Alias "GetProfileIntA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Long) As Long 'The GetPrivateProfileInt function retrieves an integer associated with a key in the specified section of the given initialization file. 'This function is provided for compatibility with 16-bit Windows-based applications. Win32-based applications should store initialization information in the registry. Public Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long

    '--------------------------------------------------------------------------------------------------------------- '---------------------------------------------------------------------------------------------------------------

    Public 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 '--------------------------------------------------------------------------------------------------------------- 'The WritePrivateProfileSection function replaces the keys and values under the specified section in an initialization file. Public Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long 'The WriteProfileString function copies a string into the specified section of the WIN.INI file. 'This function is provided for compatibility with 16-bit Windows-based applications. Win32-based applications should store initialization information in the registry. Public Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long 'The WriteProfileSection function replaces the contents of the specified section in the WIN.INI file with the specified keys and values. Public Declare Function WriteProfileSection Lib "kernel32" Alias "WriteProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String) As Long

    modEnumType.bas

    Attribute VB_Name = "modEnumType" Option Explicit

    Public Type T_GetPrivateProfileStringParameters     strAppName As String     strKeyName As String     strDefault As String     strReturn As String * 128       '此处必须为:128字符定长字符串     lSize As Long     strFileName As String End Type

    Public Type T_WritePrivateProfileStringParameters     strAppName As String     strKeyName As String     str As String     strFileName As String End Type

    Public Type T_GetPrivateProfileSectionParameters     strAppName As String     strReturn As String * 128       '此处必须为:128字符定长字符串     lSize As Long     strFileName As String End Type

    Public Type T_WritePrivateProfileSectionParameters     strAppName As String     str As String     strFileName As String End Type

    Public Type T_GetPrivateProfileInt     strAppName As String     strKeyName As String     lSize As Long     strFileName As String End Type

    frmTest.frm

    VERSION 5.00 Begin VB.Form frmTest    Caption         =   "frmINITest"    ClientHeight    =   7095    ClientLeft      =   60    ClientTop       =   345    ClientWidth     =   9135    LinkTopic       =   "Form1"    LockControls    =   -1  'True    ScaleHeight     =   7095    ScaleWidth      =   9135    StartUpPosition =   3  '窗口缺省    Begin VB.Frame Frame5       Caption         =   "读写Win.ini文件专用"       Height          =   3375       Left            =   5280       TabIndex        =   22       Top             =   3600       Width           =   3855       Begin VB.CommandButton cmdGetProfileString          Caption         =   "GetProfileString"          Height          =   495          Left            =   240          TabIndex        =   27          Top             =   360          Width           =   3375       End       Begin VB.CommandButton cmdWriteProfileString          Caption         =   "WriteProfileString"          Height          =   495          Left            =   240          TabIndex        =   26          Top             =   960          Width           =   3375       End       Begin VB.CommandButton cmdGetProfileSection          Caption         =   "GetProfileSection"          Height          =   495          Left            =   240          TabIndex        =   25          Top             =   1560          Width           =   3375       End       Begin VB.CommandButton cmdWriteProfileSection          Caption         =   "WriteProfileSection"          Height          =   495          Left            =   240          TabIndex        =   24          Top             =   2160          Width           =   3375       End       Begin VB.CommandButton cmdGetProfileInt          Caption         =   "GetProfileInt"          Height          =   495          Left            =   240          TabIndex        =   23          Top             =   2760          Width           =   3375       End    End    Begin VB.Frame Frame4       Caption         =   "读写自己的ini文件"       Height          =   3375       Left            =   5280       TabIndex        =   17       Top             =   120       Width           =   3855       Begin VB.CommandButton cmdGetPrivateProfileInt          Caption         =   "GetPrivateProfileInt"          Height          =   495          Left            =   240          TabIndex        =   28          Top             =   2760          Width           =   3375       End       Begin VB.CommandButton cmdGetPrivateProfileString          Caption         =   "GetPrivateProfileString"          Height          =   495          Left            =   240          TabIndex        =   21          Top             =   360          Width           =   3375       End       Begin VB.CommandButton cmdWritePrivateProfileString          Caption         =   "WritePrivateProfileString"          Height          =   495          Left            =   240          TabIndex        =   20          Top             =   960          Width           =   3375       End       Begin VB.CommandButton cmdGetPrivateProfileSection          Caption         =   "GetPrivateProfileSection"          Height          =   495          Left            =   240          TabIndex        =   19          Top             =   1560          Width           =   3375       End       Begin VB.CommandButton cmdWritePrivateProfileSection          Caption         =   "WritePrivateProfileSection"          Height          =   495          Left            =   240          TabIndex        =   18          Top             =   2160          Width           =   3375       End    End    Begin VB.Frame Frame3       Caption         =   "WriteINIParameters"       Height          =   975       Left            =   240       TabIndex        =   2       Top             =   5400       Width           =   4815       Begin VB.TextBox txtWstr          Height          =   375          Left            =   1320          TabIndex        =   8          Text            =   "Hello"          Top             =   360          Width           =   3135       End       Begin VB.Label Label1          AutoSize        =   -1  'True          Caption         =   "str"          Height          =   180          Index           =   6          Left            =   120          TabIndex        =   7          Top             =   480          Width           =   270       End    End    Begin VB.Frame Frame2       Caption         =   "GetINIParameters"       Height          =   3015       Left            =   240       TabIndex        =   1       Top             =   2160       Width           =   4815       Begin VB.TextBox txtGDefault          Height          =   375          Left            =   1320          TabIndex        =   11          Text            =   "DefaultValue"          Top             =   240          Width           =   3135       End       Begin VB.TextBox txtGSize          Height          =   375          Left            =   1320          TabIndex        =   10          Text            =   "128"          Top             =   720          Width           =   3135       End       Begin VB.TextBox txtGReturn          Height          =   1695          Left            =   1320          Locked          =   -1  'True          MultiLine       =   -1  'True          ScrollBars      =   3  'Both          TabIndex        =   9          Top             =   1200          Width           =   3135       End       Begin VB.Label Label1          AutoSize        =   -1  'True          Caption         =   "strDefault"          Height          =   180          Index           =   3          Left            =   120          TabIndex        =   14          Top             =   360          Width           =   900       End       Begin VB.Label Label1          AutoSize        =   -1  'True          Caption         =   "lSize"          Height          =   180          Index           =   4          Left            =   120          TabIndex        =   13          Top             =   840          Width           =   450       End       Begin VB.Label Label1          AutoSize        =   -1  'True          Caption         =   "strReturn"          Height          =   180          Index           =   5          Left            =   120          TabIndex        =   12          Top             =   1320          Width           =   810       End    End    Begin VB.Frame Frame1       Caption         =   "PublicParameters"       Height          =   1815       Left            =   240       TabIndex        =   0       Top             =   120       Width           =   4815       Begin VB.TextBox txtGKeyName          Height          =   375          Left            =   1320          TabIndex        =   15          Text            =   "AppTitleID"          Top             =   1200          Width           =   3135       End       Begin VB.TextBox txtFileName          Height          =   375          Left            =   1320          TabIndex        =   6          Text            =   "Test.ini"          Top             =   720          Width           =   3135       End       Begin VB.TextBox txtAppName          Height          =   375          Left            =   1320          TabIndex        =   3          Text            =   "prjGetWriteINIFile"          Top             =   240          Width           =   3135       End       Begin VB.Label Label1          AutoSize        =   -1  'True          Caption         =   "varKeyName"          Height          =   180          Index           =   2          Left            =   120          TabIndex        =   16          Top             =   1320          Width           =   900       End       Begin VB.Label Label1          AutoSize        =   -1  'True          Caption         =   "strFileName"          Height          =   180          Index           =   1          Left            =   120          TabIndex        =   5          Top             =   840          Width           =   990       End       Begin VB.Label Label1          AutoSize        =   -1  'True          Caption         =   "strAppName"          Height          =   180          Index           =   0          Left            =   120          TabIndex        =   4          Top             =   360          Width           =   900       End    End End Attribute VB_Name = "frmTest" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit

    Dim utGetPrivateProfileStringParameters As T_GetPrivateProfileStringParameters Dim utWritePrivateProfileStringParameters As T_WritePrivateProfileStringParameters Dim utGetPrivateProfileSectionParameters As T_GetPrivateProfileSectionParameters Dim utWritePrivateProfileSectionParameters As T_WritePrivateProfileSectionParameters

    Private Sub cmdGetPrivateProfileSection_Click()     Dim lReturn As Long     With utGetPrivateProfileSectionParameters         .strAppName = Trim(Me.txtAppName.Text)         .lSize = CLng(Trim(Me.txtGSize.Text))         .strReturn = ""                 If Right(App.Path, 1) = "/" Then             .strFileName = App.Path & Trim(Me.txtFileName.Text)         Else             .strFileName = App.Path & "/" & Trim(Me.txtFileName.Text)         End If

                    lReturn = GetPrivateProfileSection(.strAppName, .strReturn, .lSize, .strFileName)                 Me.txtGReturn.Text = .strReturn             End With End Sub

    Private Sub cmdGetPrivateProfileString_Click()     Dim lReturn As Long     With utGetPrivateProfileStringParameters         .strAppName = Trim(Me.txtAppName.Text)         .strKeyName = Trim(Me.txtGKeyName.Text)         .strDefault = Trim(Me.txtGDefault.Text)         .lSize = CLng(Trim(Me.txtGSize.Text))                 If Right(App.Path, 1) = "/" Then             .strFileName = App.Path & Trim(Me.txtFileName.Text)         Else             .strFileName = App.Path & "/" & Trim(Me.txtFileName.Text)         End If                 Debug.Print .lSize & vbCrLf & .strAppName & vbCrLf & .strDefault & vbCrLf & .strFileName & vbCrLf & .strKeyName & vbCrLf & .strReturn                 lReturn = GetPrivateProfileString(.strAppName, .strKeyName, .strDefault, .strReturn, .lSize, .strFileName)                 Me.txtGReturn.Text = .strReturn                 End With End Sub

    Private Sub cmdWritePrivateProfileSection_Click()     Dim lReturn As Long     With utWritePrivateProfileSectionParameters         .strAppName = Trim(Me.txtAppName.Text)         .str = Trim(Me.txtWstr.Text) & Time                 If Right(App.Path, 1) = "/" Then             .strFileName = App.Path & Trim(Me.txtFileName.Text)         Else             .strFileName = App.Path & "/" & Trim(Me.txtFileName.Text)         End If                 WritePrivateProfileSection .strAppName, .str, .strFileName                     End With     End Sub

    Private Sub cmdWritePrivateProfileString_Click()     Dim bReturn As Boolean     With utWritePrivateProfileStringParameters         .strAppName = Trim(Me.txtAppName.Text)         .str = Trim(Me.txtWstr.Text) & Time         .strKeyName = Trim(Me.txtGKeyName.Text)                 If Right(App.Path, 1) = "/" Then             .strFileName = App.Path & Trim(Me.txtFileName.Text)         Else             .strFileName = App.Path & "/" & Trim(Me.txtFileName.Text)         End If                 Debug.Print .str & vbCrLf & .strAppName & vbCrLf & .strFileName                 bReturn = WritePrivateProfileString(.strAppName, .strKeyName, .str, .strFileName)                 If bReturn = False Then             MsgBox "WriteINI Faild !!!"         End If             End With End Sub

     

     

    展开全文
  • ini文件数据的写入还是使用了api函数。 本次api函数的定义使用DllImport的方式,可以参看 《vb.net 教程 2-13 Windows API 函数》 api函数定义: <DllImport("kernel32", EntryPoint:="WritePri...

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

    ini文件数据的写入还是使用了api函数。
    本次api函数的定义使用DllImport的方式,可以参看 《vb.net 教程 2-13 Windows API 函数》

    api函数定义:

        <DllImport("kernel32", EntryPoint:="WritePrivateProfileStringA", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)>
        Private Shared Function WritePrivateProfileString(
            ByVal lpApplicationName As String,
            ByVal lpKeyName As String,
            ByVal lpString As String,
            ByVal lpFileName As String) As Integer
        End Function

    参数说明:
    lpApplicationName :ini文件节名称
    lpKeyName:ini文件,lpApplicationName节下的键名称
    lpString:要写入的键值
    lpFileName:ini文件全路径,如果不是全路径,那么程序将使用Windows系统的路径。

    返回值:
    如果写入错误返回0,否则返回非0。

     

    当保存按钮按下时,调用 WritePrivateProfileString 将键值数据写入ini文件,当然如果调用api发生错误的话,使用 Err.LastDllError 来获得错误代码。

        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Dim sectionName As String
            sectionName = "control"
            Dim keyName As String
            keyName = "appname"
            Dim keyValue As String
            keyValue = TextBox1.Text
            Dim Rvalue As Integer
            Rvalue = WritePrivateProfileString(sectionName, keyName, keyValue, filename)
            If Rvalue = 0 Then
                MessageBox.Show("发生错误 " & Err.LastDllError)
            End If
            keyName = "port"
            keyValue = ComboBox1.Text
            Rvalue = WritePrivateProfileString(sectionName, keyName, keyValue, filename)
            If Rvalue = 0 Then
                MessageBox.Show("发生错误 " & Err.LastDllError)
            End If
        End Sub

    运行时如下图:


    为了简化起见,没有使用除错。

    同时实际之前教程中关于文本文件的读写同样可以用于读取ini文件的数据,只不过提取键值比较麻烦。

     

    由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

    学习更多vb.net知识,请参看vb.net 教程 目录

    展开全文
  • 来源:http://blog.csdn.net/wjb9921/article/details/2005000在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: ...
    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 简单记录ini文件

    2015-07-10 19:27:00
    VB 将信息记录在INI文件,进行读取与写入。代码简单易懂,而且有现成示例程序。方便别人打开程序后要配置设置等,能在本地存储读取。
  • 前言:公司软件最近在做多语言版本,而又来一个西班牙文版本的,之前已经做过中文版本,英文版本和法文版本,之前是同事做的,现在安排我做,之前的做法,使用wps表格,翻译好,然后一个一个复制粘贴到ini文件里面,...

    前言:
    公司软件最近在做多语言版本,而又来一个西班牙文版本的,之前已经做过中文版本,英文版本和法文版本,之前是同事做的,现在安排我做,之前的做法,使用wps表格,翻译好,然后一个一个复制粘贴到ini文件里面,然后在软件里面读取。这种做法,后期维护起来挺麻烦的,所以自己研究了表格宏。之前也没接触过VB,所以只能自己网上学习

     

    首先先下载VBA模块,下载链接 VBA 7.0

     

    首先学习下VB语言的基本语法
    定义变量
    Dim i As Integer
    Dim str As String
    输出语句
    Debug.Print "导出成功"
    弹框
    MsgBox "弹框"
    打开视图--立即窗口查看输出

     

    循环语句
    for循环

    For i = 0 To 5
    Debug.Print i
    Next i
    while循环

    Dim i As Integer
    i = 0

    While i < 5
    Debug.Print i
    i = i + 1
    Wend
    条件语句
    if

    If 1 = 1 Then

    End If
    if else 

    If 1 = 1 Then

    Else

    End If
    if   else if    else

    If 1 = 1 Then

    ElseIf 2 = 2 Then

    Else

    End If
    字符串连接
    str = strA & strB
    不等于使用<>
     

     

    新建xlsm格式的表格,只有xlsm格式的文件才能保存宏


    开发工具--宏,新建宏


     

    编写代码
    首先需要读写ini文件的接口

    Private Declare Function GetPrivateProfileString Lib "Kernel32" _
    Alias "GetPrivateProfileStringA" _
    (ByVal lpApplicationName As String, _
    ByVal Key As Any, _
    ByVal Value As String, _
    ByVal ReturnedString As String, _
    ByVal Size As Long, _
    ByVal FilePath As String) As Long
    Private Declare Function WritePrivateProfileString Lib "Kernel32" _
    Alias "WritePrivateProfileStringA" _
    (ByVal Section As String, _
    ByVal Key As Any, _
    ByVal Value As Any, _
    ByVal FilePath As String) As Long
    进一步封装接口

    Public Function ReadFromIni(ByVal Section As String, ByVal Key As String, ByVal Value As String, ByVal FilePath As String) As String
    Dim str As String
    str = Space(256)
    Dim ln As Long
    ln = GetPrivateProfileString(Section, Key, Value, str, 255, FilePath)
    If ln > 0 Then
    str = Trim(str)
    ReadFromIni = Mid(str, 1, Len(str) - 1)
    Else
    ReadFromIni = Value
    End If
    End Function
    Public Function WriteToIni(ByVal Section As String, ByVal Key As String, ByVal Value As String, ByVal FilePath As String) As String
    Dim l As Long
    l = WritePrivateProfileString(Section, Key, Value, FilePath)
    End Function
    读取表格数据写入ini文件

    Sub ExcelToIni()
    'ini文件的路径
    Dim strIniFile As String
    strIniFile = "C:\Users\VULCAN\Desktop\Lang.ini"

    'xls表格文件
    Dim ExApp As New Excel.Application
    '工作簿
    Dim Exb As Excel.Workbook
    '工作表
    Dim Exsh As Excel.Worksheet

    ExApp.Workbooks.Open "C:\Users\VULCAN\Desktop\Lang.xlsm"
    Set Exb = ExApp.Workbooks(1)
    Set Exsh = Exb.Worksheets("Sheet1")

    '数据总数
    Dim count As Integer
    count = Exsh.UsedRange.Rows.count
    Debug.Print count

    'Value 5表示中文 6表示英文 7表示法文 8表示西班牙文
    Dim langCol As Integer
    langCol = 7

    Dim i As Integer
    i = 4
    While i < count
    If Exsh.Cells(i, 4).Value <> "" Then
    a = WriteToIni(Exsh.Cells(i, 3).Value, Exsh.Cells(i, 4).Value, Exsh.Cells(i, langCol).Value, strIniFile)
    End If
    i = i + 1
    Wend


    Debug.Print "导出成功"

    End Sub
    上面三部分代码就是全部代码

     

    下面为测试数据

     

    中文版本

     

    英文版本

     

    法文版本


    --------------------- 

    转载于:https://www.cnblogs.com/ly570/p/10942357.html

    展开全文
  • WritePrivateProfileString函数说明 在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中....
  • 使用VB。NET创建ini文件写入

    千次阅读 2008-07-15 10:14:00
    一个创建ini文件写入Hello World!的过程需要导入imports system.io Sub writedata() If Not File.Exists("d:/myfile.ini") Then Dim mystream As FileStream mystream = New System.IO.FileStre
  • VB.NET 读取INI,TXT文件 写入数据

    千次阅读 2014-10-09 01:04:22
    Dim fileContents As String  fileContents = My.Computer.FileSystem.ReadAllText("E:\flashgame\game\logon.ini") '读取  Me.TextBox3.Text = fileContents,指定到文本域
  • (密码:liehuo.net)VB 生成指定路径INI文件,并读取INI内容信息的一个例子,可按要求将内容写入INI文件中,并读取这些内容。友情提示:测试文件test.ini放在C盘下,参数一: Section Name。 参数二: 于.ini中的...
  • VB读写ini.doc

    2012-02-27 13:52:59
    vb中读取配置文件ini文件中的数据,或者写入数据
  • VB6.0基于API的INI文件操作类库,示例程序包括了对该类库的测试单元,可进入写入和读取测试,读写测试循环500次,最终结果为准,看上去要比Windows自带的API效率和速度更高,程序窗口上部主要是对INI文件的读写操作...
  • '这就是说,你可以赋值给iniFileName就可以写入记录,而且你可以随时写入不同的ini文件(不管这个文件是否已存在),通过修改这个公用变量。 '然后 DelInikey(ByVal SectionName As String, ByVal KeyWord As ...
  • vb ini非系统读写函数

    2013-07-14 06:43:58
    这个是一个配置文件读写的两个函数,目标文件格式与ini相类似,支持注释(只要不含"=""[""]"三个敏感字符就行)。读取时文件将以匹配Section(第几个要取决于有重复Section时,那个Section中第一个出现了目标Key)和...
  • ini配置文件操作代码

    2009-04-01 16:37:50
    Temp% = WritePrivateProfileString(SectionName, KeyWord, DefString, iniFileName) '将缺省值写入INI文件 s = DefString End If GetIniS = s End Function '写入字符串值,返回值如果是0表示操作失败 Public ...
  • VB2008】读写文件

    2012-03-15 17:30:55
    VB2008读写文件很方便 下面是保存文件 My.Computer.FileSystem.WriteAllText("Test.INI", Str, False) '保存文件 第一个参数是文件名称(如果不包含路径就是在程序所在的文件夹里面)可以指定路径 第二个参数是...
  • XP样式读写INI.rar

    2013-10-13 10:18:37
    VB中简单使用XP样式,无需加载文件 VB中简单创建文本文件,无需加载文件。 VB中简单的读写注册表。 VB中简单读取INI和写入INI文件,无需加载文件 只要一句代码就行了,其实很简单。
  • 1. vb.net 读取/写入文件参考地址: ...主要是需要借助System.IO 的 streamReader 和 streamWriter 方法, 实现文件的读取和写入文件写入 StandardExpoSettingPath = "D:\\LinLan\\standard_expo_setting.ini" Di
  • URLDownloadToFile函数下载远程文件,可以实现断点续传,通过progressbar也可以实现进度条显示,下载百分比,下载速度的显示,另外也包含读取,写入ini文件的源码..通过setup factory7的文件打包,实现了通过网络更新本地...
  • 通常情况下,INI文件的文件名和应用程序的名称相同,所以如果没有指明,VB的程序会在Windows子目录中去找和应用程序同名的INI文件。可以使用VB中的SetDataAccessOptions语句来设置INI文件。 SetDataAccessOptions...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

vb写入ini文件