Página 1 de 1

Eliminar una seccion de un archivo ini

Publicado: 28 Nov 2016, 05:05
por wbueso
De nuevo consultando a los maestros, saludos.

En mi ini tengo esto

[Apli1]
Nombre Archivo=WinRar W7
Ubicacion=\Programas\Install\Winrar 3.7.1 Español\WinRar W7\WinRar W7.exe
Estado=1
Icono=\Programas\Install\Winrar 3.7.1 Español\WinRar W7\WinRar W7.ico
Info=\Programas\Install\Winrar 3.7.1 Español\WinRar W7\WinRar W7.txt

[Prog0] <<========================== Seccion ===================================== Esto es lo que quiero borrar o eliminar
Nombre Archivo=AutoIt V3 <<======================== Clave ========================= Esto si lo puedo borrar con IniDelete
Ubicacion=\Programas\Install\AutoIt v3\AutoIt V3.exe <<============= Clave ============= Esto si lo puedo borrar con IniDelete
Estado=0 <<============================================== Clave ================= Esto si lo puedo borrar con IniDelete
Icono=\Programas\Install\AutoIt v3\AutoIt V3.ico <<============= Clave ================= Esto si lo puedo borrar con IniDelete
Info=\Programas\Install\AutoIt v3\AutoIt V3.txt <<============== Clave ================= Esto si lo puedo borrar con IniDelete

Lo que no he podido eliminar es lo que identifica la seccion, la que esta encerrada entre estos [..].
Ayudenme que no encuentro como hacerlo, no se si hay una funsion para eso.

Porque lo quiero hacer?, porque nesecito borrala para volverla a escribir con nuevos datos con la funsion IniWrite, mi script o programa lee las secciones y me muestra los datos de las secciones, pero nesecito crear un boton borrar para eliminar secciones y asi poder escribir nuevos datos.

De antemano grasias.

Re: Eliminar una seccion de un archivo ini

Publicado: 28 Nov 2016, 16:16
por Dany
Hola. has usado IniDelete?



Saludos :smt027

Re: Eliminar una seccion de un archivo ini

Publicado: 28 Nov 2016, 17:22
por wbueso
Si lo he usado, solo elimina las claves pero deja la seccion

Re: Eliminar una seccion de un archivo ini

Publicado: 28 Nov 2016, 17:50
por Dany
En la ayuda dice The key name in the .ini file to delete. If the key name is not given the entire section is deleted. The Default keyword may also be used which will cause the section to be deleted.

Si no le pasas ninguna llave borra la seccion completa.

Algo así como IniDelete($sFilePath, "[Prog0]")


Saludos :smt027

Re: Eliminar una seccion de un archivo ini

Publicado: 29 Nov 2016, 01:13
por wbueso
Ya lo prove y solo elimina las claves y deja las secciones, pero ya solucione el problema, aunque exista la seccion, si esta vacia la reescribe agregandole nuevos datos.
Asi que ese problema se resolvio.

Cada que elimino las claves queda asi.
[Conf0]

Pero las aprovecho para usar la seccion de nuevo, agregandole nuevas claves.

Grasias por la ayuda.

Re: Eliminar una seccion de un archivo ini

Publicado: 29 Nov 2016, 17:57
por Chefito
Como dice danny con la función inidelete sin indicar nada en el parámetro key te debe borrar la sección entera. La sección si los corchetes:
IniDelete($sFilePath, "Prog0")

Si te da problemas, recuerda que un archivo .ini es simplemente un archivo de texto, y autoit tiene multitud de funciones para trabajar con textos y ficheros de texto :smt023 . Mira todas las que empiezan por string.... . Y para la apertura, lectura y escritura de ficheros, fileopen, fileread, filewrite, entre otras.

Saludos.

Re: Eliminar una seccion de un archivo ini

Publicado: 30 Nov 2016, 17:12
por wbueso
Grasias por la ayuda, son unos maestros.
Desde que comenze con autoit, con la ayuda de ustedes he aprendido mucho, aprendi a usar los array, for next y mucho mas.
Ahora no tengo que escribir tanto, espero seguir aprendiendo con su valiosa ayuda.
Dios los bendiga y hasta la proxima.