Часто задаваемые вопросы и ответы по программированию на VB
Последнее обновление: 28.03.03
Q: Как читать/писать в INI файл?
A (flangie): Чтение/запись INI-файлов очень легко реализовать с помощью следующих функции, находящихся в
Модуле(Module):
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
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
Function WriteINI(sSection As String, sKeyName As String, sNewString As String, sINIFileName As String) As Boolean
On Local Error Resume Next
Call WritePrivateProfileString(sSection, sKeyName, sNewString, sINIFileName)
WriteINI = (Err.Number = 0)
End Function
Function ReadINI(sSection As String, sKeyName As String, sINIFileName As String) As String
On Local Error Resume Next
Dim sRet As String
sRet = String(255, Chr(0))
ReadINI = Left(sRet, GetPrivateProfileString(sSection, ByVal sKeyName, "", sRet, Len(sRet), sINIFileName))
End Function
Формат обращения к этим функциям:
a) для чтения
переменная = ReadINI(раздел, имя настройки, имя файла)
----------------
б) для записи:
WriteINI раздел, имя настройки, значение, имя файла
----------------
Пример:
dim StringVar as string
WriteINI "NEW SECTION","option","value","data.ini"
' в файл будет записаны раздел "NEW SECTION"(если его не было до этого), настройка
' "option"(также если его небыло до этого) и значение "value".
' т.е. в файл будет выглядеть следующим образом:
' [NEW SECTION]
' option=value
StringVar=ReadINI("NEW SECTION", "option", "data.ini")
' в переменную "StringVar" будет записано значение настройки "option", находящейся
' в разделе "NEW SECTION".
' т.е. переменная "StringVar" будет равна "value" (StringVar=value)
--------------------------------------------------------------------------------------------------
FAQ составлен по материалам Форума на Исходниках.Ру.
Составитель:
Crew
Copyright © 2002 by Sources.ru. All rights
reserved.