Delphi/Цикл: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 3:
== Цикл «Делай пока верно условие» ==
Общий вид цикла этого типа:
<sourcesyntaxhighlight lang="delphi">
while условие do
begin
//тело цикла.
end;
</syntaxhighlight>
</source>
Программа «вертится» по кругу. Но бесконечно цикл идти не может, если условие будет неверное, цикл остановится. Давайте напишем программу с циклом.
<sourcesyntaxhighlight lang="delphi">
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
Строка 21:
end;
end;
</syntaxhighlight>
</source>
Почему Label показывает нам сразу сотню? Дело в том, что цикл идет на столько быстро, что наш глаз не успевает заметить как меняются числа: 1..10..20…
Чтобы увидеть как меняются числа нужно приписать следующие команды:
<sourcesyntaxhighlight lang="delphi">
Application.ProcessMessages;
</syntaxhighlight>
</source>
и
<sourcesyntaxhighlight lang="delphi">
sleep(<число миллисекунд>);
</syntaxhighlight>
</source>
Первая позволяет выводить значения переменных во время цикла. Вторая приказывает программе «поспать» на какое-то количество миллисекунд.
Код программы с новыми командами:
<sourcesyntaxhighlight lang="delphi">
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
Строка 46:
end;
end;
</syntaxhighlight>
</source>
 
== Цикл с счётчиком ==