Delphi - Procedimiento read

 
Vista:

Procedimiento read

Publicado por bernardo Castillo (1 intervención) el 23/11/2005 18:21:13
Hola a todos, tengo el siguiente codigo que segun yo debe leer un archivo, el archivo contiene la sig. informacion:

tiempo X Y Z Conc. Intervalo1 ConcIntervalo2
0, 2, 2, 6, 437273.397853, 3453867.423908,.......etc

[code]
const

M=2;
Ncx=10;
Ncy=10;
Ncz=10;

fuenteX=1;
fuenteY=5;
fuente=5;
var
ConcXY:TextFile;
ni: array[1..M,0..Ncx,0..Ncy,0..Ncz,0..1]);
x,y,z,k: Integer;

Implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
AssignFile(ConcXY,'ConcXY.txt');
{$I-}reset(ConcXY);{$I+}
for x:=0 to Ncx do
begin
for y:=0 to Ncy do
begin
for z:=0 to Ncz do
begin
if z=fuenteZ then
begin
for k:=0 to M do
begin
if k=M then
begin
readln(ConcXY,ni[k,x,y,z,0]);
end
else
begin
read(ConcXY,ni[k,x,y,z,0);
end;
end;
// graficar

end;
end;
end;
end;
end;

Lo que intento con esto es leer la concentracion en cada intervalo, porque bueno esto lo voy a graficar en un eje X,Y. He ir degradando, el color segun este valor, es decir donde el valor sea muy elevado poner un color fuerte y donde es pequeño el valor un color mas degradado. y para eso uso la matriz que por ahi ven.

Este codigo me da el siguiente Error: Invalid Numeric Imput
Agradesco a quien se tome la molestia de contestarme.

Salu2
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:Procedimiento read

Publicado por beosman (163 intervenciones) el 24/11/2005 12:18:37
Primero, el array hay que declararlo de algún tipo, es decir:

ni: array[1..M,0..Ncx,0..Ncy,0..Ncz,0..1] of <tipo> // ¿integer, string, ...?

Luego, dependiendo del tipo de datos que haya en el array, hay que leer del archivo de forma coherente:

readln(ConcXY,ni[k,x,y,z,0]);

Si el archivo es de texto, hay que declarar el array de tipo string, pero luego hay que convertir los valores a entero para poder trabajar con ellos.

Y finalmente, como consejo, para leer un archivo de texto lo mejor que puedes usar es un TStringList, que te lee todas las cadenas y te las mete en una lista, y luego las separas tú como quieras.

Un saludo.
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