Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: zxs23 en Febrero 27, 2010, 12:11:53 am
-
Primero estoy comprobando si el archivo existe pero luego me da error si la seccion info no existe.
If Len(Trim$(Dir$(App.path & "\config.ini"))) Then
hh = LeeINI(xRuta, "info", "nombre")
Como compruebo si una seccion de un archivo existe?, dejo la funcion que utilizo para leer.
Public Function LeeINI(Archivo As String, Seccion As String, Clave As String)
Dim iRetLen As Integer
Dim sRet As String
sRet = Space(255)
iRetLen = GetPrivateProfileString(Seccion, Clave, "", sRet, Len(sRet), Archivo)
sRet = Left(sRet, iRetLen)
LeeINI = sRet
End Function
-
Primero estoy comprobando si el archivo existe pero luego me da error si la seccion info no existe.
If Len(Trim$(Dir$(App.path & "\config.ini"))) Then
hh = LeeINI(xRuta, "info", "nombre")
Como compruebo si una seccion de un archivo existe?, dejo la funcion que utilizo para leer.
Public Function LeeINI(Archivo As String, Seccion As String, Clave As String)
Dim iRetLen As Integer
Dim sRet As String
sRet = Space(255)
iRetLen = GetPrivateProfileString(Seccion, Clave, "", sRet, Len(sRet), Archivo)
sRet = Left(sRet, iRetLen)
LeeINI = sRet
End Function
podes hacer 2 cosas, comprobar si existe la seccion:
Private Declare Function GetPrivateProfileSectionNames Lib "kernel32.dll" Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Sub Form_Load()
Dim szBuf As String, Length As Integer
Dim SectionArr() As String, m As Integer
szBuf = String$(255, 0)
Length = GetPrivateProfileSectionNames(szBuf, 255, vbNullChar)
szBuf = Left$(szBuf, Length)
SectionArr = Split(szBuf, vbNullChar)
For m = 0 To UBound(SectionArr)
Debug.Print "seccion: "; SectionArr(m)
Next m
End Sub
o sino ver el valor de iRetLen.
saludos
-
Manipular ficheros INIs
usando el API (http://www.elguille.info/vb/utilidades/inis.htm)
ahi tenes todas las api's para usar con los .ini
-
Gracias por responder con eso es suficiente.
saludos