Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

VB Config.ini no encuentra los valores... por favor

Estas en el tema de VB Config.ini no encuentra los valores... por favor en el foro de Visual Basic clásico en Foros del Web. Señores: Gracias por su colaboracion. Estoy leyendo un archivo config.ini, pero me retorna valores en vacio ("")..... Por favor... que estoy escribiendo mal o que ...
  #1 (permalink)  
Antiguo 24/03/2009, 22:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 23
Antigüedad: 15 años, 1 mes
Puntos: 0
VB Config.ini no encuentra los valores... por favor

Señores:

Gracias por su colaboracion.

Estoy leyendo un archivo config.ini, pero me retorna valores en vacio ("").....
Por favor... que estoy escribiendo mal o que me falta..... Gracias

/********* Aplicacion VB ***********/
Option Explicit

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Private Declare Function FileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long

Public Function INI_Read(ByVal Filename As String, ByVal Key_Value As String, ByVal Key_Name As String, Optional ByVal Default As String) As String
On Error GoTo ErrOut
Dim Size As Integer
Dim Value As String

If Not CBool(FileExists(Filename)) Then Err.Raise 53
Value = Space(256)
'Se utiliza la función para obtener el valor de la clave:
Size = GetPrivateProfileString(Key_Value, Key_Name, Default, Value, Len(Value), Filename)
'Si el tamaño es mayor a 0 entonces
'se ha encontrado el valor de la clave:
If Size > 0 Then
Value = VBA.Left$(Value, Size)
'Devolvemos el valor de la clave:
If VBA.Right$(VBA.Trim$(Value), 1) = Chr(0) Then Value = VBA.Left$(VBA.Trim$(Value), Len(VBA.Trim$(Value)) - 1)
INI_Read = VBA.Trim$(Value)
Exit Function
End If
ErrOut:
INI_Read = Default
End Function

Public Sub INI_Write(ByVal Filename As String, ByVal Key_Value As String, ByVal Key_Name As String, ByVal Value As String)
On Error GoTo ErrOut
Dim Size As Integer
Size = WritePrivateProfileString(Key_Value, Key_Name, Value, Filename)
ErrOut:
End Sub

Private Sub Form_Load()
Servidor = INI_Read("Config.ini", "Conexion", "Servidor")
BaseDatos = INI_Read("Config.ini", "Conexion", "BaseDatos")
Login = INI_Read("Config.ini", "Conexion", "Login")
Password = INI_Read("Config.ini", "Conexion", "Password")

ConxStr = "Driver={SQL Server};Server=" & Servidor & ";Database=" & BaseDatos & ";Uid=" & Login & ";Pwd=" & Password & ";"
Conexion.Open ConxStr

SQLStr = "Select * from PPTO_Ejecucion order by Id_Ejecucion"
Call Abre_Tablas(SQLStr, 1)
Do While Not Registros.EOF
Cmb_Ejecucion.AddItem Registros.Fields!Descripcion
Registros.MoveNext
Loop
End Sub

/********* Config.ini ***********/
[Conexion]
Servidor=Server
Basedatos=SqldataBase
Login=AdminUser
Password=magia
  #2 (permalink)  
Antiguo 25/03/2009, 04:48
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: VB Config.ini no encuentra los valores... por favor

Hola, yo creo que el error está en que no le pasas a la función la ruta del archivo.

Suponemos que el archivo .ini está en el mismo directorio que la aplicación:


Código vb:
Ver original
  1. Dim FileIni As String
  2. FileIni = App.Path & "\Config.ini"
  3.  
  4. Servidor = INI_Read(FileIni, "Conexion", "Servidor")
  5. BaseDatos = INI_Read(FileIni, "Conexion", "BaseDatos")
  6. Login = INI_Read(FileIni, "Conexion", "Login")
  7. Password = INI_Read(FileIni, "Conexion", "Password")

  #3 (permalink)  
Antiguo 25/03/2009, 10:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 23
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: VB Config.ini no encuentra los valores... por favor

A veces las cosas mas evidentes, no se toman en cuenta, Gracias....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:12.