Busqueda ficheros binarios
Publicado por pepe287 (2 intervenciones) el 28/12/2006 09:26:13
Si tengo la siuguiente declaracion de datos,quiero hacer consultas de ambos ficheros :
Program Programa;
USES
crt,....;
BEGIN
Assign(Fichero1,'Fichero1.txt');
Assign(datos1,'datos1.dat');
Assign(Fichero2,'repes.dat');
Assign(datos2,'datos2.dat');
if not fileExists(Fichero1.dat') then
cargar_datos(Fichero1, datos1);
if not fileExists(Fichero2.dat') then
cargar_datos(Fichero2, datos2);
if fileExists ('datos1.dat') then
Close(datos1);
if fileExists ('datos2.dat') then
Close(datos2);
........
UNIT....;
....
Procedure Meter_datos1(var Fichero1: text;
var datos1: tipo_fich_datos);
VAR
registro: tipo_reg_logico;
BEGIN
reset(Fichero1);
rewrite(datos1);
seek(datos1,0);
WHILE not EOF(Fichero1) DO
BEGIN
WITH registro DO
BEGIN
Read(Fichero1,dni);
read(Fichero1,nombre);
.........
readln(Fichero1);
END;
Write(datos1, registro);
END;
close(Fichero1);
close(datos1);
END;
Procedure Meter_datos2(var Fichero2: text;
var datos2: tipo_fich_datos);
VAR
registro: tipo_reg_logico;
BEGIN
reset(Fichero2);
rewrite(datos2);
seek(datos2,0);
WHILE not EOF(Fichero2) DO
BEGIN
WITH registro DO
BEGIN
Read(Fichero2,dni);
read(Fichero2,nombre);
.........
readln(Fichero2);
END;
Write(datos2, registro);
END;
close(Fichero2);
close(datos2);
END;
****
Si yo ahora quiero consultar es decir hacer una busqueda por dni por ejemplo del fichero 1 me lo busca bien pero si hago una busqueda del fichero 2 no me encuentra nada y me da a mi que es que no se esta generando bien el fichero binario.No se si algo estoy haciendo mal
Program Programa;
USES
crt,....;
BEGIN
Assign(Fichero1,'Fichero1.txt');
Assign(datos1,'datos1.dat');
Assign(Fichero2,'repes.dat');
Assign(datos2,'datos2.dat');
if not fileExists(Fichero1.dat') then
cargar_datos(Fichero1, datos1);
if not fileExists(Fichero2.dat') then
cargar_datos(Fichero2, datos2);
if fileExists ('datos1.dat') then
Close(datos1);
if fileExists ('datos2.dat') then
Close(datos2);
........
UNIT....;
....
Procedure Meter_datos1(var Fichero1: text;
var datos1: tipo_fich_datos);
VAR
registro: tipo_reg_logico;
BEGIN
reset(Fichero1);
rewrite(datos1);
seek(datos1,0);
WHILE not EOF(Fichero1) DO
BEGIN
WITH registro DO
BEGIN
Read(Fichero1,dni);
read(Fichero1,nombre);
.........
readln(Fichero1);
END;
Write(datos1, registro);
END;
close(Fichero1);
close(datos1);
END;
Procedure Meter_datos2(var Fichero2: text;
var datos2: tipo_fich_datos);
VAR
registro: tipo_reg_logico;
BEGIN
reset(Fichero2);
rewrite(datos2);
seek(datos2,0);
WHILE not EOF(Fichero2) DO
BEGIN
WITH registro DO
BEGIN
Read(Fichero2,dni);
read(Fichero2,nombre);
.........
readln(Fichero2);
END;
Write(datos2, registro);
END;
close(Fichero2);
close(datos2);
END;
****
Si yo ahora quiero consultar es decir hacer una busqueda por dni por ejemplo del fichero 1 me lo busca bien pero si hago una busqueda del fichero 2 no me encuentra nada y me da a mi que es que no se esta generando bien el fichero binario.No se si algo estoy haciendo mal
Valora esta pregunta


0