Page 1 of 1
Secciones en archivo ini
Posted: Tue Jan 22, 2008 3:22 pm
by horacio
Hay alguna función que me devuelva la cantidad de secciones de un archivo ini. Desde ya muchas gracias
Posted: Fri Jan 25, 2008 7:41 pm
by mchumpitazv
Hola Horacio
Como el archivo INI es un archivo de texto y si tomamos como ejemplo el archivo win.ini en que cada seccion empieza con el caracter "[", podrias leer cada linea y colocarlas en una matriz, lugo te barres la matriz y cuentas cuantas lineas empiezan con dicho caracter, el resultado te indicaria el numero de secciones existentes.
Saludos y suerte
Martin
Re: Secciones en archivo ini
Posted: Fri Jan 25, 2008 9:10 pm
by mmercado
horacio wrote:Hay alguna función que me devuelva la cantidad de secciones de un archivo ini. Desde ya muchas gracias
cText := MemoRead( "MyIni.ini" )
nSecciones := StrCharCount( cText, "[" )
Saludos
Manuel Mercado
Re: Secciones en archivo ini
Posted: Sat Jan 26, 2008 9:53 am
by Carlos Mora
Hola Manuel,
mmercado wrote:horacio wrote:Hay alguna función que me devuelva la cantidad de secciones de un archivo ini. Desde ya muchas gracias
cText := MemoRead( "MyIni.ini" )
nSecciones := StrCharCount( cText, "[" )
Saludos
Manuel Mercado
Yo no usaría 'nSecciones := StrCharCount( cText, "[" )' porque me contaría líneas como
; [esto está comentado]
o cosas como
Nombre= aCorriente[2]
Habria que tomar cada línea con memoline, eliminar los espacios del principio y verificar que el priemr caracter sea '['
Code: Select all
nCuenta:= 0
For i:= 1 To MLCount( cText )
If Left( LTtrim( MemoLine( cText, i, .....) ), 1 ) == ']'
nCuenta++
EndIF
EndFor
No tengo presente los parámetros de memoline y mlcount, pero estan en la NG seguro.
Un saludo,
Carlos
Posted: Sat Jan 26, 2008 1:39 pm
by csincuir
Horacio, puedes utilizar la clase TIni para encontrar un array con todos los nombres de las secciones y po consiguiente el numero de secciones.
Eje.:
Code: Select all
...
oIni := Tini():New( cIniFile )
aSecctions := oIni:Sections() //Array que contiene todos los nombres de las secciones
? Len( aSecctions ) //No. de secciones del INI
Espero te sirva. Saludos.
Carlos.
Posted: Sat Jan 26, 2008 5:05 pm
by horacio
Les agradezco a todos por responder. Probaré cada una de sus sugerencias. De nuevo muchas gracias