Подскажите, кто знает, почему в графическом режиме если uses Crt,Graph,Dos; то Write('=>'); ничего не выводит (хотя курсор уходит на 2 символа), а если uses Graph,Dos; то рисует. В программе сначала SetBkColr(синий)ж SetColor(белый) тоже не помогает.
Ozzя
26.07.2005 11:26
1. Используй directvideo:=false; после установки граф. режима. Write/WriteLn по умолчанию используют процедуры вывода символов напрямую в видеопамять. В графическом же режиме структура памяти другая. При использовании directvideo:=false используются процедура bios 10h, что позволяет использовать Write/WriteLn в графическом режиме. 2. Рекомендуется все же использовать outtext (outtextxy)
Alexn
26.07.2005 12:34
Спасибо. Мне нужено Write('=>'); потому что после него стоит readln(cmd); Exec(cmd,''); Существуют ли операторы в модуле Graph для ввода символа в произвольной точке, как OutTextXY для вывода?
Ozzя
26.07.2005 13:54
Нет. Процедур ввода символов в модуле Graph нет вообще.
Ozzя
26.07.2005 13:58
Можно написать самому: установка курсора в произвольную точку - 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.
trminator
26.07.2005 18:23
Недавно была тема, называлась примерно "Ввод текста в графическм режиме". Там приводился пример подпрограммы ввода символов.
Alexn
27.07.2005 11:37
Спасибо !
Дож
28.07.2005 15:09
"Turbo Pascal" Фаронова, глава 24. Текстовый ввод/вывод в графическом режиме
Здесь описывается строение векторных шривтов, а так же модуль для реализации write/read в Граф. режиме.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.