Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda No Loop


acdestefani

Pergunta

Olá!!!

Através de materias encontrados na internet, estou tentando aprender um pouco de Delphi. Pra começar estou criando um contador que tá me dando uma surra, mas pra vocês deve ser moleza.

Ele funciona da seguinte forma:

Você digita um número inicial e um número final, o sistema pega o número inicial e vai adicionado 1 até atingir o valor do número final.

O que criei tá mostrando só o último número e eu gostaria de mostrar todos. Acho que o problema está no meu loop.

Segue o código abaixo pra você entenderem melho.

procedure TForm1.ButgeretiqClick(Sender: TObject);

var

numini, numfin, digver, numetiq, contador:integer;

begin

numini:=strtoint(Ednumini.Text);

numfin:=strtoint(Ednumfin.Text);

digver:=strtoint(Eddigver.Text);

For numetiq:=numini To numfin Do

Labgeretiq.caption:=inttostr(numetiq);

end;

end.

Desde já agradeça ajuda de todos.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

se for o que entendi é só fazer assim

procedure TForm1.ButgeretiqClick(Sender: TObject);
var
numini, numfin, digver, numetiq, contador:integer;
begin
numini:=strtoint(Ednumini.Text);
numfin:=strtoint(Ednumfin.Text);
digver:=strtoint(Eddigver.Text);

Labgeretiq.caption:='';
For numetiq:=numini To numfin Do
Labgeretiq.caption:=Labgeretiq.caption + inttostr(numetiq);

end;

Link para o comentário
Compartilhar em outros sites

  • 0

amigo o seu loop está correto, o que acontece é que o processamento

do computador é tão rápido que você nem chega a ver ele correr

então para vê-lo você teria de por um delay

pra você ter uma idéia o computador faz essa contagem de 0 até 50.000 em uns 3 segundos e olhe lá dependendo da velocidade do CPU

pra você conseguir ver coloque um sleep exemplo

procedure TForm1.ButgeretiqClick(Sender: TObject);

var

numini, numfin, digver, numetiq, contador:integer;

begin

numini:=strtoint(Ednumini.Text);

numfin:=strtoint(Ednumfin.Text);

digver:=strtoint(Eddigver.Text);

For numetiq:=numini To numfin Do

begin

Labgeretiq.caption:=inttostr(numetiq);

sleep(500);

end;

ae pra cada número corrido o programa vai esperar meio segundo...

tem outras formas mas a minha idéia era somente te explicar

abraços

end;

Link para o comentário
Compartilhar em outros sites

  • 0

bom amigo ai já envolve várias coisas exemplo

Impressora utilizada pra impressão?

Será impressão direta ou seja sem muito design, coisa só de linhas, preto e branco ou seria algo com logo e tudo mais?

não é muito difícil mas também não muito fácil e vai dar trabalho

Link para o comentário
Compartilhar em outros sites

  • 0

e laia, é só você processar as mensagems do programa

procedure TForm1.ButgeretiqClick(Sender: TObject);
var
  numini, numfin, digver, numetiq, contador:integer;
begin
  numini:=strtoint(Ednumini.Text);
  numfin:=strtoint(Ednumfin.Text);
  digver:=strtoint(Eddigver.Text);

  for numetiq:=numini To numfin Do
    begin
      Labgeretiq.caption:=inttostr(numetiq);
      Application.ProcessMessages;
      Sleep(100); // nem precisa mas, é porque o processador conta muito rapido
    end;
end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...