Search Tools Links Login

INI File Class


This class module will allow you to easily work with INI files.

This will let you store settings and preferences for your program that are persistent between runs. You can download the attachment above, or copy and paste the below chunk of code to a new class module in your project.

Option Explicit

'API
Private Declare Function GetPrivateProfileInt Lib "kernel32.dll" 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.dll" 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.dll" Alias "WritePrivateProfileStringA" ( _
   ByVal lpApplicationName As String, _
   ByVal lpKeyName As Any, _
   ByVal lpString As Any, _
   ByVal lpFileName As String _
) As Long

Private sFile As String

Public Sub Create(sFile_ As String)
   
   sFile = sFile
   
End Sub

Public Property Get Data(sSection_ As String, sKey_ As String) As Integer
   
   Data = GetPrivateProfileInt(sSection_, sKey_, -1, sFile)

End Property

Public Property Let Data(sSection_ As String, sKey_ As String, iData As Integer)
   
   Dim sData As String
   sData = iData_
   WritePrivateProfileString sSection_, sKey_, sData, sFile

End Property

Public Property Get Text(sSection_ As String, sKey_ As String) As String
   
   Dim sText As String
   Dim lResult As Long
   sText = String$(255, 0)
   lResult = GetPrivateProfileString(sSection_, sKey_, "", sText, Len(sText), sFile)
   If lResult = 0 Then
      Text = ""
   Else
      Text = Left(sText, InStr(sText, Chr(0)) - 1)
   End If

End Property

Public Property Let Text(sSection_ As String, sKey_ As String, sText As String)
   
   WritePrivateProfileString sSection_, sKey_, sText_, sFile

End Property

About this post

Posted: 2019-09-20
By: AndreaRossignoli
Viewed: 299 times

Categories

Visual Basic 6

Attachments

CINI.cls
Posted: 9/20/2019 10:53:59 AM
Size: 2,270 bytes

Special Instructions

This code originally appeared on AndreaVB.com, and has been republished here with the permission of Andrea Tincani.


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.