Ver Mensaje Individual
  #1  
Antiguo 29-08-2006
Roberto Sánchez Roberto Sánchez is offline
Registrado
 
Registrado: ago 2006
Posts: 4
Reputación: 0
Roberto Sánchez Va por buen camino
From turbo pascal to delphi6

Tengo un porgrama escrito con turbo pascal 7. Para escribir un fichero (una bioseñal) que tiene dos partes (un encabezamiento y un cuerpo) utiliza el siguiente record para el encabezamiento:

Código Delphi [-]
TSTTYPE=record
        pacname:string[25];
        hcl    :string[11];
         dia    :integer;
         mes    :integer;
         ano    :integer;
         time   :string[4];
         testype:string[25];
         period :real;
         minut  :integer;
         segun  :integer;
         nochanel :integer;
         chanel  :array[1..maxchanel-1] of chanel; //maxchanel=9 (a constant)
         obs     :array[1..3] of obs; //OBS=STRING[44]
         tpr     :real;
         pesobit :array[1..maxchanel-1] of real;
         units   :array[1..maxchanel-1] of unid; // UNID=STRING[4];
         codgrab :byte;
         chanels :array[1..maxchanel-1] of byte;
         status  :boolean;
         end;

Después del usuario entrar los datos, la variable dattst (de tipo tsttype) es escrita en un ficherode esta manera:

Código Delphi [-]
   write(FICHTST,DATTST);

Entonces:

Código Delphi [-]
   seek(fichint,round(sizeof(DATTST)/2));

para comenzar a escribir el cuerpo del fichero (enteros) después del encabezamiento.

Hata aquí todo está bien en turbo pascal 7. El módulo de procesamiento lee bien el fichero resultante.
Ahora, utilizo el mismo código con Delphi6 de la misma forma, escribo el fichero, pero cuando voy a abrirlo recibo un runtime error y el programa aborta.

Al ver un fichero original y el que hago con delphi con un editor hexadecimal, son diferentes (el tamaño del encabezamiento, por ejemplo).

¿Qué puede estar pasando y cómo lo resulevo?

Cualquier otro dato, o si hace falta un fichero de muestra, por favor pedirlo.

Gracias por adelantado
R. Sanchez

Última edición por dec fecha: 29-08-2006 a las 04:31:21.
Responder Con Cita