Если Mode = fmlnput, функция должна прочитать не более BufSize символов в буфер BufPtr и возвратить число фактически прочитанных символов в поле BufEnd. Кроме того, в поле BufPos функция должна поместить 0. Если функция возвращает 0 в поле BufEnd, Турбо Паскаль рассматривает это как признак конца файла.
Если Mode = fmOutput, функция InOut должна вывести на устройство BufPos символов из буфера BufPtr и поместить 0 в поле BufPos.
FlushFunc
Функция FlushFunc вызывается в конце работы процедур Read, ReadLn, Write, WriteLn. Если Mode = fmlnput, функция должна поместить в поля BufPos и BufEnd значения 0. Если Mode = fmOutput, функция может «вытолкнуть» буфер, т.е. записать остаток буфера в файл. Если Flush ничего не делает, текст будет передаваться на устройство до тех пор, пока не заполнится буфер или пока не закроется файл.
CloseFunc
Функция CloseFunc вызывается стандартной функцией Close для физического завершения работы с файлом.
1.3.3. Подпрограммы модуля F_GrText
Все подпрограммы модуля F_GrText можно разделить на три части:
подпрограммы, имитирующие стандартные средства модуля CRT для графического режима (процедуры CIrScr, GotoXY, TextBackground, TextCoIor, Window, функции WhereX, WhereY), средства вывода текстовых сообщений векторными шрифтами под любым утлом к координатным осям экрана и с любыми пропорциями (процедура OutString и функция RegisterCHRFile) и вспомогательные подпрограммы. Чтобы подпрограммы модуля F_GrText не были перекрыты одноименными подпрограммами модуля CRT, необходимо объявлять модуль F_GrText в предложении Uses после модуля CRT.
Процедура CIrScr. Очищает текстовое окно или экран, т.е. "заполняет его цветом текстового фона. Заголовок:
Procedure CIrScr;
После выполнения процедуры курсор помещается в левый верхний угол окна.
Процедура Colors. Устанавливает атрибуты текстового вывода. Заголовок:
Procedure Colors(Text,Back: Byte);
Функция GetMaxChar. Возвращает максимальное количество символов в строке экрана. Заголовок:
Function GetMaxChar: Byte;