Ver Mensaje Individual
  #7  
Antiguo 11-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
He preparado un ejemplo básico de cómo podrías guardar un arreglo dinámico usando streams. No he tenido oportunidad de probarlo, pero espero que te funcione bien.

Código Delphi [-]
type
  IntegerArray = array of Integer;

procedure GuardaArray(const a: IntegerArray);
var
  st: TFileStream;
  Long: Integer;
begin
  st := TFileStream.Create('c:\datos.dat', fmCreate);
  try
    Long := Length(a);
    st.Write(Long, SizeOf(Long));
    st.Write(a, SizeOf(Integer) * Long);
  finally
    st.Free;
  end;
end;

procedure LeeArray(var a: IntegerArray);
var
  st: TFileStream;
  Long: Integer;
begin
  st := TFileStream.Create('c:\datos.dat', fmOpenRead);
  try
    st.Read(Long, SizeOf(Long));
    SetLength(a, Long);
    st.Read(a, SizeOf(Integer) * Long);
  finally
    st.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  a: TIntegerArray;
begin
  //llenar el arreglo
  GuardaArray(a);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  a: TIntegerArray;
begin
  LeeArray(a);
  //usar el arreglo
end;

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