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.