и начинается бесконечный цикл While,
end;
Sleep(TrackBar1.Position); // Процедура "засыпает" на заданное время в миллисекундах
Application.ProcessMessages; // Обработка всей очереди сообщений
end;
end;
Коротко расскажу работу этой процедуры.
Как только нажата кнопка "Старт" Компонент PaintBox1 очищается и начинается бесконечный цикл While, выйти из которого можно только, пока переменная Stop не примет значение true. Это можно сделать кнопкой Button2, соответствующая процедура которой обработается во время Application.ProcessMessages. С помощью бегунка TrackBar1 можно менять скорость рисования кривой. Этот параметр передается в команду Sleep.
Процедура нажатия на кнопку остановки Button2:
procedure TForm1.Button2Click(Sender: TObject);
begin
Stop:=true; // установить флаг остановки процесса рисования
end;
Процедура создания окна Form1OnCreate:
procedure TForm1.FormCreate(Sender: TObject);
begin
x:=0; // начальное значение X
end;
Если нажата кнопка "Выход", то реакция на это событие будет таким:
procedure TForm1.Button3Click(Sender: TObject);
begin
Close; // закрыть окно
end;
И реакция перед закрытием окна OnClose. Без этой процедуры, если рисование включено, то окно не закроется.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Stop:=true; // остановить (если включен) цикл рисования
end;
После запуска программы, установки флажка "Все" и нажатии на кнопку "Старт" на экране отобразится этот график:
В принципе, с нашей программой можно отслеживать практически любые функции. Просто надо описать свою отслеживаемую функцию вместо моих строк Y:=Sin...
Если вы хотите убрать постоянную прорисовку графика функции, то следующий код в программе
if x>500 then // если X вышел за пределы PaintBox1, то:
begin
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий