s3c Postado Abril 18, 2005 Denunciar Share Postado Abril 18, 2005 var a,b:Boolean; Baiti:Byte; begin a := true; Baiti := 2; Move(Baiti, b, 1); if a and b then ShowMessage('b é true') else if a and not b then ShowMessage('b é false') else if a then ShowMessage('b é ?'); // é aqui que ele vem end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 18, 2005 Denunciar Share Postado Abril 18, 2005 Num sei e eu entendi, o que você está falando é deveria entrar o primeiro if? é isso?bom se for coloque as variaveis a e b entre parenteses, tipo:var a,b:Boolean; Baiti:Byte; begin a := true; Baiti := 2; Move(Baiti, b, 1); if (a) and (b) then ShowMessage('b é true') else if a and not b then ShowMessage('b é false'); end;Abs. Progr'amador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Abril 18, 2005 Autor Denunciar Share Postado Abril 18, 2005 Olá Progr'amador, realmente colocando parênteses, ele responde true p/ b.Peguei esse erro num programa que estava sujando a variável booleana porque nunca utilizei parênteses p/ variáveis boolean em ifs simples; e realmente não precisa utilizar. Ainda acho que é um furo do compilador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Abril 18, 2005 Denunciar Share Postado Abril 18, 2005 já tive proplemas como esse, engraçado que no segundo if num precisa de parentes, ele funciona legal. furo do compilador. pra mim isso tem outro nome:BUG - "Comigo é no popular" Abs. Progr'amador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
s3c
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.