Перейти к содержанию

Delphi/Цикл

Материал из Викиучебника — открытых книг для открытого мира

Цикл — это много повторяющийся участок кода программы. Циклы бывают разные.

Цикл «Делай пока верно условие»

[править]

Общий вид цикла этого типа:

while условие do
begin
//тело цикла.
end;

Программа «вертится» по кругу. Но бесконечно цикл идти не может, если условие будет неверное, цикл остановится. Давайте напишем программу с циклом.

procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
a:=1;
while a<100 do
begin
a:=a+1;
Label1.Caption:=IntToStr(a);
end;
end;

Почему Label показывает нам сразу сотню? Дело в том, что цикл идет на столько быстро, что наш глаз не успевает заметить как меняются числа: 1..10..20… Чтобы увидеть как меняются числа нужно приписать следующие команды:

Application.ProcessMessages;

и

sleep(<число миллисекунд>);

Первая позволяет выводить значения переменных во время цикла. Вторая приказывает программе «поспать» на какое-то количество миллисекунд. Код программы с новыми командами:

procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
a:=1;
while a<100 do
begin
a:=a+1;
Label1.Caption:=IntToStr(a);
Application.ProcessMessages;
sleep(100);
end;
end;

Цикл с счётчиком

[править]