buenas a todos los foreros
Les traigo una clase dedicada a leer y guardar en archivos .ini
bueno aki el code de la clase:
Option Explicit
'Función api que recupera un valor-dato de un archivo Ini
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
'Función api que Escribe un valor - dato en un archivo Ini
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As Long
'Lee un dato _
-----------------------------
'Recibe la ruta del archivo, la clave a leer y _
el valor por defecto en caso de que la Key no exista
Public Function Leer_Ini(Path_INI As String,Section as String, Key As String, Default As Variant) As String
Dim bufer As String * 256
Dim Len_Value As Long
Len_Value = GetPrivateProfileString(Section, Key, Default, bufer, Len(bufer), Path_INI)
Leer_Ini = Left$(bufer, Len_Value)
End Function
'Escribe un dato en el INI _
-----------------------------
'Recibe la ruta del archivo, La clave a escribir y el valor a añadir en dicha clave
Public Function Grabar_Ini(Path_INI As String,Section as string, Key As String, Valor As Variant) As String
WritePrivateProfileString Secition, Key, Valor, Path_INI
End Function
Para el formato del archivo ini se debe manejar asi:
[sección]
CLAVE1=VALOR
CLAVE2=VALOR
........
y para llamar a la funcion para leer el ini es:
ClaseIni.Leer_Ini("Dir del archivo ini","Sistema","CLAVE a leer","un Valor Default sino existe tal valor en el ini o 0")
para guardar:
Claseini.Grabar_Ini("Dir del archivo ini","Config","Clave donde guardar el valor","Valor a guardar")
Nota: Los nombres mostrados anteriormente antes de llarmar a la funcion es el nombre de la clase
para una mejor compresion de esto miremos un ejemplo:
Vamoss a llamara a la clase por un valor del ini dada una configuracion:
variable=ClaseIni.leer_Ini("C:\windows","Config",1001,0)
variable=ClaseIni.leer_Ini("C:\windows","Window","NOOPEN","Holas")
Y para guardar:
ClaseIni.Grabar_Ini("C:\windows","Config",1001,1)
ClaseIni.Grabar_Ini("C:\windows","Window","NOOPEN","YES")