Working with INI files in .NET
From HashVB
Revision as of 21:16, 14 November 2005 by 213.224.111.244 (Talk)
This article is based on Visual Basic.NET. Find other Visual Basic.NET articles. |
Even thou they are a very old technology, an *.ini file still has it uses... Here's how you can use them in VB.NET.
Imports System.IO.Path Imports System.Reflection.Assembly Imports System.Text Module ModIniFile #Region "Declares" Private Declare Ansi Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As StringBuilder, ByVal nSize As Integer, ByVal lpFileName As String) As Integer #End Region #Region "Methods" Public Function PutIniFileString(ByVal Section As String, ByVal Key As String, ByVal Value As String, Optional ByVal IniFile As String = "") Dim Ini As String Try If Len(IniFile) = 0 Then Ini = GetExecutingAssembly.Location() Ini = Left(Ini, Len(Ini) - Len(GetExtension(Ini))) & ".ini" Else Ini = IniFile End If Return (WritePrivateProfileString(Section, Key, Value, Ini) <> 0) Catch ex As Exception ' Handle the error... End Try End Function Public Function GetIniFileString(ByVal Section As String, ByVal Key As String, Optional ByVal DefaultValue As String = "", Optional ByVal IniFile As String = "") As String Dim Ini As String Dim cValue As New StringBuilder(4096) Dim nSize As Integer Try If Len(IniFile) = 0 Then Ini = GetExecutingAssembly.Location() Ini = Left(Ini, Len(Ini) - Len(GetExtension(Ini))) & ".ini" Else Ini = IniFile End If nSize = GetPrivateProfileString(Section, Key, DefaultValue, cValue, 4096, Ini) Return cValue.ToString() Catch ex As Exception ' Handle the error... End Try End Function #End Region End Module