hola el otro dia buscando codigos para trabajar con archivos .ini que me pudieran ayudar y servir de guia encontre este, pero hay una cosa que no entendi:
Option Explicit
Const APPLICATION As String = "MiPrograma"
Dim m_Left As Single
Dim m_Top As Single
Dim m_Width As Single
Dim m_Height As Single
Dim Path_Archivo_Ini As String
'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
Private Function Leer_Ini(Path_INI As String, Key As String, Default As Variant) As String
Dim bufer As String * 256
Dim Len_Value As Long
Len_Value = GetPrivateProfileString(APPLICATION, _
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
Private Function Grabar_Ini(Path_INI As String, Key As String, Valor As Variant) As String
WritePrivateProfileString APPLICATION, _
Key, _
Valor, _
Path_INI
End Function
Private Sub Form_Load()
'Path del fichero Ini
Path_Archivo_Ini = App.Path & "\config.ini"
' Lee las Key y Les envia el valor por defecto por si no existe
m_Left = Leer_Ini(Path_Archivo_Ini, "Left", 0)
m_Top = Leer_Ini(Path_Archivo_Ini, "Top", 0)
m_Width = Leer_Ini(Path_Archivo_Ini, "Width", 5000)
m_Height = Leer_Ini(Path_Archivo_Ini, "Height", 5000)
'Posiciona el formulario con los valores del archivo Ini
Move m_Left, m_Top, m_Width, m_Height
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Escribe en el archivo Ini
'Posición del Form
Call Grabar_Ini(Path_Archivo_Ini, "Left", Me.Left)
Call Grabar_Ini(Path_Archivo_Ini, "Top", Me.Top)
'Tamaño del formulario
Call Grabar_Ini(Path_Archivo_Ini, "Width", Me.Width)
Call Grabar_Ini(Path_Archivo_Ini, "Height", Me.Height)
End Sub
porque en el evento load del form no se llama a la funcion Leer_Ini, mientras que en el evento Unload del form si se lo hace?
gracias