Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод прямоугольника [TurboPascal] 
V
    Опции темы
oshilan
Дата 1.6.2011, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 21.3.2010

Репутация: нет
Всего: 0



Есть работающая программа, выводящая зелёный прямоугольник на экран в режиме записи 2. Просьба переделать программу, чтоб она работала в режиме записи 1. Замена двойки на единицу не помогает smile
Код
uses
  crt,dos;
const
  clr=2; {зеленый}
  x1=160;
  y1=120;
  x2=480;
  y2=240; {высота одной горизонтальной линии}
var
  reg:registers;
  i,j,o,q:word;
begin
  clrscr;
  reg.ah:=0;
  reg.al:=$10;
  intr($10,reg);
  for i:=x1 to x2 do {- - - -}
    for j:=y1 to y2 do begin {| | | |}
      port[$3CE]:=$05;
      port[$3CF]:=$02; {режим записи 2}
      o:=j*80+i div 8;
      q:=mem[$A000:o];
      mem[$A000:o]:=clr;
    end;
  readln;
end.


Зараннее спасибо!  ;)
PM MAIL   Вверх
oshilan
Дата 3.6.2011, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 21.3.2010

Репутация: нет
Всего: 0



Код
uses
  dos;
const
  clr=2;
  x1=16;
  y1=16;
  x2=32;
  y2=32;
var
  reg:registers;
  x,y:word;
  ghost:byte;
begin
  reg.al:=$10;
  intr($10,reg);
  port[$3ce]:=5;
  port[$3cf]:=2;
  mem[$a000:0]:=clr; {во 2-м (прямом) режиме рисуем зелёную точку}
  port[$3ce]:=5;
  port[$3cf]:=1; {активируем "любимый" 1-й режим}
  ghost:=mem[$a000:0]; {делаем чтение в никуда из видеопамяти пикселя, которым надо зарисовать прямоугольник (в регистры-защёлки занесли зелёный цвет)}
  for x:=x1 to x2 do
    for y:=y1 to y2 do
      mem[$a000:y*80+x div 8]:=clr; {заполняем память зелёным, хотя цвет не имеет значения, т.к. считывание идёт с регистров-защёлок)}
  port[$3ce]:=5;
  port[$3cf]:=2;
  mem[$a000:0]:=0; {во 2-м (прямом) режиме зарисовунм зелёную точку чёрным}
  readln;
end.


Это сообщение отредактировал(а) oshilan - 3.6.2011, 09:19
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.