Странное поведение функции Sleep(), используемой в повторе до тех пор, пока в Delphi

У меня есть функция, которая является реакцией на нажатие кнопки. Когда я нажимаю на кнопку, она должна начать повторяться и записывать значения из массива и отображать их в метках в основной форме. Проблема с функцией сна - есть какая-то ошибка или что-то в этом роде, потому что, когда я нажимаю на кнопку, она ждет довольно долго, а затем, наконец, начинает действие, но очень быстро. Давайте посмотрим на мой код. Спасибо за советы.

procedure TForm1.ButtonMereniClick(Sender: TObject);
var
  iterator: Integer;
begin      
  iterator := 1;
  repeat       
    //write some values stored int arrays to labels on form
    LabelTeplota.Caption:='Teplota: '+FloatToStr(poleTeplota[iterator]);
    LabelVlhkost.Caption:='Vlhkost: '+FloatToStr(poleVlhkost[iterator]);
    LabelTlak.Caption:='Atmosférický tlak: '+FloatToStr(poleTlak[iterator]);
    LabelRychlost.Caption:='Rychlost větru: '+FloatToStr(poleRychlost[iterator]);
    LabelRychlost.Caption:='Rychlost větru: '+FloatToStr(poleRychlost[iterator]);
    LabelIterator.Caption:='iterator: '+IntToStr(iterator);
    Sleep(500);//should be 5000 
    Inc(iterator);
  until iterator = 20;
end;
5
задан TLama 11 March 2012 в 22:11
поделиться