CrAzY hOuSe
Locos por la programación
Leer y grabar datos en archivos INI
.net

Syndication

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
Filed under: ,

Add a Comment

(optional)  
(optional)
(required)  
Remember Me?
MavericK
Powered by Community Server (Non-Commercial Edition), by Telligent Systems