Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2013
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
Ayuda con Comparaciones simultaneas en Pascal

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.
Responder Con Cita
  #2  
Antiguo 03-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Novatin.

La comparación es correcta. Lo único que noto en tu código es que debería ser:
Código Delphi [-]
  ...
  Read(Archivo, B1);
  Read(Archivo, B2);
  Read(Archivo, B3);
  ...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 04-08-2013
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
Gracias ecfisa...

Me salvaste esta... (y las otras )

un saludo.
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
Ayuda con Variables Globales y Locales en Pascal Novatin Lazarus, FreePascal, Kylix, etc. 4 30-07-2013 05:14:14
Ayuda Urgente ej, de pascal Xmas Varios 2 15-02-2011 10:33:59
Comparativa entre Free Pascal 2.2.0 y Turbo Pascal 7.0 esocrates Varios 2 14-07-2008 14:56:24
ayuda con pascal!!! Babas Lazarus, FreePascal, Kylix, etc. 3 20-10-2006 22:13:41
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29


La franja horaria es GMT +2. Ahora son las 00:43:03.


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