program Hello;
begin
drawText('Hello world!', 0, 0);
repaint;
delay(2000);
end.
|
Первой строчкой идет название проекта: program MyProject;
Далее, между begin и end идет сам текст программы.
Процедура drawText выводит текст на экран. В данном случае выводится текст "Hello world!" на экран с координатами (0,0), т.е. в левый верхний угол.
Но на самом деле текст все равно не будет виден на экране. Дело в том, что используется не один, а два "экрана", т.е. так называемая двойная буферизация. Сначала изображается передний буфер, а drawText выводит текст на задний. Поэтому для того, чтобы наша надпись все-таки была видна пользователю и используется следующая команда repaint, которая перерисовывает содержимое заднего буфера на видимый экран.
Тут есть одно "но". Процедура repaint выполняется довольно медленно и должна вызываться как можно реже. Например следующий код будет работать, но относительно медленно:
program MyProject;
begin
drawText('Строка 1', 0, 0);
repaint;
drawText('Строка 2', 0, 10);
repaint;
drawText('Строка 3', 0, 20);
repaint;
delay(2000);
end.
|
Так делать не нужно, поскольку здесь происходит перерисовка экрана целых три раза, что довольно медленно. Правильней было бы сделать так:
program MyProject;
begin
drawText('Строка 1', 0, 0);
drawText('Строка 2', 0, 10);
drawText('Строка 3', 0, 20);
repaint;
delay(2000);
end.
|
Ну и последняя строка - delay(2000) - делает паузу. В параметре (в скобках) указывается число миллисекунд. Если не сделать паузу, то когда программа дойдет до конца, она завершится и пользователь просто не успеет увидеть текст на экране.
|
К содержанию
|
|
![]() |
Скачать новую версию данного учебника в одном архиве
Курс находится в процессе разработки, поэтому архив постоянно обновляется! |