Hola migsantiago!
Te comento que la WINAPI ya posee librerias para el manejo de archivos .ini en formato standart.
Te paso el modulo. Agregalo a tu proyecto y te explico las funciones:
Escribir_INI(Filename As String, Key_Value As String, Key_Name As String, Value As String) As Long
Filename: Ruta del archivo .ini
Key_Value: Nombre de la categoria
Key_Name: Nombre de la variable
Value: Valor
Devuelve: un long para comprobar que se escribio correctamente.
Ejemplo:
El siguiente código:
Dim Ruta As String, CorreoElectronico As String, ServidorSMTP As String, EnviarEmail As Boolean, Voltajes As Single, NumBat As Integer
Ruta = "C:\Config.ini"
CorreoElectronico = "info@todopic.com.ar"
ServidorSMTP = "smtp.mail.todopic.com.ar"
EnviarEmail = True
Voltajes = 10.12
NumBat = 5
Escribir_INI Ruta, "Mensaje", "Correo electrónico", CorreoElectronico
Escribir_INI Ruta, "Mensaje", "Servidor SMTP", ServidorSMTP
Escribir_INI Ruta, "Mensaje", "Enviar email", CStr(Abs(CInt(EnviarEmail))) 'ojo con los booleanos que sino se guardan mal
Escribir_INI Ruta, "Energia", "Voltajes", CStr(Voltajes)
Escribir_INI Ruta, "Baterias", "Cantidad", CStr(NumBat)
genera un archivo(si no existia) C:\Config.ini cuyo contenido es:
[Mensaje]
Correo electrónico=info@todopic.com.ar
Servidor SMTP=smtp.mail.todopic.com.ar
Enviar email=1
[Energia]
Voltajes=10,12
[Baterias]
Cantidad=5
Para leer ahora la configuracion escrita:
Leer_INI(Filename As String, Key_Value As String, Key_Name As String, Optional ByVal Default As String) As String
Filename: Ruta del archivo .ini
Key_Value: Nombre de la categoria
Key_Name: Nombre de la variable
Default: Si algo falla en la lectura(sea porque el archivo no existe o alguno de sus campos) devolver este valor.
devuelve: cadena(siempre STRING) leida.
Ejemplo:
El siguiente código:
CorreoElectronico = Leer_INI(Ruta, "Mensaje", "Correo electrónico", "Error")
ServidorSMTP = Leer_INI(Ruta, "Mensaje", "Servidor SMTP", "Error")
EnviarEmail = CBool(Leer_INI(Ruta, "Mensaje", "Enviar email", "0"))
Voltajes = CSng(Leer_INI(Ruta, "Energia", "Voltajes", "-1"))
NumBat = CInt(Leer_INI(Ruta, "Baterias", "Cantidad", "0"))
MsgBox CorreoElectronico
MsgBox ServidorSMTP
MsgBox EnviarEmail
MsgBox Voltajes
MsgBox NumBat
Lee los valores y los va mostrando para corroborar que los lee y convierte bien.
Espero que te sirva. Es lo mas sencillo que hay....
Saludos!