Jump to content


Photo

Como leer varias lineas en un archivo .ini


Best Answer JoAnCa , 03 April 2022 - 08:00 AM

Puedes usar ReadSectionValues o también crear un bucle con ReadString ya que los nombres son consecutivos con un número. Paras cuando la cadena leída sea igual a la cadena por defecto.

Saludos.

Muchas gracias por la respuesta, no sabia de ReadSectionValues, ya vi que con ese metodo puedo saber la cantidad de lineas que tiene la seccion y asi conocer el punto de parada del ciclo

 

Lo resolvi de esta manera:


php
  1.       valores:=TStringList.Create;
  2.       MiFicheroIni.ReadSectionValues('Destinos', valores);
  3.       for j:=1 to Valores.Count do
  4.       begin
  5.         sgDestinos.Cells[0,j]:=MiFicheroIni.ReadString('Destinos', 'Destino'+IntToStr(j), '');
  6.         sgDestinos.RowCount:=j+1;
  7.       end;

 


 

Go to the full post


  • Please log in to reply
2 replies to this topic

#1 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 02 April 2022 - 07:37 PM

Hola a todos
Pues estoy creando una aplicacion que manejará varias rutas de archivos, que las guarda en una archivo .ini.
Al iniciar la aplicacion, esta debe leer el archivo de rutas (.ini) y cargarlas en un stringrid.
Las rutas se pueden añadir o eliminar, tantas como se necesite.

Se como crear el .ini, y tambien como leer una clave con ReadString, conociendo el nombre de la clave.

Pero como no se sabe cuantas rutas estan guardadas, pues estas pueden variar con cada ejecucion del programa, no se como leerlas para cargarlas en el StringGrid.

La estructura del ini seria como esta:

[Destinos]
destino1=d:\carpeta1
destino2=d:\ruta2
...
destinoN=e:\laotraruta

Como puedo cargar todas esas rutas en el stringGrid ?

Edited by JoAnCa, 02 April 2022 - 07:48 PM.

  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 03 April 2022 - 01:11 AM

Puedes usar ReadSectionValues o también crear un bucle con ReadString ya que los nombres son consecutivos con un número. Paras cuando la cadena leída sea igual a la cadena por defecto.

Saludos.


  • 0

#3 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 03 April 2022 - 08:00 AM   Best Answer

Puedes usar ReadSectionValues o también crear un bucle con ReadString ya que los nombres son consecutivos con un número. Paras cuando la cadena leída sea igual a la cadena por defecto.

Saludos.

Muchas gracias por la respuesta, no sabia de ReadSectionValues, ya vi que con ese metodo puedo saber la cantidad de lineas que tiene la seccion y asi conocer el punto de parada del ciclo

 

Lo resolvi de esta manera:


php
  1.       valores:=TStringList.Create;
  2.       MiFicheroIni.ReadSectionValues('Destinos', valores);
  3.       for j:=1 to Valores.Count do
  4.       begin
  5.         sgDestinos.Cells[0,j]:=MiFicheroIni.ReadString('Destinos', 'Destino'+IntToStr(j), '');
  6.         sgDestinos.RowCount:=j+1;
  7.       end;

 


 


  • 1




IP.Board spam blocked by CleanTalk.