Pascal/Turbo Pascal - AYUDA Por favor, con FICHEROS

 
Vista:

AYUDA Por favor, con FICHEROS

Publicado por Kioon (12 intervenciones) el 20/01/2005 12:19:29
Hola.

Tengo un grave problema y agradeceria mucho quien me ayudase. Tengo un fichero de texto (.txt) donde me aparecen los siguientes datos:

59 MANUEL H SEGUNDO 3 8 9,9
59 MANUEL H SEGUNDO 5 9 6,6
59 MANUEL H PRIMERO 6 1 4,4
61 PILAR M SEGUNDO 7 2 5,5

Bueno, pues quiero hacer un programa es Pascal, que lea ese fichero y me pase los datos a otro. Mi gran problema es que no se como hacerlo. SI por ejemplo comienzo con un

VAR

dato:STRING;

ASSIGN (forigen, 'ficheroorigen.TXT');
{$I-} RESET (forigen); {$I+}

READLN(org,datos); <<<< Aqui tengo el primero problema ya que me pilla la primera linea y no todo el texto y claro como hay lineas despues me quedo sin ello.

FOR i:=1 TO LENGTH(datos) DO BEGIN

IF datos[i] <> ' ' THEN INC(cantidad)

ELSE

BEGIN

campo:= Copy(texto,primera,cantidad);
dato[primera]:=campo;

END;

cantidad := 0;
primera:=cantidad+2;

END;

Que ocurre que tengo que almacenar cada dato (MANUEL, H, SEGUNDO) en una variable (que dudo si funcionaria lo de [primera] y despues cuando salte a la siguiente linea (ni idea de como hacerlo), esas variables estarán ocupadas y no se que hacer.

Muchas gracias a todos, si alguien se quiere poner en contacto conmigo mi correo es [email protected]

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA Por favor, con FICHEROS

Publicado por Diego Romero (786 intervenciones) el 20/01/2005 15:11:45
Pues hombre, con readln(Archivo, Linea); siendo Archivo el nombre lógico del archivo y Linea un tipo String lees UNA línea del .txt, para leer la siguiente pues vuelve a leer el archivo :).
El código sería así:
begin
while not Eof(Archivo) do
begin
ReadLN(Archivo, Linea);
{ procesar Linea ... }
end;
end;
O sea, mientras no sea fin de archivo ("Eof") leer una línea. El procedimiento ReadLn cuando se aplica a un archivo lee un registro o línea y avanza el puntero automáticamente a la siguiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA Por favor, con FICHEROS

Publicado por Kioon (12 intervenciones) el 20/01/2005 16:40:00

Hola de nuevo.

Otra dudilla que tengo es que si la variable campo, la almaceno en otra, pero al ser un bucle se tiene que llamar de forma distinta, he probado y no puedo hacer lo de dato[primera] ya que primera va a ser 1..3..5 y parece que el compilador lo pilla como si fuese un STRING. Me puede decir alguien como puedo cambiar la varianle donde se almacene campo cada vez que se realiza el bucle

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar