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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2007, 06:26   #1
Кролик
Пользователь
 
Аватар для Кролик
 
Регистрация: 05.05.2007
Сообщений: 16
Вопрос Как сделать гашение курсора

Подскажите как в программе на Паскале средствами Ассемблерного кода убрать курсор и вернуть его обратно
Границ нет, есть преграды.
Кролик вне форума Ответить с цитированием
Старый 19.05.2007, 07:39   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Может пойдёт, с помощью прерывания, устанавливаем курсор за пределы экрана (например на 100-ую позицию, первой строки)
Код:
asm
mov ah, 02h
mov bh, 0
mov dh, 0 {строка}
mov dl, 99 {столбец} 
int 10h
end;
Напомню: отсчёт позиции курсора на экране начинается с нуля, т.е. 0,0 - левый верхний угол.
zetrix вне форума Ответить с цитированием
Старый 20.05.2007, 18:20   #3
Кролик
Пользователь
 
Аватар для Кролик
 
Регистрация: 05.05.2007
Сообщений: 16
По умолчанию

Нет, такой метод в текстовом режиме не канает.
Сдесь если значение столбца привышает ограничения (80), то курсор автоматически переводится на новую строку. ТОже самое происходит со строкой.

Я слышал, что есть процедура позваляющая просто заглушать курсор.
Границ нет, есть преграды.
Кролик вне форума Ответить с цитированием
Старый 21.05.2007, 20:16   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

можно получить текущее положение курсора, потом установить цвет фона такой же какой цвет курсора
rpy3uH вне форума Ответить с цитированием
Старый 21.05.2007, 22:14   #5
Кролик
Пользователь
 
Аватар для Кролик
 
Регистрация: 05.05.2007
Сообщений: 16
По умолчанию

Нет, это понятно, но для этого нужно моного действий выполнить:
Код:
TextColor(ЦветФона);
Write(' ');
Cclrscr;
TextCoOlor(Нормальный Цвет текста);
Темболие, что здесь приходится очищать экран, а это не совсем удобно когда я вывожу какой то текст.

А простой функции просто меняющей цвет курсора насколько мне известно нет.

А на Ассемблере просто одна функция убирет курсор, причем так, что он негде не вылезет.
Границ нет, есть преграды.

Последний раз редактировалось Кролик; 21.05.2007 в 22:18.
Кролик вне форума Ответить с цитированием
Старый 22.05.2007, 15:45   #6
Кролик
Пользователь
 
Аватар для Кролик
 
Регистрация: 05.05.2007
Сообщений: 16
По умолчанию

Мне подсказали один вариант:
Код:
 
asm 
  mov ah,01;
  mov cx,$2000;
  int $10; 
end;
Как сказали он и должен обратно курсор включать, но он почему, то его не возвращает. Может кто знает почему и как эту проблем решить?

Границ нет, есть преграды.
Кролик вне форума Ответить с цитированием
Старый 25.05.2007, 16:34   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Не вижу проблемы , всё те правильно подсказали

Вот тебе страшная дема (FASM)
На паскале то же самое (asm "xxh" = pascal "$xx" если не в курсе)

Код:
org 100h

;Скрыть
   mov ah, 01h ;    функция 01 int10h
   mov cx, 2000h;  (ch=20h - скрыть)
   int 10h;            видеосервис биос

;Аникей
   mov ah, 01h
   int 21h

;Обратно
   mov ah, 01h ;      функция 01 int10h
   mov cx, 0FFFFh;  отобразить
   int 10h;              видеосервис биос

;Сам догадайся =)
   mov ah, 01h
   int 21h

;Эксит
   int 20h
Ина будущее: http://www.codenet.ru/progr/dos/
пыщь

Последний раз редактировалось JTG; 25.05.2007 в 16:45.
JTG вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисунок курсора Fellics{новичок} Помощь студентам 2 25.05.2008 20:04
Позиция курсора Манжосов Денис :) Помощь студентам 3 25.04.2008 16:56
Определяем вид курсора Komersant Win Api 3 09.10.2007 11:23
Координаты курсора Haster Win Api 8 06.08.2007 12:04
положение курсора mishel Общие вопросы Delphi 9 30.01.2007 21:37