Fórum Socorro com if then else #375712
07/10/2009
0
var Sup,Tipo : String; vSuplemento, vTarifa: Real; begin Sup := ´Lua Mel´; Tipo := ´Inf Extra´; if Sup = ´B.B.´ then ShowMessage(´ok1´) else if Sup = ´Map´ then ShowMessage(´ok2´) else if Sup = ´Fap´ then ShowMessage(´ok3´) else if Sup = ´Ai. Nac.´ then ShowMessage(´ok4´) else if Sup = ´Ai. Int.´ then ShowMessage(´ok5´) else if Sup = ´Lua Mel´ then ShowMessage(´ok6´); if Tipo = ´Adt´ then ShowMessage(´ok7´) else if Tipo = ´Chd´ then ShowMessage(´ok8´) else if Tipo = ´2º Chd´ then ShowMessage(´ok9´) else if Tipo = ´Inf´ then ShowMessage(´ok10´) else if Tipo = ´Adt Extra´ then ShowMessage(´ok11´) else if Tipo = ´Chd Extra´ then ShowMessage(´ok12´) else if Tipo = ´Inf Extra´ then ShowMessage(´ok13´); end;
P.rodrigo
Curtir tópico
+ 0Posts
07/10/2009
Rafa.spimenta
procedure Tfrms055120.Button1Click(Sender: TObject); var Sup, Tipo: string; vSuplemento, vTarifa: Real; begin Sup := ´Lua Mel´; Tipo := ´Inf Extra´; if Sup = ´B.B.´ then ShowMessage(´ok1´) else if Sup = ´Map´ then ShowMessage(´ok2´) else if Sup = ´Fap´ then ShowMessage(´ok3´) else if Sup = ´Ai. Nac.´ then ShowMessage(´ok4´) else if Sup = ´Ai. Int.´ then ShowMessage(´ok5´) else if Sup = ´Lua Mel´ then ShowMessage(´ok6´); if Tipo = ´Adt´ then ShowMessage(´ok7´) else if Tipo = ´Chd´ then ShowMessage(´ok8´) else if Tipo = ´2º Chd´ then ShowMessage(´ok9´) else if Tipo = ´Inf´ then ShowMessage(´ok10´) else if Tipo = ´Adt Extra´ then ShowMessage(´ok11´) else if Tipo = ´Chd Extra´ then ShowMessage(´ok12´) else if Tipo = ´Inf Extra´ then ShowMessage(´ok13´); end;
Gostei + 0
07/10/2009
P.rodrigo
imagem no seguinte endereço para que melhor entendam:
[url]http://www.ramagliotravel.com/erro.gif[/url]
Como podem ver, o delphi não coloca todas as ´bolinhas azuis´ e de consequencia
não consigo debugar, será alguma atualização do delphi? o mais estranho é que o
mesmo tb está acontecendo no 2007 com o december update instalado....
Obrigado!
procedure Tfrms055120.Button1Click(Sender: TObject); var Sup, Tipo: string; vSuplemento, vTarifa: Real; begin Sup := ´Lua Mel´; Tipo := ´Inf Extra´; if Sup = ´B.B.´ then ShowMessage(´ok1´) else if Sup = ´Map´ then ShowMessage(´ok2´) else if Sup = ´Fap´ then ShowMessage(´ok3´) else if Sup = ´Ai. Nac.´ then ShowMessage(´ok4´) else if Sup = ´Ai. Int.´ then ShowMessage(´ok5´) else if Sup = ´Lua Mel´ then ShowMessage(´ok6´); if Tipo = ´Adt´ then ShowMessage(´ok7´) else if Tipo = ´Chd´ then ShowMessage(´ok8´) else if Tipo = ´2º Chd´ then ShowMessage(´ok9´) else if Tipo = ´Inf´ then ShowMessage(´ok10´) else if Tipo = ´Adt Extra´ then ShowMessage(´ok11´) else if Tipo = ´Chd Extra´ then ShowMessage(´ok12´) else if Tipo = ´Inf Extra´ then ShowMessage(´ok13´); end;
Gostei + 0
07/10/2009
Facc
Gostei + 0
07/10/2009
Edsant
Seu Delphi deve estar com algum problema...aqui tb debugou normalmente...
Em último caso, instala o delphi novamente...fazer o que....
Um abraço...
Gostei + 0
07/10/2009
Osocram
Pois o compilador do delphi verifica se o todo o seu codigo tem chance de ser executado.
Como o segundo if nunca vai ser executado, pois a variavel nunca muda de valor o delphi ja ignora este bloco.
Gostei + 0
07/10/2009
Osocram
Me confundi.
o melhor que vc faz p testar isso... seria vc criar um novo projeto e colar esta codigo...
Eu testei aqui e apareceu os 2 showmessage.
Vc testando em um novo projeto e assim mesmo persistir o erro... tem grande chances do problema estar no seu delphi.
Gostei + 0
08/10/2009
Carlosrm
vSuplemento, vTarifa: Real;
a mensagem está lembrando que você criou duas variáveis mas nunca usou-as. Você pode comentar essa linha, suprimir essa linha ou criar o código que usa essas variáveis.
Em todos os casos, isso não impede de compilar e executar o programa. Para testar isso, crie uma terceira variável com um novo nome e coloque na mesma linha. Na próxima compilada terá 3 mensagens de ´variável declarada mas nunca usada...´
Espero ter sido útil. carlosrm
Gostei + 0
08/10/2009
Afarias
O compilador do Delphi tb é bem esperto, e dependendo das configurações (por exemplo, ´Optimization´ habilitado) o Delphi descarta automaticamente variáveis não utilizadas e linhas de código sem utilidade (por isso não é possível passar por algumas linhas de código na depuração -- como elas não são úteis o compilador as ignora).
T+
Gostei + 0
08/10/2009
Carlosrm
obrigado. Eu tinha estranhado os posts dos colegas que rodaram o mesmo código sem mensagens de Hint ou Warning, e agora, com as suas explicações, entendi com clareza. O Delphi trabalhou perfeitamente em todas as situações. Valeu.
carlosrm
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)