Que tal amigos...
Estoy aprendiendo sobre archivos binarios en Pascal y tengo un problema a momento de usar el "IF"...el codigo simplificado es asi:
Código:
Archivo : File of Byte;
B1,B2,B3 : Byte;
...
while not eof(Archivo) Do
begin
Read(B1);
Read(B2);
Read(B3);
IF ((B1 = 0) and (B2 = 0) and (B3 = $F3)) or eof(Archivo) then
close(Archivo);
WriteLn(B1,B2,B3);
end;
Pero tal parece que la instruccion IF no me funciona correctamente, es decir nunca llega a cerrar el archivo y siempre acaba con un disk ioread error...
Ah en los archivos binarios tengo datos agrupados de a 3 bytes, terminados con 00 00 F3 al final... de la siguiente manera:
"00 12 90 A3 F9 40 12 00 23 00 00 F3"
Lo extraño es que en C++ me funciona correctamente, con la instruccion equivalente...
Código:
...
IF ((B1 == 0) && (B2==0) && (B3==0xF3)) or (feof(Archivo))
fclose(Archivo);
...
Hay algo que me falta en la comparacion simultanea de varios IF de Pascal??
o debería leer los archivos de otro modo??
Gracias de antemono por su ayuda...
Saludos.