vb中ini文件怎么写

解决方案 »

  1.   

    使用APIDeclare Function WritePrivateProfileString _
    Lib "kernel32" Alias "WritePrivateProfileStringA" _
    (ByVal lpApplicationname As String, ByVal _
    lpKeyName As Any, ByVal lsString As Any, _
    ByVal lplFilename As String) As LongDeclare Function GetPrivateProfileString Lib _
    "kernel32" Alias "GetPrivateProfileStringA" _
    (ByVal lpApplicationname As String, ByVal _
    lpKeyName As String, ByVal lpDefault As _
    String, ByVal lpReturnedString As String, _
    ByVal nSize As Long, ByVal lpFileName As _
    String) As Long
      

  2.   

    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 LongPrivate Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As LongPrivate 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 LongPrivate Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPrivate Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPrivate Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As LongFunction ReadIni(AppName As String, KeyName As String, FileName As String) '读取INI文件
    Dim Ret As String
    Dim NC As Integer
    Ret = String(1024, 0)
    NC = GetPrivateProfileString(AppName, KeyName, "", Ret, 1024, FileName)
    If NC <> 0 Then Ret = Left$(Ret, NC)
    ReadIni = Ret
    End FunctionFunction WriteIni(AppName As String, KeyName As String, lpString As String, FileName As String) '写INI文件
    WritePrivateProfileString AppName, KeyName, lpString, FileName
    End FunctionFunction ReadSystemIni(AppName As String, KeyName As String) '读取System.ini文件
    Dim Ret As String
    Dim NC As Integer
    Ret = String(1024, 0)
    NC = GetProfileString(AppName, KeyName, "", Ret, 1024)
    If NC <> 0 Then Ret = Left$(Ret, NC)
    ReadSystemIni = Ret
    End FunctionFunction WriteSystemIni(AppName As String, KeyName As String, lpString As String) '写入System.ini文件
    WriteProfileString AppName, KeyName, lpString
    End FunctionFunction SystemPath() As String '取得System目录
    Dim SystemDirectory As String
    Dim x As Long
    SystemDirectory = String(1024, 0)
    x = GetSystemDirectory(SystemDirectory, 255)
    SystemPath = Left$(SystemDirectory, x)
    End FunctionFunction WindowsPath() As String '取得Windows的路径
    Dim WindowsDirectory As String
    Dim x As Long
    WindowsDirectory = String(1024, 0)
    x = GetWindowsDirectory(WindowsDirectory, 255)
    WindowsPath = Left$(WindowsDirectory, x)
    End Function
      

  3.   

    读写INI文件的类:
    Option Explicit
    Private 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
    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 LongPrivate IniFileName As String
    Public ErrorMsg As String
     
    Private Sub Class_Initialize()
        IniFileName = vbNullString
        ErrorMsg = vbNullString
    End Sub
     
    Public Sub SpecifyIni(FilePathName)
        IniFileName = Trim(FilePathName)
    End Sub
     
    Private Function NoIniFile() As Boolean
        NoIniFile = True
        If IniFileName = vbNullString Then
            ErrorMsg = "没有指定文件"
            Exit Function
        End If
        ErrorMsg = vbNullString
        NoIniFile = False
    End Function
     
    Public Function WriteString(Section As String, key As String, Value As String) As Boolean
        WriteString = False
        If NoIniFile() Then
            Exit Function
        End If
        If WritePrivateProfileString(Section, key, Value, IniFileName) = 0 Then
            ErrorMsg = "写入失败"
            Exit Function
        End If
        WriteString = True
    End Function Public Function ReadString(Section As String, key As String, Size As Long) As String
        Dim ReturnStr As String
        Dim ReturnLng As Long
        ReadString = vbNullString
        If NoIniFile() Then
            Exit Function
        End If
        ReturnStr = Space(Size)
        ReturnLng = GetPrivateProfileString(Section, key, vbNullString, ReturnStr, Size, IniFileName)
        ReadString = Left(ReturnStr, ReturnLng)
    End Function
     
     Public Function ReadInt(Section As String, key As String) As Long
        Dim ReturnLng As Long
        ReadInt = 0
        ReturnLng = GetPrivateProfileInt(Section, key, 0, IniFileName)
        If ReturnLng = 0 Then
            ReturnLng = GetPrivateProfileInt(Section, key, 1, IniFileName)
            If ReturnLng = 1 Then
                ErrorMsg = "不能读取"
                Exit Function
            End If
        End If
        ReadInt = ReturnLng
    End Function
      

  4.   

    '一个模块,放在模块中便可,我一直在用!
    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
    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 LongPublic Function ReadIniData(ByVal FileName As String, ByVal Entry As String, ByVal Field As String) As String
    Dim TempString As String
    ReadIniData = ""
    Dim EntryValue As String
    Dim EntrySize As Long, rc As Long
    EntryValue = Space$(1000)
    EntrySize = 1000If Field = "NULL" Then
      rc = GetPrivateProfileString(Entry, vbNullString, "error", EntryValue, EntrySize, FileName)
    ElseIf Entry = "NULL" Then
      rc = GetPrivateProfileString(vbNullString, Field, "error", EntryValue, EntrySize, FileName)
    Else
      rc = GetPrivateProfileString(Entry, Field, "error", EntryValue, EntrySize, FileName)
    End If
    ReadIniData = Trim$(EntryValue)
    'ReadIniData = EntryValueEnd FunctionPublic Function WriteIniData(ByVal FileName As String, ByVal Entry As String, ByVal Field As String, ByVal Data As String) As Boolean
    WriteIniData = False
    Dim rc As Long
    rc = WritePrivateProfileString(Entry, Field, Data, FileName)
    If rc <> 0 Then WriteIniData = True
    End Function
      

  5.   

    建立与读取.ini文件 
    '请於form中放3个TextBox,一个CommandBox
    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 LongPrivate Sub Command1_Click()
    Dim success As Long
    success = WritePrivateProfileString("MyApp", "text1", Text1.Text, "c:\aa.ini")
    '叁数一 Section Name
    '叁数二 於.ini中的项目
    '叁数三 项目的内容
    '叁数四 .ini文件的名称
    success = WritePrivateProfileString("MyApp", "text2", Text2.Text, "c:\aa.ini")
    success = WritePrivateProfileString("MyApp2", "text3", Text3.Text, "c:\aa.ini")
    End SubPrivate Sub Form_load()
    Dim ret As Long
    Dim buff As String
    buff = String(255, 0)
    ret = GetPrivateProfileString("Myapp", "text1", "text1", buff, 256, "c:\aa.ini")
    '若.ini MyApp中无text1,则采用叁数三的值
    Text1.Text = buff
    buff = String(255, 0)
    ret = GetPrivateProfileString("Myapp", "text2", "text2", buff, 256, "c:\aa.ini")
    Text2.Text = buff
    buff = String(255, 0)
    ret = GetPrivateProfileString("Myapp2", "text3", "text3", buff, 256, "c:\aa.ini")
    Text3.Text = buff
    End Sub
      
     
      
      

  6.   

    把大学課堂搬回家,大量珍貴資料——主要是编程方面的! 
        所有教程均是各大专院校內部资料,全部由名师主讲,教程全程录制課堂上每一节课,使您不进大学也能接受到高等的教育,为您打下扎实的计算机基础!
        http://www.cnandusa.com/home/xiawei
        http://www.sygr.org/user/xiawei/web