Pascal/Turbo Pascal - Archivos de Texto

 
Vista:

Archivos de Texto

Publicado por Floppo (3 intervenciones) el 18/02/2011 22:22:55
Buenas gente!

Tengo una duda sobre archivos de texto para turbo pascal, la cual os propongo ahora:

Tengo un archivo de texto de la forma:

STRING(1)#STRING(2)#STRING(3)#REAL
STRING(1)#STRING(2)#STRING(3)#REAL
STRING(1)#STRING(2)#STRING(3)#REAL

es decir, en cada linea del archivo tengo cada fila, y lo que quiero obtener es los string y el real por separado, es decir, poder manipular el STRING(1) , el STRING(2), el STRING(3) y el real, sin que dependan del archivo, únicamente mediante variables, ¿como puedo pasar esto a variables?

Lo intenté de millones de formas pero no me sale =(

Decir que los separadores de unos a otros no son espacios sino #.

Un saludo , y gracias de antemano!
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:Archivos de Texto

Publicado por ramon (2158 intervenciones) el 19/02/2011 16:00:04
{creado Archvo texto con estos datos con el bloc de notas con extension TXT
STRING(1)#STRING(2)#STRING(3)#REAL
STRING(1)#STRING(2)#STRING(3)#REAL
STRING(1)#STRING(2)#STRING(3)#REAL
copiar pegar y guardar}

program artexto;
uses
crt, dos;
type
string12 = string[12];
var
datos : array[1..100] of string;
ki, cont : integer;
nombre : string[12];
f : text;

procedure lee_archivo;
var
h : char;
begin
gotoxy(2,2);write('Entre Nombre Archivo : ');
gotoxy(2,3);write('Con la Extension 12 Caracteres Maximos');
gotoxy(26,2);readln(nombre);
assign(f,nombre);
{$i-} reset(f); {$i+}
if ioresult <> 0 then
halt(1);
cont := 1;
clrscr;
repeat
ki := 1;
datos[cont] := ' ';
repeat
read(f,h);
if h <> '#' then
begin
datos[cont][ki] := h;
datos[cont][0] := chr(ki);
ki := ki + 1;
if datos[cont] = 'REAL' then
begin
cont := cont + 1;
end;
end
else
begin
cont := cont + 1;
ki := 1;
end;
until seekeof(f);
cont := cont + 1
until eof(f);
close(f);
for ki := 1 to cont - 1 do
begin
writeln(datos[ki]);
writeln;
end;
end;

begin
clrscr;
lee_archivo;
writeln('Separados en el array datos para poder modificarlos');
writeln('luego tendras que guardar como cadena de testo ');

readln;
end.
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