Crear y leer archivo .ini

Iniciado por soru13, 14 Julio 2006, 14:07 PM

0 Miembros y 1 Visitante están viendo este tema.

soru13

bueno, cogi este codigo de esta web, pero hay cosas que me dan error

Leer y escribir un fichero Ini:


Declaraciones generales en un módulo:

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
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

Leer en "Ejemplo.Ini":

Private Sub Form_Load()
    Dim I As Integer
    Dim Est As String
    Est = String$(50, " ")
    I = GetPrivateProfileString("Ejemplo", "Nombre", "", Est, Len(Est), "Ejemplo.ini")
    If I > 0 Then
        MsgBox "Tu Nombre es: " & Est
    End If
End Sub

Escribir en "Prueba.Ini":

Private Sub Form_Unload(Cancel As Integer)
    Dim I As Integer
    Dim Est As String
    Est = "Ejemplo - Apartado"
    I = WritePrivateProfileString("Ejemplo", "Nombre", Est, "Ejemplo.ini")
End Sub


las declaraciones del modulo me da todas por malas

y luego

    I = GetPrivateProfileString("Ejemplo", "Nombre", "", Est, Len(Est), "Ejemplo.ini")

esto tambien me da error

LaN

Funciona perfectamente lo q pasa es q has escrito mal las declaraciones. Escribelas asi:

modDeclaraciones.bas

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
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


frmPrincipal

Private Sub Form_Load()
    Dim I As Integer
    Dim Est As String
    Est = String$(50, " ")
    I = GetPrivateProfileString("Ejemplo", "Nombre", "", Est, Len(Est), "Ejemplo.ini")
    If I > 0 Then
        MsgBox "Tu Nombre es: " & Est
    End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Dim I As Integer
    Dim Est As String
    Est = "Ejemplo - Apartado"
    I = WritePrivateProfileString("Ejemplo", "Nombre", Est, "Ejemplo.ini")
End Sub