Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 15:27   #1
hasana
Пользователь
 
Регистрация: 09.05.2010
Сообщений: 43
По умолчанию текст в графическом режиме...

подскажите почему при следующем не отображается текст
Код:
uses crt,graph;
var device,mode:integer;
x1,x2:integer;
begin
device:=detect;
initgraph(device,mode,'');
writeln(' текст текст текст');
line(0,400,640,400);
circle(60,390,10);
line(40,400,70,370);
line(200,400,290,310);
line(370,400,290,310);
randomize;
x1:=(390+random(221));
x2:=x1+40;
rectangle(x1,400,x2,385);

readln;
closegraph
end.
hasana вне форума Ответить с цитированием
Старый 18.05.2010, 15:38   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

потому что в графическом режиме текст выводится так:
Код:
outtextxy(x,y,' текст');
где х и у координаты куда будет написан текст(т.е. координаты начала текста)
_-Re@l-_ вне форума Ответить с цитированием
Старый 18.05.2010, 15:41   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
потому что в графическом режиме текст выводится так:
Не совсем. Вернее все верно, эт для графики как раз, но есть еще один финт.
Чтобы Write и Writeln сработали в графике нужно выставить переменную
DirectVideo:=FALSE;
Тогда и Write будут работать в графике как будто в обычном режиме.
В хелпе она описана хорошо.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2010, 15:43   #4
hasana
Пользователь
 
Регистрация: 09.05.2010
Сообщений: 43
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
потому что в графическом режиме текст выводится так:
Код:
outtextxy(x,y,' текст');
где х и у координаты куда будет написан текст(т.е. координаты начала текста)
как тогда можно объяснить, что эта программа выводит текст

Код:
uses graph;
var device,mode:integer;
begin
device:=detect;
initgraph(device,mode,'');
writeln('tekst,tekst,tekst');
readln;
closegraph
end.
hasana вне форума Ответить с цитированием
Старый 18.05.2010, 15:49   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

не знаю. Я обычно так выводил текст:
Код:
uses crt,graph;
var gd,gm:integer;
begin
       gd:=detect;
       initgraph(gd,gm,'');
       outtextxy(x,y,'текст');
       readln;
       closegraph;
end.
_-Re@l-_ вне форума Ответить с цитированием
Старый 18.05.2010, 15:52   #6
hasana
Пользователь
 
Регистрация: 09.05.2010
Сообщений: 43
По умолчанию

я понял... текст не вводится при использовании модуля crt, всё равно спасибо
hasana вне форума Ответить с цитированием
Старый 18.05.2010, 15:54   #7
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Вполне может быть. Я просто всегда использовал crt (как-то привык к нему, и уже по привычке в uses писал crt)
_-Re@l-_ вне форума Ответить с цитированием
Старый 18.05.2010, 15:58   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как тогда можно объяснить, что эта программа выводит текст
В этой:
Цитата:
uses graph;
в твоей:
Цитата:
uses crt,graph;
Убери CRT - она как раз вызывает ту переменную о которой я говорил, переводя режим для Write в "доступ к видеопамяти", тогда как дря графического режима нужно отключить этот режим.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
«Работа в графическом режиме» Антонова Евгения Паскаль, Turbo Pascal, PascalABC.NET 3 27.04.2010 10:33
Работа в графическом режиме adgam Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 23.04.2010 17:56
как вывести текст на экран в графическом режиме. alex(21) Паскаль, Turbo Pascal, PascalABC.NET 3 24.07.2009 15:56
Вылетает паскаль в графическом режиме ai\ekcah^p Помощь студентам 20 05.05.2009 17:02