Leer INI varias lineas Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

BlackDraGoN
Posts: 39
Joined: 13 Nov 2022, 09:31

Leer INI varias lineas

25 Mar 2024, 02:46

Tengo un fichero ini como el siguiente:
-------------------------------------

Code: Select all

[SECCION 1]
dato1=valor 1
dato2= valor 2
varias1= linea 1
linea 2
linea3

[SECCION 2]
varias2= linea 1
linea2
linea3
dato3=valor 3
dato4=valor 4
[Mod edit: + codebox.]
----------------------------------------------------

Mi pregunta es, ¿Como puedo crear un fichero INI con subclaves de varias lineas y como puedo leerlo luego?

Muchas gracias.
garry
Posts: 3771
Joined: 22 Dec 2013, 12:50

Re: Leer INI varias lineas  Topic is solved

25 Mar 2024, 07:29

tal vez ... (?)

Code: Select all

RSSINI=%A_scriptdir%\RSSINI2.ini
ifexist,%rssini%
 filedelete,%rssini%
ifnotexist,%rssini%
  {
  Iniwrite,valor 1       ,%rssini%,SECCION-1,dato1
  Iniwrite,valor 2       ,%rssini%,SECCION-1,dato2
  Iniwrite,var 1 linea 1`tvar 1 Linea 2`tvar 1 Linea 3 ,%rssini%,SECCION-1,varias1

  Iniwrite,var 2 linea 1`tvar 2 Linea 2`tvar 2 Linea 3 ,%rssini%,SECCION-2,varias2
  Iniwrite,valor 3       ,%rssini%,SECCION-2,dato3
  Iniwrite,valor 4       ,%rssini%,SECCION-2,dato4
  }

iniread,dato1   ,%rssini%,seccion-1,dato1
iniread,dato2   ,%rssini%,seccion-1,dato2
iniread,varias1 ,%rssini%,seccion-1,varias1

iniread,dato3   ,%rssini%,seccion-2,dato3
iniread,dato4   ,%rssini%,seccion-2,dato4
iniread,varias2 ,%rssini%,seccion-2,varias2

stringreplace,varias1,varias1,`t,`n,all
stringreplace,varias2,varias2,`t,`n,all

msgbox,DATO1=%dato1%`nDATO2=%dato2%`nVARIAS1=%varias1%`n---------`nDATO3=%dato3%`nDATO4=%dato4%`nVARIAS2=%varias2%
return

/*
;- rssini2.ini =
[SECCION-1]
dato1=valor 1
dato2=valor 2
varias1=var 1 linea 1	var 1 Linea 2	var 1 Linea 3

[SECCION-2]
varias2=var 2 linea 1	var 2 Linea 2	var 2 Linea 3
dato3=valor 3
dato4=valor 4

;- READ RESULT=
DATO1=valor 1
DATO2=valor 2
VARIAS1=var 1 linea 1
var 1 Linea 2
var 1 Linea 3
---------
DATO3=valor 3
DATO4=valor 4
VARIAS2=var 2 linea 1
var 2 Linea 2
var 2 Linea 3  
*/  
BlackDraGoN
Posts: 39
Joined: 13 Nov 2022, 09:31

Re: Leer INI varias lineas

25 Mar 2024, 10:45

garry wrote:
25 Mar 2024, 07:29
tal vez ... (?)

Code: Select all

RSSINI=%A_scriptdir%\RSSINI2.ini
ifexist,%rssini%
 filedelete,%rssini%
ifnotexist,%rssini%
  {
  Iniwrite,valor 1       ,%rssini%,SECCION-1,dato1
  Iniwrite,valor 2       ,%rssini%,SECCION-1,dato2
  Iniwrite,var 1 linea 1`tvar 1 Linea 2`tvar 1 Linea 3 ,%rssini%,SECCION-1,varias1

  Iniwrite,var 2 linea 1`tvar 2 Linea 2`tvar 2 Linea 3 ,%rssini%,SECCION-2,varias2
  Iniwrite,valor 3       ,%rssini%,SECCION-2,dato3
  Iniwrite,valor 4       ,%rssini%,SECCION-2,dato4
  }

iniread,dato1   ,%rssini%,seccion-1,dato1
iniread,dato2   ,%rssini%,seccion-1,dato2
iniread,varias1 ,%rssini%,seccion-1,varias1

iniread,dato3   ,%rssini%,seccion-2,dato3
iniread,dato4   ,%rssini%,seccion-2,dato4
iniread,varias2 ,%rssini%,seccion-2,varias2

stringreplace,varias1,varias1,`t,`n,all
stringreplace,varias2,varias2,`t,`n,all

msgbox,DATO1=%dato1%`nDATO2=%dato2%`nVARIAS1=%varias1%`n---------`nDATO3=%dato3%`nDATO4=%dato4%`nVARIAS2=%varias2%
return

/*
;- rssini2.ini =
[SECCION-1]
dato1=valor 1
dato2=valor 2
varias1=var 1 linea 1	var 1 Linea 2	var 1 Linea 3

[SECCION-2]
varias2=var 2 linea 1	var 2 Linea 2	var 2 Linea 3
dato3=valor 3
dato4=valor 4

;- READ RESULT=
DATO1=valor 1
DATO2=valor 2
VARIAS1=var 1 linea 1
var 1 Linea 2
var 1 Linea 3
---------
DATO3=valor 3
DATO4=valor 4
VARIAS2=var 2 linea 1
var 2 Linea 2
var 2 Linea 3  
*/  
MUCHISIMAS GRACIAS. :bravo: :bravo: :bravo: :bravo:

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 96 guests