hola amigos estoy realizando un sistema que debo intercambiar informacion entre dos programas que estan separados.
Buscando me di con el manejo de archivos binarios, me parecio facil, mas que manejar xml,
bueno ya creo la funcion para el archivo que tengo que intercambiar.
Código Delphi
[-]type
TEstudiante = record
codigo_plantel :String[10];
acta :String[5];
nombres :String[70];
cedula :String[11];
sexo :String[1];
nota :String[2];
nota_letras :String[15];
fecha :TDate;
observaciones :String[70];
titulo_tipo :String[20];
anio :String[10];
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
estudiante : TEstudiante;
F : File of TEstudiante;
ii:integer;
begin
ii:=1;
if SaveDialog1.Execute then
begin
AssignFile( F, SaveDialog1.FileName );
Rewrite( F );
while (sgAlumnos.Cells[0,ii] <> '')and(sgAlumnos.Cells[0,ii] <> ' ')or(ii=201)do
begin
with estudiante do
begin
codigo_plantel := txtcodigo.Text;
acta := sgAlumnos.Cells[0,ii];
nombres := sgAlumnos.Cells[1,ii];
cedula := sgAlumnos.Cells[2,ii];
sexo :=sgAlumnos.Cells[3,ii];
nota := sgAlumnos.Cells[4,ii];
nota_letras := NotaCuantitativa(StrToInt(sgAlumnos.Cells[4,ii]));
fecha := StrToDate(sgAlumnos.Cells[5,ii]);
observaciones := sgAlumnos.Cells[6,ii];
titulo_tipo := 'PRIMARIA';
anio := mtxtanio.Text;
end;
Write( F, estudiante );
ii:=ii+1;
end;
CloseFile( F );
end;
end;
como no es tan grande el archivo no uso buffer.
el problema es que no he podido realizar el proceso inverso. leer el archivo binario y analizar los datos registro a registro.
he probado y solo puedo abrir y leeo el primer registro
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
estudiante : TEstudiante;
F : File of TEstudiante;
begin
if OpenDialog1.Execute then
begin
AssignFile( F, OpenDialog1.FileName );
Reset( F );
Read( F, estudiante );
ShowMessage(estudiante.nombres);
CloseFile( F );
end;
end;
espero que podais ayudar con esto.
Ho dadme otra opción