Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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!

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)

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');

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

×

Informação importante

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