Socorro com if then else
Pessoal, fiz o código abaixo tanto do delphi 6 quanto no 2007 e não consegui encontrar o erro. Para testarem, coloquem o código no onClick de um botão ao executar vocês verão que está tudo ok, mas ao tentar debugar o código, o delphi não faz o debug na sequencia correta. Alguém sabe como resolver isso?
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
Curtidas 0
Respostas
Rafa.spimenta
07/10/2009
aqui debugou normal.
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
P.rodrigo
07/10/2009
Obrigado pela reposta....mesmo assim continuo tento problemas, coloquei uma
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!
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!
aqui debugou normal.
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
Facc
07/10/2009
não sei se resolve, mas tente excluir as DCUs do seu projeto e recompilar
GOSTEI 0
Edsant
07/10/2009
Caro amigo,
Seu Delphi deve estar com algum problema...aqui tb debugou normalmente...
Em último caso, instala o delphi novamente...fazer o que....
Um abraço...
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
Osocram
07/10/2009
Amigo pelo que vi no .gif esta correto.
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.
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
Osocram
07/10/2009
Perdão amigo...
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.
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
Carlosrm
07/10/2009
p.rodrigo,
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
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
Afarias
07/10/2009
Como o Carlosrm bem colocou HINTs e WARNINGs não são erros e não impedem a compilação do projeto, apenas apontam ou chamam a atenção de pontos q podem ser problemáticos (ou não) ou melhorados.
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+
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
Carlosrm
07/10/2009
afarias,
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
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