Visual Basic - ini

Life is soft - evento anual de software empresarial
 
Vista:

ini

Publicado por rafa (120 intervenciones) el 19/05/2005 22:17:55
Estoy haciendo un programa pero estoy intentando que el programa lea un archivo ini pero no lo he conseguido y he encontrado codigo fuentes pero que me salen fallos,gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ini

Publicado por Christian (675 intervenciones) el 19/05/2005 22:28:33
Aca con esta funcion se puede leer:

Function ReadINI(ByVal fn As String, ByVal sect As String, ByVal key As String, ByVal def As String) As String
Dim ret As String, retval As Integer

ret = String$(255, 0)
retval = GetPrivateProfileString(sect, key, def, ret, Len(ret), fn)
If retval = 0 Then
ret = def
Else
ret = Mid(ret, 1, retval)
If ret = "" Then
ret = def
End If
End If
ReadINI = Trim$(ret)
End Function

Debes tener esta declaracion en un modulo:

Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal SName$, ByVal KName$, ByVal def$, ByVal ret$, ByVal Size%, ByVal fn$) As Long

Se invoca por ejemplo:

'Leyendo el archivo de configuracion
g_NameServer = ReadINI(App.Path & "\Configuracion\VOXIVA.INI", "SERVIDOR", "servidor", "")

Este es el nombre de mi servidor, le doy la ruta del archivo INI, seguido por el segmento que debe leer del archivo INI.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ini

Publicado por rafa (120 intervenciones) el 19/05/2005 22:58:06
en el form_load he puesto:
Form1.BackColor = ReadINI(App.Path & "\joint01.INI", "config", "backcol", RGB(255, 255, 255))
y en el modulo:
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal SName$, ByVal KName$, ByVal def$, ByVal ret$, ByVal Size%, ByVal fn$) As Long


Function ReadINI(ByVal fn As String, ByVal sect As String, ByVal key As String, ByVal def As String) As String
Dim ret As String, retval As Integer

ret = String$(255, 0)
retval = GetPrivateProfileString(sect, key, def, ret, Len(ret), fn)
If retval = 0 Then
ret = def
Else
ret = Mid(ret, 1, retval)
If ret = "" Then
ret = def
End If
End If
ReadINI = Trim$(ret)
End Function

pero no me funciona me pone que no coinceden los tipos y esto es lo que puesto en el archivo ini.

[config]
backcol = 255,0,255
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ini

Publicado por Christian (675 intervenciones) el 19/05/2005 23:15:53
reemplaza esa linea por esta:

Form1.BackColor = ReadINI(App.Path & "\joint01.INI", "config", "backcol", "")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ini

Publicado por rafa (120 intervenciones) el 19/05/2005 23:18:24
igualmente me da el error de que no coinciden los tipos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ini

Publicado por Christian (675 intervenciones) el 19/05/2005 23:26:01
hazlo asi:

DIM color as Long

color = ReadINI(App.Path & "\joint01.INI", "config", "backcol","")

Form1.BackColor = color
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ini

Publicado por rafa (120 intervenciones) el 19/05/2005 23:31:36
sigue sin ir , me dice que no coinciden los tipos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ini

Publicado por Christian (675 intervenciones) el 19/05/2005 23:39:47
dentro de tu archivo INI
reemplaza ese RGB(255,255,255) por el valor entero del color negro creo que es, si no me equivoco.

Asi: &H00000000&

[config]
backcol = &H00000000&
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ini

Publicado por rafa (120 intervenciones) el 19/05/2005 23:50:04
ja esta, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar