Estrutura de Repetição com Variável de Controle "for... to(downto)... do..."
A instrução for... to... do... incrementa em 1 a variável de controle informada, e executa o bloco de comandos até que a variável atinja o valor final desejado, dessa maneira instrução iniciará com a quantidade de loop já definido. O subcomando downto... realiza o decremento da variável de controle.
Sintaxe:
for variável := valor inicial to (downto) {valor final} do
{bloco de comandos}
begin
{ ... comandos iniciais ... }
for numero := 1 to 10 do
{ ... bloco de comandos ... }
for numero := 10 downto 1 do
{ ... bloco de comandos ... }
{ ... comandos finais ... }
end;
Utilizando o projeto anterior, altere apenas o código existente no evento OnClick do componente BtnContar:
01 |
procedure TForm1.BtnContarClick(Sender: TObject); |
02 |
var |
03 |
X: Integer; |
04 |
begin |
05 |
ShowMessage('Comando "for..." com o subcomando "to..."'); |
06 |
for x := 0 to 10 do |
07 |
begin |
08 |
ShowMessage('O valor atual de x é ' + IntToStr(x)); |
09 |
end; |
10 |
MessageDlg('Valor final de x com o "for...to..." é ' + |
11 |
IntToStr(x), mtInformation, [mbOk], 0); |
12 |
|
13 |
ShowMessage('Comando "for..." com o subcomando "downto..."'); |
14 |
for x := 10 downto 0 do |
15 |
begin |
16 |
ShowMessage('O valor atual de x é ' + IntToStr(x)); |
17 |
end; |
18 |
MessageDlg('Valor final de x com o "for...downto..." é ' + |
19 |
IntToStr(x), mtInformation, [mbOk], 0); |
20 |
end; |
Na primeira parte desse exemplo (linhas 05 à 11) é mostrado a funcionalidade da instrução for com o subcomando to, a ultima execução da linha 08 mostra a mensagem "O valor atual de x é 10", em seguida mostra a mensagem "Valor final de x com o 'for...to...' é 11", dessa maneira notamos o incremento é feito no final da instrução. A segunda parte desse exemplo (linhas 13 à 19) é semelhante a anterior, o que a difere nesse caso é a contagem inversa, a ultima execução da linha 16 mostrará o valor para x igual a 0 e a linha 18 mostra –1 com o valor final de x.