O que há de errado com esse código?

Delphi

29/02/2008

procedure TForm3.Button1Click(Sender: TObject);
var
v1,v2,v3:integer;
begin
v1:=strtoint(edit1.text);
v2:=strtoint(edit2.text);
v3:=strtoint(edit3.text);
if radiogroup1.itemindex = 0 then
begin
if (v1>v2) and (v2>v3) then
begin
memo1.lines.add(inttostr(v1));
memo1.lines.add(inttostr(v2));
memo1.lines.add(inttostr(v3));
end;
end;
if radiogroup1.ItemIndex = 1 then
begin
if (v1>v2) and (v2>v3) then
begin
memo1.Lines.Add(inttostr(v3));
memo1.lines.add(inttostr(v2));
memo1.lines.add(inttostr(v1));
end;
end;
if radiogroup1.ItemIndex = 2 then
begin
if (v1>v2) and (v2>v3) then
begin
memo1.lines.add(inttostr(v1));
end;
end;

end;

end.


Danilo_ovão

Danilo_ovão

Curtidas 0

Respostas

Edilcimar

Edilcimar

29/02/2008

Isto pode até não estar fazendo o que você quer, mas se (v1>v2) and (v2>v3) ele vai fazer algo


GOSTEI 0
Jpauloss

Jpauloss

29/02/2008

[quote:b5163dc6a6=´Danilo_ovão´]procedure TForm3.Button1Click(Sender: TObject);
var
v1,v2,v3:integer;
begin
v1:=strtoint(edit1.text);
v2:=strtoint(edit2.text);
v3:=strtoint(edit3.text);
if radiogroup1.itemindex = 0 then
begin
if (v1>v2) and (v2>v3) then
begin
memo1.lines.add(inttostr(v1));
memo1.lines.add(inttostr(v2));
memo1.lines.add(inttostr(v3));
end;
end;
if radiogroup1.ItemIndex = 1 then
begin
if (v1>v2) and (v2>v3) then
begin
memo1.Lines.Add(inttostr(v3));
memo1.lines.add(inttostr(v2));
memo1.lines.add(inttostr(v1));
end;
end;
if radiogroup1.ItemIndex = 2 then
begin
if (v1>v2) and (v2>v3) then
begin
memo1.lines.add(inttostr(v1));
end;
end;

end;

end.[/quote:b5163dc6a6]
Aparentemente nenhum, da algum erro?


GOSTEI 0
Facc

Facc

29/02/2008

Amigo se vc falar qual é o erro fica mais facil


GOSTEI 0
Onjahyr

Onjahyr

29/02/2008

O código está certo, apesar de poder melhorar e diminuir com um [b:a989ef2b95]case[/b:a989ef2b95], agora quem vai usar pode vir a dar eros, como por exemplo o que for digitado nos TEdits...


GOSTEI 0
Danilo_ovão

Danilo_ovão

29/02/2008

Desculpa por não ter dito qual o erro, eu consigo rodar o programa, mas quando eu digito os valores nos Edit´s e aperto no botão ´CALCULAR´ os cálculos não estão sendo efetuados.


GOSTEI 0
Edilcimar

Edilcimar

29/02/2008

coloque o código completo do clique do botão, afinal de contas ninguém sabe qual o banco, qual o tipo de conecção, etc


GOSTEI 0
Onjahyr

Onjahyr

29/02/2008

Então os valores que você está colocando nos TEdits não fazem a combinação exigida no seu código, ou seja:

- Nos TEdits tem que haver números (nada de letras nem frações);
- Nada de pontos ou vírgulas;
- Se o RadioGroup1 estiver checado:

> Edit1 tem que ter um número maior que o Edit2, e o Edit2 também deve ser maior que Edit3....

E quanto ao cálculo, você não está fazendo nenhum no código. Apénas está pedindo para acrescentar o conteúdo das variáveis no TMemo.
Para somar você tem que fazer assim:

[b:1fe3c23c6e]memo1.lines.add(inttostr(v1+v2+v3));[/b:1fe3c23c6e]


GOSTEI 0
Danilo_ovão

Danilo_ovão

29/02/2008

Vejam só, na verdade o objetivo do programa não é somar nada. É ordenar os valores e no último caso colocar o maior entre os três.


GOSTEI 0
Onjahyr

Onjahyr

29/02/2008

vc disse que o botão era ´CALCULAR´o que vou pensar?!

para deixar o maior número neste componente, ele tem uma opção no object inspector para isso...


GOSTEI 0
Onjahyr

Onjahyr

29/02/2008

vc disse que o botão era ´CALCULAR´o que vou pensar?! para deixar o maior número neste componente, ele tem uma opção no object inspector para isso...


Opa! Desculpe, vc está usando TMemo... Use ListBox que tem esta opção no ObjectInspector...


GOSTEI 0
Danilo_ovão

Danilo_ovão

29/02/2008

Não estou entendendo o que vocês querem que eu faça. Eu só quero saber porque não está ordenando os valores.


GOSTEI 0
Marco Salles

Marco Salles

29/02/2008

Não estou entendendo o que vocês querem que eu faça.


Faça um codigo Correto para a função ....O seu codigo esta muito esquisito


GOSTEI 0
POSTAR