Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2009
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
Exclamation Leer un Archivo Binario

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;


//GUARDAR

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 [-]
//leer

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);
  // Cerramos el fichero
  CloseFile( F );

end;
end;


espero que podais ayudar con esto.

Ho dadme otra opción
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
Responder Con Cita
  #2  
Antiguo 30-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, necesitas hacer un ciclo paar leer todo lo que tienes en el archivo.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
estudiante : TEstudiante;
linea : String;
F         : File of TEstudiante;
begin
if OpenDialog1.Execute then
begin
  AssignFile( F, OpenDialog1.FileName );
  Reset( F );
  While not Eof(F) do
   begin  
    Readln( F, Linea);
    ShowMessage(Linea);
   // Cerramos el fichero
  end;
  CloseFile( F );
end;

También puedes utilizar un StringList.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 30-03-2009
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
lo probare

Gracias caro por tu pronta respuesta.

Voy a probarlo y a ver que resultado me da.

Gracias de antemano
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
transformar archivo binario a texto pakitto Varios 1 26-11-2008 14:09:45
Modificar registro en archivo binario tamarinda C++ Builder 3 06-03-2008 21:01:20
Eliminar registro en archivo binario tamarinda C++ Builder 2 06-03-2008 20:59:25
Cargar array of char de un archivo binario JosepZ Varios 9 12-11-2007 23:28:16
leer de un archivo javikanin Varios 3 23-11-2004 20:34:32


La franja horaria es GMT +2. Ahora son las 09:21:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi