Ir para conteúdo
claudio_luiz98

Prog errada?

Recommended Posts

estou fazendo esse 'programinha' :

 

dist:=strtofloat(edit1.text);
edit2.text:=floattostr(tarifa);
if(combobox1.text='programada') and (dist>2) then
tarifa:=12
else
Showmessage('errado');
só que, ao invés do delphi imprimir '12' no edit2, ele imprime um numero totalmente diferente...(tipo:4391352)
obs: essa prog está dentro de um combobox, e eu quero que imprima 12 no edit2 se o combobox for igual a 'programada' e o edit1 for maior que 4.
alguém pode ajudar?? (sei q isso é bem básico, porem estou começando ;) )
valeu!
Editado por claudio_luiz98

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem a sua lógica... Tarifa apenas tem o valor 12 atribuído depois.

Isso é um click de um botão? Como estão declaradas as variáveis?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem a sua lógica... Tarifa apenas tem o valor 12 atribuído depois.

Isso é um click de um botão? Como estão declaradas as variáveis?

ah sim! desculpe... essa prog está dentro de um combobox, e eu quero que imprima 12(no change do combobox) no edit2 se o combobox for igual a 'programada' e o edit1 for maior que 4.

 

(var dist:real)

Editado por claudio_luiz98

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes... veja o código que postou com um pouco mais de atenção... nele você está dizendo ao programa para:

 

a) Converter o valor digitado no edit1 e por na variável dist.

B) Inserir no texto do edit2 o valor da variável tarifa (que não foi inicializada e pode ser qualquer coisa)

c) Fazer o teste desejado e atribuir a variável tarifa o valor 12 se true ou a mensagem de erro se falso.

d) Fim do programa

 

Note que você inseriu o valor sem testar no edit2 e sem inicializar, por isso o erro. Tente assim:

dist:=strtofloat(edit1.text);
if    (combobox1.text='programada') and (dist>4) then
    edit2.text:= '12'
else
    Showmessage('errado');
Editado por Chrnos
  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Vamos por partes... veja o código que postou com um pouco mais de atenção... nele você está dizendo ao programa para:

 

a) Converter o valor digitado no edit1 e por na variável dist.

B) Inserir no texto do edit2 o valor da variável tarifa (que não foi inicializada e pode ser qualquer coisa)

c) Fazer o teste desejado e atribuir a variável tarifa o valor 12 se true ou a mensagem de erro se falso.

d) Fim do programa

 

Note que você inseriu o valor sem testar no edit2 e sem inicializar, por isso o erro. Tente assim:

dist:=strtofloat(edit1.text);
if    (combobox1.text='programada') and (dist>4) then
    edit2.text:= '12'
else
    Showmessage('errado');

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.