IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Crt модуль, Графический режим
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Подскажите, кто знает, почему в графическом режиме если
uses Crt,Graph,Dos;
то Write('=>'); ничего не выводит (хотя курсор уходит на 2 символа), а если
uses Graph,Dos; то рисует.
В программе сначала SetBkColr(синий)ж
SetColor(белый) тоже не помогает.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


1. Используй directvideo:=false; после установки граф. режима. Write/WriteLn по умолчанию используют процедуры вывода символов напрямую в видеопамять. В графическом же режиме структура памяти другая. При использовании directvideo:=false используются процедура bios 10h, что позволяет использовать Write/WriteLn в графическом режиме.
2. Рекомендуется все же использовать outtext (outtextxy)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Спасибо.
Мне нужено Write('=>'); потому что после него стоит readln(cmd); Exec(cmd,'');
Существуют ли операторы в модуле Graph для ввода символа в произвольной точке, как OutTextXY для вывода?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Нет. Процедур ввода символов в модуле Graph нет вообще.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Можно написать самому:
установка курсора в произвольную точку - moveto
обработка нажатий клавиш - readkey
вывод "эха" на экран outtextxy

Uses Graph;
Var
grDriver : Integer;
grMode : Integer;
ErrCode : Integer;
s : String;
sx,sy : Integer;
Begin
grDriver:=Detect;
InitGraph(grDriver, grMode, 'c:bpbgi');
ErrCode:=GraphResult;
If ErrCode = grOk Then
Begin
{ Графика }
s:='Enter something here:';
{ Запомнили текущее CP }
sx:=GetX;
sy:=GetY;
OutText(s);
{ Подсчитали новое значение CP }
sx:=sx+TextWidth(s);
sy:=sy+TextHeight(s);
{ Переместили CP }
MoveTo(sx,sy);
{ Проверка перемещения указателя }
PutPixel(sx,sy,Red);
ReadLn;
CloseGraph;
End
Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode));
End.


Сообщение отредактировано: Ozzя -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


Недавно была тема, называлась примерно "Ввод текста в графическм режиме". Там приводился пример подпрограммы ввода символов.


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Спасибо lol.gif !
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


"Turbo Pascal" Фаронова,
глава 24. Текстовый ввод/вывод в графическом режиме

Здесь описывается строение векторных шривтов, а так же модуль для реализации write/read в Граф. режиме.

Сообщение отредактировано: Дож -


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 20:07
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name