![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 11
|
![]()
Здравствуйте, господа программисты. Нуждаюсь в помощи по следующей задаче:
"Написать программу, которая будет работать с видеопамятью. По экрану, содержащему некоторую информацию, справа налево “бежит” текстовая строка, программа должна работать резидентно. Текст, присутствовавший на экране до запуска программы, не должен портиться никаким образом. В программе следует использовать два обработчика прерываний – прерываний таймера и прерываний клавиатуры. Прерывания таймера регламентируют скорость перемещения объекта, причем параметр, характеризующий величину скорости, необходимо задавать с клавиатуры при запуске программы. Информация о параметре, задающем скорость движения, должна выводиться на экран при запуске программы без параметров." Подскажите, пожалуйста хотя бы как сделать, чтобы бегущая строка не стирала фоновые надписи (например результат работы команды dir). Остальное не проблема, разобрался. Накалякал вот что: Код:
Последний раз редактировалось Stilet; 04.06.2009 в 12:28. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Тебе в паскале в каком режиме то?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 11
|
![]()
В любом, но думаю в текстовом проще будет.
|
![]() |
![]() |
![]() |
#4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Максимум что ты добьешся это восстановление того что было на экране под надписью. Это легко. Считывай в строку из нужной координаты, а когда текст оттуда будеш передвигать пиши что сохранил в видеопамять Вот тут примерчик накропал. ТОлько резидентом его сделай и радуйси6 Код:
I'm learning to live...
Последний раз редактировалось Stilet; 04.06.2009 в 14:29. |
||
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 11
|
![]()
большое спасибо, Stilet. Оставил движение по горизонтали, строка бегает целиком, не исчезая частично за границы экрана, также оставляет за собой "след":
Код:
Последний раз редактировалось Stilet; 04.06.2009 в 16:04. |
![]() |
![]() |
![]() |
#6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
А-а-а стоп. Кажись допер Вот попробуй учитывать ее длину Код:
![]()
I'm learning to live...
Последний раз редактировалось Stilet; 04.06.2009 в 16:08. |
|
![]() |
![]() |
![]() |
#7 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
![]()
Чтоб по Enter строка не дублировалась, можно попробовать в структурах BIOS поставить 24 строки вместо 25. И монопольно рисовать на 25ой.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 11
|
![]()
Stilet, дак у меня так и написано))
OCTAGRAM, а как это будет выглядеть в программном коде применительно к моей программе? в резидентной работе этого кода при выводе команды dir строка изчезает... Ничего не получается, мысли уже закончились. Помогите пожалуйста, может кто-нибудь знает как это сделать... Последний раз редактировалось Stilet; 15.06.2009 в 09:14. |
![]() |
![]() |
![]() |
#9 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
![]()
Перехватывать прерывание int 10h
Перед вызовом старого обработчика стирать бегущую строку, после вызова восстанавливать. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 11
|
![]()
а можно пример программного кода?
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
бегущая строка | djes | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 22.04.2009 21:11 |
Бегущая строка. | blackstersl | Общие вопросы Delphi | 3 | 20.02.2009 09:43 |
Бегущая строка | vitamin.rulez | Помощь студентам | 8 | 28.01.2009 21:48 |
Бегущая строка и about | Патрон | Общие вопросы Delphi | 12 | 02.06.2008 22:31 |