Пример: Hello, World!

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) - делает паузу. В параметре (в скобках) указывается число миллисекунд. Если не сделать паузу, то когда программа дойдет до конца, она завершится и пользователь просто не успеет увидеть текст на экране.





 
К содержанию

 
Скачать новую версию данного учебника в одном архиве

Курс находится в процессе разработки, поэтому архив постоянно обновляется!




 
Hosted by uCoz