Обработка текстовой информации в графическом режиме
При работе с графикой в ТР используются два вида шрифтов – растровые и векторные, которые различаются форматом. Растровый символ задается с помощью матрицы элементов изображения этого символа. Векторный шрифт задается набором векторов, указывающих графической системе, как рисовать символ.
Если используется векторный шрифт, то при увеличении размера символа качество и разрешение остаются хорошими. В случае растрового шрифта для отображения увеличенных символов битовая матрица умножается на масштабный коэффициент. Если масштабный коэффициент большой, разрешение становится более грубым. Поэтому для вывода мелких надписей надо использовать растровые шрифты, а для более крупных – векторные шрифты.
Каждый векторный шрифт хранится в виде отделного файла с расширением .chr. Вывод текста в графическом режиме выполняется только средствами модуля GRAPH. Для эффектного вывода на экран текста в графическом режиме не надо использовать процедуры write, writeln, clrscr, gotoxy. Для вывода текста в графическом режиме используются следующие процедуры:
- OutText(Text) –выводит на экран строку текста, начиная с текущей позиции;
- OutTextXY(X,Y,Text) - выводит на экран строку текста, начиная с позиции X, Y;
- SetTextStyle(Font,Direction,CharSize) – устанавливает шрифт, направление текста, размер символов;
- SetTextJustify(Horiz,Vert) –выравнивание текста относительно заданной точки;
- TextWidth(Stroka) – возвращает ширину строки текста на экране в пикселах, используя установленный шрифт;
- TextHeight(Stroka) - -'- высоту строки текста;
- DefaultFont – шрифт по умолчанию;
- TriplexFont –
- SmallFont–
- SansSerifFont–
- GothicFont–
Программа вывода текста в графическом режиме на экран:
uses graph;
var
gd,gm: integer;
begin
gd:= detect;
initgraph(gd,gm,'');
setbkcolor(1);
settextstyle(defaultfont,horizdir,3);
settextjustify(centertext,centertext);
setcolor(5);
outtextxy(320,240,'GAME OVER');
end.
Лекция №28. Модули в программировании. Процесс преобразования исходного кода программы в исполнимый код
Программа, написанная на любом языке программирования, перед выполнением должна быть приведена к виду, пригодному для исполнения, т.е. переведена с языка программирования на машинный язык. Машинный язык – это система команд, которую понимает и может выполнить процессор. Другими словами исходный код программы должен быть преобразован в исполнимый код. Прилагательное "исполнимый" представляет собой перевод английского слова executable, отсюда произошло известное расширение всех исполнимых файлов – exe. Для Turbo Pascal исходный код программы, находящийся в файле с расширением pasвсегда может быть преобразован в исполнимый код с расширением exe. Обратная операция невозможна. Среда Turbo Pascal формирует исполнимый код по умолчанию в оперативной памяти и, не записывая его на диск, сразу выполняет. Поэтому, чтобы сохранитьexe-файл на диск, нужно в ИС в меню Compile изменить установку Destination с Memory на Disk. После этого при запуске программы будет сформирован exe-файл в текущем каталоге.
Процесс преобразования исходного кода программы в исполнимый код происходит в два этапа:
- Компиляция;
- Компоновка.
На этапе компиляции исходная программа преобразуется в машинный код, но он еще не пригоден для исполнения, т.к. в него не включены коды стандартных процедур и функций, которые находятся в отдельном файле Turbo.tpl (библиотека Turbo Pascal).Код программы после компиляции называют объектным кодом. Эту процедуру выполняет программа-компилятор – ее основное назначение заключается в проверке программы на наличие синтаксических ошибок.
На этапе компоновки к объектному коду добавляется объектный код стандартных процедур и функций из библиотеки Turbo Pascal, и в результате он превращается в исполнимый код программы. Эту процедуру выполняет программа-компоновщик. Ее назначение – добавить к программе весь недостающий код из других файлов, скомпоновав исполнимый код.
Из всего сказанного вытекает важный вывод – компилятор способен откомпилировать и хранить на диске не только законченные программы, но и отдельные части программ, оформленные особым образом. Затем компоновщик соберет объектные коды из разных файлов и в результате будет получен исполнимый код для всей программы.