For com Edit
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?
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
Curtidas 0
Respostas
Douglas
19/03/2013
David,
no meu ponto de vista teria que colocar
os edits mesmo, pois você terá que informar os valores
para soma.
no meu ponto de vista teria que colocar
os edits mesmo, pois você terá que informar os valores
para soma.
GOSTEI 0
Joel Rodrigues
19/03/2013
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.
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.
GOSTEI 0
Douglas
19/03/2013
Joel,
já vi a criação de edits automáticos
achei um pouco complicado !
já vi a criação de edits automáticos
achei um pouco complicado !
GOSTEI 0
Joel Rodrigues
19/03/2013
Rapaz, pode ser... ainda mais dependendo do objetivo. Por que pra 5 edits apenas, eu acho que não vale a pena.
GOSTEI 0
David Sobral
19/03/2013
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.
GOSTEI 0
Danillo Camargo
19/03/2013
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,
GOSTEI 0
David Sobral
19/03/2013
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
Pois estou pensando se tivesse 100 números ou mais por exemplo.
Atenciosamente,
David
GOSTEI 0
Danillo Camargo
19/03/2013
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
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,
GOSTEI 0
Joel Rodrigues
19/03/2013
Opa, David. Seria isso que você precisa?
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.
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.
GOSTEI 0
David Sobral
19/03/2013
Bom Dia!!
Joel
Era exatamente isso que estava precisando.
Valeu mesmo pela ajuda.
Um forte abraço,
David
Joel
Era exatamente isso que estava precisando.
Valeu mesmo pela ajuda.
Um forte abraço,
David
GOSTEI 0
Douglas
19/03/2013
Joel,
confesso-te, que não sabia fazer com InputQuery.
muito boa resposta.
confesso-te, que não sabia fazer com InputQuery.
muito boa resposta.
GOSTEI 0
Joel Rodrigues
19/03/2013
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.
Agradeço também a participação dos colegas.
Um abraço a todos.
Neste caso, vou marcar este tópico como Concluído.
GOSTEI 0