Leer el contenido de un archivo .ini
thierry jupiter
-
wida Mensajes publicados 170 Estado Miembro -
wida Mensajes publicados 170 Estado Miembro -
Hola,
me gustaría leer con VB el contenido de un archivo .ini
leer línea por bloque
leer la línea palabra por palabra
¿tendrías un código que me puedas proponer
¡gracias!
me gustaría leer con VB el contenido de un archivo .ini
leer línea por bloque
leer la línea palabra por palabra
¿tendrías un código que me puedas proponer
¡gracias!
5 respuestas
-
leer un archivo ini:
dim lgn as string
dim Vect
open "fichier.ini" for input as #1 'Apertura del archivo en lectura
line input #1,lgn 'lgn contiene toda una línea hasta el carácter vbcrlf
...
'si quieres dividir palabra por palabra haces
vect=split(replace(lgn,"="," "), " ")
...
reset 'Cierra todos los archivos abiertos
lgn te da una línea clave=valor
vect te dará una matriz que contiene todas las palabras de la línea. -
Declare Private 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 Private Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Function LireINI(Entete As String, Variable As String) As String
Dim Retour As String
Fichier = Path & "\" & FileName & ".ini"
Retour = String(255, Chr(0))
LireINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), Fichier))
End Function
Function EcrireINI(Entete As String, Variable As String, Valeur As String) As String
Fichier = Path & "\" & FileName & ".ini"
EcrireINI = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
End Function
' Pour l'executer ex :
EcrireINI("MonEntete", "MaVariable", "MaValeur")
LireINI("MonEntete", "MaVariable") -
Jamil BETTAIEB :
Hola,
lo apliqué a un workbook de Excel y funciona muy bien
a continuación el código modificado :
-----------------------------------------------------------
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
Public Function LireINI(Entete As String, Variable As String, Path As String, Filename As String) As String
Dim Retour As String
Fichier = Path & "\" & Filename & ".ini"
Retour = String(255, Chr(0))
LireINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), Fichier))
End Function
Public Function EcrireINI(Entete As String, Variable As String, Valeur As String, Path As String, Filename As String) As String
Fichier = Path & "\" & Filename & ".ini"
WriteINI = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
End Function
utilisation :
-----------------------
Private Sub CommandButton1_Click()
Dim Temp As String
Dim MonEntete As String
Dim Var1 As String
Dim Valeur1 As String
MonEntete = "Parametres Fichiers Distant a Traiter"
Var1 = "Nom Fichier"
'---Ecrire les valeurs à mettre dans le fichier INI---
'Valeur1 = "CA_QUOTIDIEN_07_0074.xls"
'Temp = EcrireINI(MonEntete, Var1, Valeur1, ActiveWorkbook.Path, "AppConf1")
'---Ecrire les valeurs à mettre dans le fichier INI---
Valeur1 = ""
Valeur1 = LireINI(MonEntete, Var1, ActiveWorkbook.Path, "AppConf1")
MsgBox Valeur1
End Sub -
buen trabajo,
Gracias
--
El sueño no llega a nada, la acción lo es todo.
(J. FIAUX). -