Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Ayuda lectura archivos de texto en FreePascal (https://www.clubdelphi.com/foros/showthread.php?t=62589)

ayozito 03-01-2009 13:24:48

Ayuda lectura archivos de texto en FreePascal
 
Buenas! Tengo una duda a la hora de leer un archivo de texto en FP.

El archivo es el siguiente:

<pre><p>8
5 4
8 5
5 6
6 9
7 7
2 2
10 7
6 3
</p></pre>

El tema está en que tengo que hacer un juego como el de las muñecas rusas ese, de meter una dentro de otra. Los numeros son las dimensiones.

Entonces yo tenia pensado en hacer un array de 1 a 8 de tipo record que seria ancho y alto : string.

Y la duda es..como puedo dividir cada linea para poder hacer eso? pq lo unico que consigo es que me ponga toda la linea en ancho, y en alto nada. Vamos que poder poner Ancho = 5, Alto = 4

xEsk 03-01-2009 22:04:14

Hola, he dado por hecho que los tags HTML son un error xD

Te he escrito esta función que te extraerá la inforamción, fila por fila:

Código Delphi [-]
procedure TForm1.ParsearInformacion(Info: String);
var
  n: Integer;
  Ancho,
  Alto: String;

begin
  with TStringList.Create do
    try
      Text:=Info;
      // vamos linea por linea
      for n:=0 to Count - 1 do
        begin
          // obtenemos el ancho (el primer valor de la fila)
          Ancho:=Copy(Strings[n], 1, Pos(' ', Strings[n]) - 1);
          // obtenemos el alto (el segundo valor de la fila)
          Alto:=Copy(Strings[n], Length(Ancho) + 2, Length(Strings[n]));
        end;
    finally
      Free;
    end;
end;

Como puedes ver, tienes que hacer algunos cambios para que guarde la información donde mas te guste, por ahora he creado dos variables String locales.

Este código funciona tanto en Delphi como con Lazzarus.

Saludos.

ayozito 03-01-2009 22:34:55

mmm okey mañana pruebo que tengo que estarme pasando a Ubuntu y no me apetece xD.

De todas maneras tendre que modificarlo pues lo necesito en FreePascal, si veo que no rula, ya te aviso xD gracias!

xEsk 04-01-2009 03:03:33

Este código lo he escrito en Delphi, pero luego lo he probado con Lazarus (0.9.27).

Los cambios que puedas realizar al código, no tienen a ver con que lo necesites para FreePascal o Delphi, ya que Lazarus compila usando FreePascal... :P

Saludos.


La franja horaria es GMT +2. Ahora son las 02:01:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi