Estas son las declaraciones que necesitas para acceder a los ficheros INI:
' Declaración de Funciones API de Windows
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
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
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
La función de Grabar datos:
Sub Grabar_INI(Grabar As String, NombreSeccion As String, NombreCampo As String, DirectorioINI As String)
' Grabar - Contiene el texto que queremos grabar
' NombreSeccion - Los ficheros INI se clasifican en secciones, aquí le indicamos en que sección queremos grabar
' NombreCampo - EL campo donde queremos grabar el dato
' DirectorioINI - Indica el camino completo donde esta situado el fichero INI
Dim Res As Long
Res = WritePrivateProfileString(NombreSeccion, NombreCampo, Grabar, DirectorioINI)
End Sub
Para leer, hay que diferenciar si leemos una cadena o un número:
Function Leer_Cadena_INI(NombreSeccion As String, NombreCampo As String, DirectorioINI As String, _
Defecto As String) As String
' NombreSeccion - Los ficheros INI se clasifican en secciones, aquí le indicamos en que sección queremos grabar
' NombreCampo - EL campo donde queremos grabar el dato
' DirectorioINI - Indica el camino completo donde esta situado el fichero INI
' Defecto - Contiene el valor que devolvera la función en caso de que no exista
' ninguna valor para el campo que queremos leer
Dim Auxiliar As String * 400, Res As Long
Res = GetPrivateProfileString(NombreSeccion, NombreCampo, Defecto, Auxiliar, Len(Auxiliar), DirectorioINI)
Leer_Cadena_INI = Left$(Auxiliar, Res)
End Function
Function Leer_Numero_INI(NombreSeccion As String, NombreCampo As String, DirectorioINI As String, _
Defecto As Integer) As Long
' NombreSeccion - Los ficheros INI se clasifican en secciones, aquí le indicamos en que sección queremos grabar
' NombreCampo - EL campo donde queremos grabar el dato
' DirectorioINI - Indica el camino completo donde esta situado el fichero INI
' Defecto - Contiene el valor que devolvera la función en caso de que no exista ninguna
' valor para el campo que queremos leer
Leer_Numero_INI = GetPrivateProfileInt(NombreSeccion, NombreCampo, Defecto, DirectorioINI)
End Function
Posted
lun, sep 20 1999 9:15
by
Maverick