Ir al contenido


Foto

Como leer varias lineas en un archivo .ini


Mejor respuesta JoAnCa , 03 abril 2022 - 08:00

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;

 


 

Ir al mensaje completo


  • Por favor identifícate para responder
2 respuestas en este tema

#1 JoAnCa

JoAnCa

    Advanced Member

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

Escrito 02 abril 2022 - 07:37

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 ?

Editado por JoAnCa, 02 abril 2022 - 07:48 .

  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.109 mensajes
  • LocationMadrid - España

Escrito 03 abril 2022 - 01:11

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 mensajes
  • LocationPinar del Río, Cuba

Escrito 03 abril 2022 - 08:00   Mejor respuesta

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.