For com Edit

19/03/2013

0

Estou com a seguinte dúvida.

Pretendo criar a seguinte situação:


Gostaria de informar 5 valores e o sistema me apresentar a soma por exemplo, mas gostaria de usar o For to do, pois não gostaria de ter que colocar 5 edit no formulário.

Seria possível fazer isso?
David Sobral

David Sobral

Responder

Posts

19/03/2013

Douglas

David,

no meu ponto de vista teria que colocar

os edits mesmo, pois você terá que informar os valores

para soma.
Responder

19/03/2013

Joel Rodrigues

Cara, eu fiz um dia um exercício no curso técnico que era +- isso.
Se você não quer colocar os cinco edits (o que acho simples, se forem só 5), vejo duas possibilidades simples:
1) Faz um for e em cada iteração você abre um inputbox pra receber o valor (e vai somando);
2) Faz um for e cria dinamicamente os edits;
Boa sorte.
Responder

20/03/2013

Douglas

Joel,

já vi a criação de edits automáticos

achei um pouco complicado !
Responder

21/03/2013

Joel Rodrigues

Rapaz, pode ser... ainda mais dependendo do objetivo. Por que pra 5 edits apenas, eu acho que não vale a pena.
Responder

21/03/2013

David Sobral

Eu achei interessante usar o inputbox, porém se fosse possível a cada valor que eu informar ir guardando dentro do laço e no final apresentar o resultado. ai ficaria show.
Responder

21/03/2013

Danillo Camargo

Eu achei interessante usar o inputbox, porém se fosse possível a cada valor que eu informar ir guardando dentro do laço e no final apresentar o resultado. ai ficaria show.


Boa tarde David. Tudo bem?

Segue sugestão:

procedure TForm1.Button1Click(Sender: TObject);
var
  astValor: array [0 .. 4] of string;
  intContador: Integer;
  intSoma: Integer;
begin
  if InputQuery('Somar valores', ['Valor 1', 'Valor 2', 'Valor 3', 'Valor 4', 'Valor 5'], astValor) then
  begin
    intSoma := 0;
    for intContador := 0 to 4 do
      if not(astValor[intContador] = EmptyStr) then
        intSoma := intSoma + StrToInt(astValor[intContador]);
    ShowMessage('Total: ' + IntToStr(intSoma));
  end;
end;


Espero ter ajudado,
Qualquer dúvida estou à disposição,
Atenciosamente,
Responder

21/03/2013

David Sobral

Danillo era isso que estava precisando, tenho uma pergunta. foi gerado 5 edits, porém teria como eu criar um button e quando for clicado apareça um edit e quando eu digitar o valor e clicar em ok, este edit armazenaria o valor e deixasse eu digitar ou outro valor até que o lopping fosse completado.
Pois estou pensando se tivesse 100 números ou mais por exemplo.


Atenciosamente,
David
Responder

22/03/2013

Danillo Camargo

Danillo era isso que estava precisando, tenho uma pergunta. foi gerado 5 edits, porém teria como eu criar um button e quando for clicado apareça um edit e quando eu digitar o valor e clicar em ok, este edit armazenaria o valor e deixasse eu digitar ou outro valor até que o lopping fosse completado.
Pois estou pensando se tivesse 100 números ou mais por exemplo.


Atenciosamente,
David


Bom dia David. Tudo bem?

Rapaz, não conheço nenhuma rotina do delphi para esse caso. Acho que você teria que criar uma rotina semelhante acrescentando o botão.

Sugestão: criar rotina semelhante ao "InputQuery" e, ao invés de criar vários edits, criar um edit, um botão e uma label. Quando digitar no edit e clicar no botão, ele executa a soma e exibe no label. Assim a quantidade de números fica ilimitada.

Qualquer dúvida estou à disposição,
Atenciosamente,
Responder

22/03/2013

Joel Rodrigues

Opa, David. Seria isso que você precisa?
var
  total, i: Integer;
  temp : String;
const
  quantidade = 5;
begin
  total := 0;
  for i := 1 to quantidade do
  begin
    if InputQuery('Digite o valor', '', temp) then
    begin
      total := total + StrToInt(temp);
    end;
  end;
  ShowMessage('Total: ' + IntToStr(total));
end;

Criei uma constante "quantidade" que você pode definir como 5, 10, 100, etc, dependendo da quantidade de valores que você precisa somar.
Então serão mostrados vários inputboxes e o total será incrementado a cada repetição do laço. Ao fim, exibimos o total.
Veja se é isso.
Boa sorte.
Responder

22/03/2013

David Sobral

Bom Dia!!

Joel

Era exatamente isso que estava precisando.
Valeu mesmo pela ajuda.


Um forte abraço,

David
Responder

25/03/2013

Douglas

Joel,

confesso-te, que não sabia fazer com InputQuery.

muito boa resposta.

Responder

25/03/2013

Joel Rodrigues

Opa, show de bola. Que bom que foi resolvido.
Agradeço também a participação dos colegas.
Um abraço a todos.
Neste caso, vou marcar este tópico como Concluído.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar