Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-11-2005
ber ber is offline
Miembro
 
Registrado: nov 2005
Posts: 12
Poder: 0
ber Va por buen camino
Question Procedimiento read

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

Código:
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
Responder Con Cita
  #2  
Antiguo 23-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Podes usar la directiva {$i-} para desactivar la comprobación del input, y la función IOError para verificar que el dato leido sea correcto.

Otra posible solución es procesar el archivo como un texto, intentar la conversión de tipos (con funciones del tipo StrToInt, StrToFloat, etc.) e informar al usuario si ha ocurrido un error en alguna línea.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 23-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No entiendo nada. Planteaste la misma cuestión en este Hilo no hace nada, vamos, anteayer mismo. Se te dio una respuesta en el propio Hilo y en otro además, que pareció convencerte, a tenor de lo que tú mismo replicaste. Y, ahora, incias un nuevo Hilo para preguntar lo mismo... como digo... No sé qué pensar. No entiendo nada.

Sino es que en la guía de estilo se ruega no iniciar nuevos Hilos para las mismas preguntas... ¿no podrías haber expuesto tus dudas en el anterior Hilo y a partir de ahí hubiéramos intentado seguir adelante con el tema? En fin. Ahora hay dos Hilos duplicados, con la misma pregunta, varias respuestas diferentes y veremos a ver si suficientes... ¡Todo sea porque soluciones al cabo el problema! ¿No?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 24-11-2005
Turboleta Turboleta is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 26
Poder: 0
Turboleta Va por buen camino
¡Hola! Ber.

Si el archivo que estás leyendo no lo has creado tú y tiene información numérica será un archivo tipeado y no tiene sentido abrirlo como si fuera de texto. Deberías conocer su estructura, declarar un tipo de registro con los campos necesarios, declarar una variable de ese tipo y, apartir de ahí, leer el archivo sin precuparte de saltos de línea.
Si lo creas tú, tampoco tiene sentido crear un fichero de texto para almacenar información numérica con los inconvenientes de conversión de tipos, tanto al escribir como al leer.

Espero haberte servido de ayuda.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:06:04.


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
Copyright 1996-2007 Club Delphi