Hola tarco35.
Una opción que te puede servir es usar archivos de acceso aleatorio, por ejemplo:
Código Delphi
[-]
type
TRegGrafica = packed record
Valores : array [0..64,0..1500] of Real;
Numero_Valores : array [0..64] of Integer;
NumeroLectura : LongInt;
end;
TFileRegGrafica = file of TRegGrafica;
var
Reg: TRegGrafica;
FileReg: TFileRegGrafica;
Este tipo de tratamiento, te permite acceder de forma directa, tanto en lectura como en escritura, a los registros en disco:
Código Delphi
[-]
Seek(FileReg, 15); Read(FileReg, Reg);
Es más, gracias a un pequeño truco con moldeos podes usar un arreglo de registros para acceder a bloques de registros en un sólo acceso a disco:
Código Delphi
[-]
var
VecRec: array[0..50] of TRegGrafica;
begin
BlockWrite(file(FileReg), Reg, 49);
Seek(FileReg, 0);
BlockRead(file(FileReg), Reg, 49);
Y dado que los accesos a disco son una de las taréas más lentas, brinda una gran ganancia de velocidad. Una vez cargado el arreglo podes manejar todo desde memoria.
Si tenes dificultad para implementarlo, comentame y te preparo/adjunto un código demo.
Saludos