Delphi - Un archivo, dos registros

 
Vista:

Un archivo, dos registros

Publicado por Diego Romero (636 intervenciones) el 14/05/2003 19:20:37
Espero que alguien me pueda ayudar con el siguiente problema.
Necesito guardar en un mismo archivo físico dos tipos de registros diferentes que varían en su composición y tamaño.
No estoy hablando de bases de datos (BDE, ADO, Interbase, etc...) sino de archivos de tipo "File" o "File of Record".
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:Un archivo, dos registros

Publicado por BigLuis (463 intervenciones) el 15/05/2003 08:17:31
Hola Diego. Prueba con este procedimiento

procedure EscribeRegistro(NuevoRegistro: TNuevoReg; Donde: string);
var
fNuevo: file of Byte;
begin
//Donde es el fichero fisico que ya existe donde almacenas los registros
//NuevoRegiatro es el registro que quieres escribir en el fichero fisico
try
AssignFile(fNuevo, Donde);
Reset(fNuevo);
// Seek(fNuevo, FileSize(fNuevo)-128);//Si tiene una cabecera de 128

Bites por ejemplo
Seek(fNuevo, FileSize(fNuevo));//Si no tiene cabecera
BlockWrite(fNuevo, NuevoRegistro, SizeOf(NuevoRegistro));
finally
CloseFile(fNuevo);
end;
end;

El problema es para su busqueda ya que al no tener la misma longitud nu puedes implementar Seek con el tamaño porque lo desconoces, pero cuando tenga mas tiempo te mandare una rutina que tengo hecha para recuperar todos los registros, uno a uno (eso si) sabiendo naturalmente los que tienes grabados, que puedes almacenar su numero en una cabecera del fichero.
Espero te sirva.Suerte
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