Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Функция Readln

Автор: Rus1 2.10.2006 1:36

Ситуация такая. Экран в графическом режиме. Функция readln. При вводе числа, оно (число) пишется на экране. Как сделать так, чтобы оно не писалось или писалось, но так чтобы его не было видно (т.е. за пределом экрана)?
Помогите кто знает, очень надо.

P.S. Функция readkey не подходит.

Автор: volvo 2.10.2006 2:33

{ Перед инициализацией графики }
textbackground(black);
textcolor(black);

{ ... здесь InitGraph и работа в граф режиме + ReadLn }

{ После закрытия графики - восстанови цвета: }
textcolor(lightgray);


НО... Есть еще кое-что: ReadLn будет затирать изображение под ним (и от этого никуда не денешься), так что желательно, чтобы в момент работы ReadLn на экране было как можно меньше графики... smile.gif

Автор: Rus1 28.10.2006 19:01

Еще один вопрос. Как сделать, чтобы следующий ввод печатался на том же месте, где предыдущий, а не переносился на новую строку? Писал read - все равно переносит.

Автор: volvo 28.10.2006 19:04

В текстовом режиме можно сделать так:

readln(X);
gotoxy(1, wherey - 1);
насчет графики - не знаю, пройдет ли такое (readln, кстати, не особо и предназначена для работы в графическом режиме)...

Автор: Ozzя 1.11.2006 11:33

Пройдет, если после инициализации графики установить directvideo:=false;
но работать будет только на стандартных граф. режимах. Режимы Х и многие СВГА не будут.