Function WhereY: Byte
Возвращает текущую ординату курсора (начало отсчета 1,1).
Procedure WriteBuf(Buf: PChar; Count: Word) Выводит в окно Count символов из буфера Buf.
Procedure WriteChar(Ch: Char)
Выводит в текущую позицию окна символ Ch.
10.2.3. Модификация WinCrt для использования графики Windows
Хотя стандартный модуль WinCRT и создает нормальное Windows — окно, воспользоваться дескриптором этого окна и, следовательно, получить с его помощью доступ к графическим возможностям Windows невозможно, т.к. этот параметр «спрятан» в раздел Implementation. Поскольку в поставку ВР входит исходный текст модуля, можно модифицировать этот текст — перенести параметр CrtWindow, хранящий дескриптор окна, в раздел Interface. Следует учесть, что простая перекомпиляция измененного текста модуля не даст желаемого результата, т.к. его rPW—файл1 включен в основную библиотеку System и загружается из нее автоматически при ссылке на модуль WinCRT. Наиболее простым выходом из положения является переименование модуля и ссылка на его измененное имя в основной программе. Например:
Unit Win_Crt;
{$S-} interface uses WinTypes, WinProcs, WinDos;
const
CrtWindow: HWnd 3S 0; {Дескриптор окна}
implementation
• • • • •
end.
Следующая программа создает окно, показанное на рис. 10.1. В этой программе график функции у = sin(x) (см. программу WinCRT_Demo в п. 10.2) строится с использованием графических средств Windows.
Uses Win_CRT, WinProcs, WinTypes, Strings;
var
k:.Integer; {Параметр цикла}
DC: hDC;
R: TRect;
01dFont,Font: hFont;
LogFont: TLogFont;
const
1 В файлах с таким расширением хранятся результаты компиляции модулей, расчитанных на работу под управлением Windows.