Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru

RusFAQ.ru: Программирование на языке Pascal

Выпуск № 357
от 10.12.2004, 17:10

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 568
Отправлено ответов: 2157
Активность: 379.7 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

sir henry
Статус: Профессиональный
Общий рейтинг: 164
[Подробней >>]
DSota
Статус: Опытный
Общий рейтинг: 124.92
[Подробней >>]
ALex_zaw
Статус: Начальный
Общий рейтинг: 154.54
[Подробней >>]
 
Boriss
Статус: Профессиональный
Общий рейтинг: 155.68
URL: Программирование на Паскале
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 567. Здраствуйте. В граф-режиме по умолчанию (640x480x16) нужно вывести черную линию (0) на синем (красно... (ответов: 3)
Вопрос № 568. Здраствуйте. Как в граф-режиме (320x240x256) средствами Паскаля осуществить (очень) быстрый вывод бо... (ответов: 4)

Вопросов: 2, ответов: 7


 Вопрос № 567

Здраствуйте. В граф-режиме по умолчанию (640x480x16) нужно вывести черную линию (0) на синем (красном, зеленом...) фоне. Но выходит так, что при изменении и цвета линии и цвета фона - линия не черная, а тоже синяя, цвет 0 как прозрачность выходит что ли? Такая ситуация только с черным. Спасибо.



Вопрос отправлен: 06.12.2004, 19:49
Отправитель: Dimon

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Добрый день, Dimon!
SetBkColor(Цвет) - установка цвета фона.
SetColor(Цвет) - установка цвета линий.


Ответ отправлен: 07.12.2004, 09:41
Отправитель: sir henry


Отвечает DSota

Здравствуйте, Dimon!
Наверное, у тебя где-то вначале стоит
SetWriteMode(XORPut);
или OrPut, AndPut, NotPut.
Поставь прямо перед рисованием линии
SetWriteMode(NormalPut);
Хотя я может неправильно понял вопрос - "Но выходит так, что при изменении и цвета линии и цвета фона - линия не черная"! То есть линия была черная, ты изменил и цвет _линии_! и цвет фона и она стала не черной :))... Так ты же ее изменил, вот она и поменяла цвет.


Ответ отправлен: 07.12.2004, 10:11
Отправитель: DSota


Отвечает ALex_zaw

Доброе время суток, Dimon!
Во время смены цвета фона не меняйте цвет линии, оставте её чёрной и всё.

Ответ отправлен: 07.12.2004, 09:39
Отправитель: ALex_zaw


 Вопрос № 568

Здраствуйте. Как в граф-режиме (320x240x256) средствами Паскаля осуществить (очень) быстрый вывод большого числа точек на экран? К примеру для скроллинга всего экрана в платформенной игре. Спасибо.



Вопрос отправлен: 06.12.2004, 19:50
Отправитель: Dimon

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Доброе время суток, Dimon!
Очень быстро - это только на ассемблере. Паскаль включает в свой состав ассемблер, поэтому Вы можете писать процедуры и функции как обычно и делать внутри них ассемблерные вставки.
Procedure MyProc;
Asm
{Здесь пойдут команды ассемблера}
End;

Ответ отправлен: 07.12.2004, 09:44
Отправитель: sir henry


Отвечает ALex_zaw

Добрый день, Dimon!
Воспользуйтесь генератором случайниых чисел в цикле, только укажите границы соответственные.

Ответ отправлен: 07.12.2004, 09:40
Отправитель: ALex_zaw


Отвечает DSota

Доброе время суток, Dimon!
Все делается так же, как в режиме 320*200, единственная проблема возникает, когда у>204 (адрес больше, чем 65536), тогда приходиться менять сегмент.
И вообще, когда используються ссылки на память в _реальном режиме_! процессора
то верна формула
mem[SEG:OFFS]=mem[SEG+Int(OFFS/16):Frac(OFFS/16)];


Приложение:

Ответ отправлен: 07.12.2004, 10:00
Отправитель: DSota


Отвечает Boriss

Здравствуйте, Dimon!
В $13 режиме: reg: Registers;
reg.ax:=$13; intr($10, reg); - это то, что у Вас
каждому пикселу соответствует БИТ, начиная с адреса $A000, то есть mem[$A000:i]:=b; быстрее не бывает

Ответ отправлен: 07.12.2004, 09:13
Отправитель: Boriss



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (25)
C / C++ (24)
Perl (8)
Builder / Delphi (20)
Pascal (21)
Basic / VBA (16)
Java / JavaScript (8)
PHP (21)
Криптография (10)
WinAPI (22)
Радиоэлектроника (18)
Пользователю
Windows 95/98/Me (40)
Windows NT/2000/XP (61)
"Железо" (40)
Поиск информации (24)
Администратору
Windows NT/2000/XP (42)
Linux / Unix (19)
Юристу
Гражданское право (11)
Семейное право (6)
Трудовое право (10)
КоАП (6)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Web-студия "Kalashnikoff.ru"


hotlog_js="1.0";hotlog_d=document; hotlog_n=navigator;hotlog_rn=Math.random(); hotlog_n_n=(hotlog_n.appName.substring(0,3)=="Mic")?0:1; hotlog_r=""+hotlog_rn+"&s=25513&im=127&r="+escape(hotlog_d.referrer)+"&pg="+ escape(window.location.href); hotlog_d.cookie="hotlog=1"; hotlog_r+="&c="+(hotlog_d.cookie?"Y":"N"); hotlog_d.cookie="hotlog=1; expires=Thu, 01-Jan-70 00:00:01 GMT" hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2";hotlog_s=screen; hotlog_r+="&wh="+hotlog_s.width+'x'+hotlog_s.height+"&px="+((hotlog_n_n==0)? hotlog_s.colorDepth:hotlog_s.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; hotlog_d.write("HotLog") Яндекс цитирования
© 2001-2004 Россия, Москва. Идея, дизайн, программирование: Калашников О.А. ICQ: 68951340
При перепечатке материалов ссылка на данный сайт обязательна!

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.pasplus
Отписаться

В избранное