[DllImport("kernel32.dll")]
static extern bool WritePrivateProfileSection(string lpAppName,
string lpString, string lpFileName);
[DllImport("KERNEL32.DLL", CharSet=CharSet::Auto, EntryPoint="WritePrivateProfileSection")]
static Boolean WritePrivateProfileSection(String^ lpAppName, String^ lpString, String^ lpFileName);
<DllImport("kernel32.dll")> _
Private Declare Auto Function WritePrivateProfileSection(ByVal lpAppName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As Boolean
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
None.
None.
Please add some!
VB.NET
Dim MYNAME As String = Replace(Replace(Replace(My.Application.Info.CompanyName.ToLower, ",", ""), ".", ""), " ", "_")
Dim ConfigFile As String = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) & "\" & MYNAME & "\" & "database.config"
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 System.Text.StringBuilder, _
ByVal nSize As Integer, ByVal lpFileName As String) _
As Integer
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 GetPrivateProfileInt _
Lib "kernel32.dll" Alias "GetPrivateProfileIntA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As String, ByVal nDefault As Integer, _
ByVal lpFileName As String) As Integer
Private Declare Ansi Function FlushPrivateProfileString _
Lib "kernel32.dll" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As Integer, _
ByVal lpKeyName As Integer, ByVal lpString As Integer, _
ByVal lpFileName As String) As Integer
Public Sub New()
Dim FI As New FileInfo(ConfigFile)
If My.Computer.FileSystem.DirectoryExists(FI.DirectoryName) = False Then
My.Computer.FileSystem.CreateDirectory(FI.DirectoryName)
End If
If My.Computer.FileSystem.FileExists(ConfigFile) = False Then
CreateIniDefaults()
End If
If GetString("SETTINGS", "LAST", "") = "0" Then
CreateIniDefaults()
End If
End Sub
#Region "Reading"
Public Function GetString(ByVal Section As String, ByVal Key As String, ByVal [Default] As String) As String
' Returns a string from your INI file
Dim intCharCount As Integer = 0
Dim objResult As New System.Text.StringBuilder(1024)
intCharCount = GetPrivateProfileString(Section, Key, [Default], objResult, objResult.Capacity, ConfigFile)
If intCharCount > 0 Then
GetString = Left(objResult.ToString, intCharCount)
Else
Return "0"
End If
End Function
Public Function GetInteger(ByVal Section As String, _
ByVal Key As String, ByVal [Default] As Integer) As Integer
' Returns an integer from your INI file
Return GetPrivateProfileInt(Section, Key, _
[Default], ConfigFile)
End Function
#End Region
#Region "Writing"
Public Sub WriteString(ByVal Section As String, _
ByVal Key As String, ByVal Value As String)
' Writes a string to your INI file
WritePrivateProfileString(Section, Key, Value, ConfigFile)
Flush()
End Sub
Public Sub WriteInteger(ByVal Section As String, _
ByVal Key As String, ByVal Value As Integer)
' Writes an integer to your INI file
WriteString(Section, Key, CStr(Value))
Flush()
End Sub
#End Region
#Region "Cleanup"
Private Sub Flush()
' Stores all the cached changes to your INI file
FlushPrivateProfileString(0, 0, 0, ConfigFile)
End Sub
#End Region
#Region "Default Creation"
Private Sub CreateIniDefaults()
Dim FI As New FileInfo(ConfigFile)
Dim s As String = String.Empty
s = s & "[LAST]" & vbCrLf & "LAST=LOCAL" & vbCrLf & vbCrLf
s = s & "[LOCAL]" & vbCrLf
s = s & "DBTYPE=2" & vbCrLf
s = s & "O1=127.0.0.1" & vbCrLf
s = s & "ISADMIN=0" & vbCrLf
s = s & vbCrLf & vbCrLf
s = s & "[SETTINGS]" & vbCrLf
s = s & "COMPANY=MY COMPANY,INC." & vbCrLf
Try
My.Computer.FileSystem.WriteAllText(ConfigFile, s, False)
Catch ex As Exception
MsgBox("Unable to save default database settings." & vbCrLf & ex.InnerException.ToString, MsgBoxStyle.Information)
End Try
End Sub
#End Region
Do you know one? Please contribute it!